7 karma · joined January 7, 2020
Of course you also might exhaust yourself to some degree, as your own expectation might be that you can develop multiple things in parallel, while also having to review a lot of code where you might not have context, so in a way you have to hold more high level context in your brain state, what might be somewhat stressful. However, when you have been tech lead once, all of that is somewhat familiar.
The developers are basically invisible to upper management. PMs are the point of contact which translate between higher managment and the devs. Higher management often operates on such a high level, that they are disconnected from reality and work on a abstract level, basically using the inputs of the PMs. The PMs often also were never that technical, instead they realized soon that career progression is only possible in mgmt. This leads to the incentive to spawn new projects a PM can lead.
Eventually there are too many (poorly defined) projects with too few (original) developers. New developers are unhappy since they have to work with legacy code and the devs who are spread over multiple projects and still have some original knowledge, don't have enough time/incentive to properly take care about project development (plus, spent a lot of time in "agile" meetings for each project). Adding no career paths for devs (since the company only focuses on mgmt), this leads again to the starting point, where the ICs leave the company.
― Warren Buffett
Contentwise, I have the feeling that there are at least 3 distinct skill sets with ~ 10% overlap for a swe career: Passing coding interviews, actual software engineering, climbing the corporate ladder. There is certainly a web comic for that.