Are we in the Middle of a Programming Bubble?

Photo Credit: zacktionman



TL;DR

Rank and file programmers at the top tier tech companies now make $300 to $400 thousand per year.

Much of this is driven by large stock valuations.

Other career paths seem ‘harder’, and yet they’re not compensated as well.

Can this last forever?

I left Google to do a startup back in 2012. I was doing it for the prestige, and following my passion, but most of all, I was doing it for the money. I had dreams of striking it rich and never working again.

Ironically, if I had just stayed at Google I would have done better financially. I left right at the beginning of a wave. In January of 2012, Google’s stock price was $300. Now, it’s over $1,000, and it’s gone as high as $1200.

The other major tech companies are similar, which has supported compensation for rank and file engineers that we’ve never seen before.

For those uninitiated, it goes something like this (the numbers below are conservative given that I live in Colorado where the tech market isn’t as hot as Silicon Valley): You’re a ‘senior’ engineer with 5-10 years of experience, and you get hired at Google for an entry offer of around $215,000. That offer consists of a base salary of $120,000-$150,000, a 5-10% bonus, and the rest is equity. Your initial stock grant might be worth $200,000 (at Google’s current valuation). It vests over 4 years meaning it’s worth $50,000 per year.

So you go to work at Google amazed at your good fortune. The other offers you got were dramatically lower. They matched Google’s salary, and even the bonus, but they didn’t come close on the equity. Most of them didn’t even offer equity. The obvious exceptions are the companies in the same ‘class’ as Google: Amazon, Facebook, Apple, Microsoft.

So you start work, but where things really get good are in years 2-4. Assuming you’re performing, you’ll get ‘refresher’ grants. Let’s say you get a refresher grant worth half your original grant every year after you start. Again, each of the refreshers vests over 4 years, which means by year 4, you have 1 $200,000 grant + 3 $100,000 grants. Your total stock compensation is now $125,000 a year. So now your total compensation is around $315,000.

If you don’t believe these numbers, just ask around. Ask your friends at Facebook or Google, or look at Glassdoor. Most of my friends at these places make between $300 and $400 thousand per year. And this is in Colorado, where most ‘senior’ engineers are lucky to make $130,000. I think the situation is even more heated in Silicon Valley.

Now, I LOVE these gigantic salaries. Even working at a non-FAANG company, my salary has been driven continually upward because of the pressure that Google and friends put on the programming market.

I just wonder if these numbers are sustainable.

Usually when I explain this phenomenon to people, they think it comes with a catch. They’ll say ‘Yeah but I bet they work like 80 hours a week’ or ‘Yeah, but I bet the work is hideous.’

From working there, that wasn’t my experience.

First on hours: I worked a lot during my time at Google, but I think I was the exception, rather than the rule. The only reason I worked that much was because I love working. Nobody was forcing me to do anything. I’d be at the office when the cleaning people came around, and usually I was one of the last 1 or 2 people there. Everybody else went home between 4 and 6 PM, depending on what time they arrived in the mornings.

Second, on the work: programming at Google is like enterprise programming anywhere. You do a lot of maintenance of legacy code, a lot of refactoring, and a lot of integrations. Every now and then you get to work on something really new and exciting. Assuming you like programming like I do, this is perfectly fine. I just love programming; what I’m programming on is mostly irrelevant.

So, this brings me to my main point: I have a lot of friends in other industries, and they don’t make as much as we do, usually they work a lot more, and they’re more stressed than I ever am.

Let’s go through a couple of the other professional classes: doctors and lawyers.

To become a doctor you have to go through 4 years of medical school, and then 3 to 4 years of residency. Nowadays, that residency is typically followed by a 1-3 year fellowship, depending on your specialty. At least you get compensated during residency and the fellowship, but the salaries are usually something like $50-70,000 a year. And considering the hours you’re working, you might as well be a minimum wage worker or less. All of my doctor friends routinely pull 80 hour weeks or more. After all of that, you’re looking at $200,000-$600,000 a year for the rest of your career. So the ending salary is fantastic, but at what cost? You spent 10 years of your life, a bunch of money on medical school, and you’ve probably worked twice as many hours as most programmers.

I don’t know as many lawyers, but the progression seems to go something like this: you fight to get into the best law school you can find, and for 3 years you spend, spend, spend to get educated. Fortunately, after 3 years you’re ‘done’. Now, assuming you find a job in the over-populated legal market, you enter the desperate fight to make partner, which means working long hours for 5-10 years. If you make it to partner, you’re looking at a sweet life making at least $150,000 or $300,000 a year, and the hours are more reasonable.

Keep in mind there are exceptions in both of these paths. There are rock star surgeons who make $1 million a year or more, just like there are rock star lawyers. But I care more about the average case, not the exceptions.

As for other career paths: my friends in other industries seem lucky to break $100,000 a year. I only mentioned doctors and lawyers because they seem like the only ones who are compensated at a level close to the tech people at the Google’s of the world.

This brings me back to my central question: are we in the middle of a programming bubble? Many other career paths seem a lot harder, and yet as programmers, we’re still compensated more. Granted, how ‘hard’ something is can be a poor indicator for how well people are compensated, but it’s not negligible either. Usually one of the easiest ways to succeed is by doing things that other people are unwilling to do, meaning that if you choose a path with long hours, lots of stress, and lots of hardship, not many people will accompany you, and you will get compensated accordingly.

But in programming, it’s like we get to have our cake and eat it too. We have low stress, and we work relatively fewer hours, yet we still enjoy large compensation.

Don’t get me wrong, being a ‘good’ programmer is hard, and you’re continually in a battle to keep yourself relevant, so programming isn’t without its challenges.

But I still wonder if there’s something artificial going on. Maybe with how important software is becoming in the economy this is the new normal. But the fact that it’s only happened in the last 5-10 years makes me wonder if it will last forever. It’s also driven mostly by high stock valuations. If the stock market declines, most of these numbers would diminish significantly.

I also need to point out that this *only* seems to be happening in the FAANG companies of the world, which makes it even stranger. Like I said earlier, my salary has benefited because I used to work there, but I don’t see it happening more broadly. If software engineers were so valuable, you’d expect these benefits to propagate everywhere, but that doesn’t seem to be happening, at least not yet.

So as a programmer who’s worked at these places, I hope we’ll be able to count on compensation like this in 10 or 20 years. But I’ll also prepare myself for a time when these compensation numbers are no longer the norm.