I'm glad I took the off-ramp from software engineering
A letter to my very stupid 22-year-old self
Dear Stupid 22-Year-Old Self,
Congratulations on your shiny new computer science degree! You won’t be needing that anymore, feel free to forget all about it.
You like writing code, which is convenient, because all you’ve heard from your parents and teachers is that Working With Computers (tm) puts you on a steady career path that will just trend upwards over time.
They’re wrong.
You think that $500,000+ comp packages for “senior software engineers” are a law of the universe, that they’re waiting at the end of the rainbow for anybody who can crank enough leetcode to pass a technical screen.
You’re wrong about that, too, although it’ll be a few years before the tech bubble boils down enough for you to see why.
You think that you’ll never have to become a manager, because “IC” (individual contributor) tracks at the FAANG companies go all the way up to Distinguished Engineer. That’s a VP-level position! You can get paid like an executive without ever having to do anything but write code.
Except, you can’t. As in: you, specifically, probably can’t.
Your parents and teachers did a good job convincing you that it was foolish to bet on becoming a concert pianist or a major league baseball player. You have to be a genetic freak to get one of those jobs, and probably rich and well-connected too.
What they didn’t mention is that becoming a Distinguished Engineer at Amazon or Google is an order of magnitude harder than reaching the top as a professional musician or athlete. I’m not exaggerating. The NBA has the smallest roster sizes in North American professional sports; there are something like 500 active NBA players across all 32 teams.
Last I checked, here in the far-off future year of 2025, there are about 50 Distinguished Engineers at Google.
Your teachers tell you that you’re smart and ambitious. So be smart about this. Pulling down a 7-figure salary as a programmer is not an inevitable end result of grinding away at software engineering jobs for 30 years. It’s more like winning a Grammy: nice if it happens, but you can’t really plan on it.
In fact, you’re not going to have a 30-year career in software engineering at all. You’ll wash out before you’re thirty. A lot of people do.
Sure, you’ll zoom upwards for awhile. I know it’s hard to believe, but you can be in the top quartile of professional software engineers just by showing up on time, reading the docs, and caring even a little bit about the quality of your work. That level of effort will get you a “Senior” title; a bit of job-hopping will boost you past “six figures” up toward the coveted $200K salary marker.
Then, slowly but surely, you’ll look around for the next step on the ladder and find you can’t see it in front of you. The shop across town might offer a better title, but they can’t really up your pay very much; you’re already one of the highest-paid engineers at your current job.
Dax Raad is out of line, but not wrong, when he points out that most dev jobs have a skill ceiling. At some point there is only so much marginal value your 10 years of experience can provide over a hungry 5-year veteran who will work for less. And a skill ceiling is a salary cap.
You are going to find out that the salary cap on your IC career kicks in lower and sooner than you think. You will probably learn this right about the time you realize that your family’s expenses don’t seem to have a ceiling anywhere in sight.
Want one of those $500K+ total-comp FAANG engineering jobs? They’re getting harder and harder to find and more and more competitive to win. And holy cow, the people getting those jobs are smart. Like, 99.99th-percentile smart. They’re “good at programming” the way Steph Curry is “good at shooting 3s.” Be honest with yourself, that’s not you.
Maybe it’s time to join a startup? You’ll gamble your future on a lower salary and a bunch of lottery tickets called “equity”.
Maybe you should take the engineering management track? It’s gonna start looking a lot more like “management” and a lot less like “engineering” as the years roll on. And while there are more traditional engineering VPs at Google than there are Distinguished Engineers, we’re still talking NBA roster numbers here. Not a game you want to bet 20 years of triple-booked meetings, always-on availability, and general misery on.
You are an average-to-slightly-above-average software engineer, and average software engineers don’t have a 30-year career of upward mobility in front of them. You get ten years to build a career. Max. After that, it’s just a job.
I can hear you objecting (you’re me; I know how you think). But there are lots of people still doing fulltime software development after 20 or 30 years.
Sure, but look at what they’re doing. Are they in the same salary band, same basic job description they were in ten years ago? Are they kind of just bouncing from company to company, making lateral moves, seemingly unsure even what they want out of their job at this point?
Yes, tech is ageist and prefers to give opportunities to young people. But life is kind of ageist, too. Staying on top of all the programming languages and frameworks and new architectural frills is exhausting. To avoid burning out, you will instinctively start putting up walls in your mind to protect yourself from the neverending barrage of nonsense. And that’s how you miss out on the next hot thing, the thing that pays really well.
Oh, speaking of, that brings me to AI. Yeah, we have AI here in the future. It’s pretty magical, except when it’s totally terrifying. One thing it does is write code really, really fast. So fast that even Amazon’s CEO is now saying that most developers won’t need to write their own code 24 months from now.
Whether or not that’s true, AI will shatter your illusions about the value you think you provide to the world. It is not about how fast you can write clever code. It has always been about how well you can solve human problems, sometimes even while employing technology. AI coding tools still need a human in the loop. Are you prepared to be that human?
(By the way, nobody ever got to Distinguished Engineer by being the fastest at typing code. Being a technical person who can also make smart decisions alongside other people is highly Distinguishing.)
Stupid Past Self, you get ten years to write code as your primary thing, before AI really kicks in. Use that time to become a well-balanced human being. Give talks. Write books. Play music. Spend some time working undercover in sales and marketing.
Software-career thought leaders will warn you against taking an “off-ramp” from engineering. What they’re not incentivized to tell you is that eventually, the off-ramp comes for all of us. Take the off-ramp before it takes you.
Shed the ego that tells you only engineers are doing worthwhile work. That ego is holding you prisoner. It’s trapping you under a career ceiling that’s lower than you think.
A wise friend likes to say to fellow engineers: “If you’re not the boss by the time you turn 50, you’re *#@%ed.” Someday, Stupid Past Self, you will take the scariest step of all; you’ll strike out on your own, where the ceiling is limitless and the floor has no safety net. You won’t necessarily be writing a lot of code, but you’ll be solving more problems-per-hour than you ever did when you were a DevOps engineer.
I don’t know if you’ll make it or not.
But I do know this: You have only a few short years to be who you want to be. Make them count.
Sincerely,
Your Very Stupid 32-Year-Old Self
Just For Fun
Expecto Mandatory Security Training!
Everywhere I look, it’s doom and gloom. Reading nothing but negativity has started affecting my worldview and my life.
I am less than a year away from completing my undergraduate degree in Computer Science and Data Science. A year ago, everyone congratulated me on my hard work and wise decision-making. Over the last six months, though, all I’ve heard is how I’ve wasted my time, how there are no jobs, and how a college degree is supposedly worthless.
I’ve been told multiple times that tech is dead and I should become a plumber because “the trades are the new master’s degree.” Well, you know what? I don’t want to be a plumber, and I am tired of the negativity.
I’m not pursuing a career in tech for the paycheck. Anyone who chooses a career solely for the dollar amount is setting themselves up for a life of misery. I’m on this journey because it aligns with my interests and passions.
To the best of my knowledge, few career options out there guarantee a $500k salary, let alone make it achievable. My family can live a fulfilling, happy life on $60k a year, anything beyond that is just gravy.
i dont care about AI but i always say please and thank you to alexa just in case