A word of caution for highly intelligent but otherwise regular (not well connected) people. The software industry is the most manipulated industry on the planet and in human history. If you work on any significant, high exposure project, be prepared for unimaginable political f***ery.

It's also one of the least meritocratic industries in existence because most big companies have monopolies and can afford to be extremely inefficient when it comes to software development. The bar is mediocre. You just need to rehearse your leetcode to pass the interview; beyond that, you just need to be very good in a tiny area. You will be so highly specialized in the minutiae of your role that basically you will be useless as a software developer. You better hope there exists an equivalent role in a different large company if you want to have any leverage at all in the market. Startups or any business which relies on efficiency and actual skills will not have any use for you...

Still, the biggest problem is just how easy it is for incompetent people to bullshit their way out of anything and the metrics that are used to measure performance are so objectively horrible that it would be better if no metrics existed.

I've been in this industry for over 15 years. Not sheltered by big tech. Careful what company you join because working for the wrong company can be literal hell on earth.

It is clear to me that this industry is still very new and almost nobody knows what they're doing. Most people who lead this industry are not equipped to do so. They just got lucky and now set the rules which are essentially arbitrary and change all the time because they suck.

It's not like Law or Medicine; these industries have existed in various forms for thousands of years and there is a lot of philosophy behind those. It's relatively easy to figure out who is a good lawyer or a good doctor. With software development, it's extremely difficult for people to do because there are many aspects to consider and almost nobody understands which ones are actually important.

Imagine being a really good surgeon with years of experience and a 100% success rate on your surgeries but the hospital fires you because one of your colleagues was jealous and filed a fraudulent complaint claiming that you don't hold your scalpel in the approved way. Without metrics to accurately measure individual performance, everything becomes political hearsay. It becomes all about stupid immaterial things and all the important stuff is ignored.

I hope this saves some people from suffering. I would not recommend this industry if you enjoy coding. There is a non-trivial chance that you will be a life of pain. Especially if you are skilled.

I have met some top engineers who were so bright, passionate and were pioneers in their area and ended up miserable and brought to the edge of insanity. If you don't have deep social connections to this industry or intelligence agencies or other entities that can give you an insider's edge, stay away.

There are many stories about software devs who ended up retiring from Microsoft or other to be goose farmers or similar. These people are not eccentric; they are rational... And these are the lucky ones.

You don't want to know what happens to those who got trapped in this industry, got their passion for coding completely beaten out of them and can't find any off-ramp.