Answer by Michael O. Church:
That’s actually not that high. Housing is considered affordable at 24-30% of a person’s annual income. That means that, at $100,000 per year, you can afford up to $2,000 to $2,500 per month. What can you get in San Francisco for $2,500? Or New York? You can get a decent studio or 1BR, but raising a family is impossible. Even in the Valley, what kind of house would you be able to get on a $2,500 mortgage?
In 1999, $100,000 was considered typical for a good software engineer in the Bay Area or New York, and $160,000 (plus equity, and not the 0.02% bullshit you see now) for a top-notch one. Those numbers, in 2014 dollars, would be $143,000 (on the high-end of the engineer pay scale) and $228,000 (unheard-of for a non-management corporate drone). Inflation adjusted, the picture has become worse– moreso if you include increased costs of housing, health insurance, and the like.
Software engineers aren’t a privileged set. They’re just less fucked than the rest of the U.S. Former Middle Class.
Additionally, the income trajectory of a software engineer flattens out very quickly. The Bay Area software engineer may start at $100,000, but to get to $150,000 usually requires moving into management. Moreover, the software industry is fighting a paradox-of-plenty; because the victories are so remunerative (to the business, not the engineers) this industry allows an incredible amount of mismanagement. So that (software management) is a harrowing, un-fun path to take with a high burn-out rate. Executive and founder roles at startups are what bottom-10% McKinseys and Goldmanites fail into. Software engineers eventually get sick of answering to idiots and burn out, and if you rise into middle-management, you’re in the even-worse position of having to motivate smart people to answer to idiots you pretend to respect because it’s your job.
Finally, there’s the age discrimination. Few educated people consider the median major league athlete overpaid, considering the short length of that career. Now, it takes decades to become a great programmer, but great programmers tend to be older (with a few exceptions, late 30s at least) and the Valley doesn’t like age. (It also, for the most part, doesn’t have much demand for great programmers. For most of these bullshit products, clueless young people will do.) If you can become a consultant, you can have a pretty good life for yourself, but that requires an entirely different skill set that a corporate job won’t teach you. If you find your way into a research group, you can offset the age penalty (because R&D people actually get intellectually stimulating work and don’t turn into zombies or executives by 35) but that tends to require a PhD. Or, there’s management, but I already addressed the negatives of that path.
This idea that software salaries are “crazy” is not only inaccurate, but deeply harmful. It needs to end now.