Why Programmers Have a Tough Job
![...](/img/tough-job.jpeg)
In one of the projects we're developing, 85% of the code volume is from third-party libraries. That is, these are the libraries that need to be installed in the project so that the other 15% of the code can work with something. There are a total of 93 such libraries.
Since the software market is very large and attractive (hundreds of billions of dollars), there are many players, and the competition is frankly fierce. Players try to innovate, create new features for products, make improvements, in order to stand out favorably from their competitors. In most cases, all these improvements are essentially complete nonsensical nonsense.
If you stop releasing new versions, you can quickly start losing market share. After all, a competitor will continue to vigorously imitate innovation every month, release versions, press releases, create news hooks, and speak at conferences.
Programmers have to adapt. With the release of each new version, they need to see how it differs from the previous one and update their current project. As a result, a good part of a programmer's time is spent not on solving the task at hand, but on upgrading libraries, tools, services, and fixing all the inconsistencies in integration that arise from this.
And this gets very tiresome quickly.
Can you stop and not update libraries? I do not advise it. Over time, old libraries stop being supported by their manufacturers. First, it becomes impossible to compile the product. And then even the compiled ones stop working. The second aspect: the market demands specialists who can work with modern technologies, not with Algol 68 or Delphi (remember how hyped that technology was?).
Yes, programmers are well paid. But if you consider motivation besides money, employees are also motivated by success: successfully completed projects, and in the short term - successfully closed tasks.
And there is also a big problem with this: if you need to constantly integrate new libraries with which there is no experience, then both the estimation of labor costs and the reliability of the solutions obtained suffer greatly. A programmer is forced to constantly study the features of new libraries, adapt to them. And the fact that it is impossible to predict the outcome of a task in terms of labor costs and reliability is very demotivating. A modern programmer rarely leaves work happy: "I completed my tasks and I did the job well".
This is one of the reasons why programmers burn out very quickly. It seems they are paid well, but the job is complete crap.