Why Software Engineering is the Best Career Path
It’s all in the title – in this post I’ll explain why I think that software engineering is the best career path for most people.
So if you’re yet to start your career, pay special attention because this post might significantly affect your future.
And if you’re already in a completely different field, you’re also welcome. I won’t blindly check boxes to prove a point, but will use software engineering as a benchmark to describe certain characteristics I consider a quality career path should have. Let me know which similarities it shares with your current profession.
With that said, let’s dive into it.
Demand
I’ll say it right away, as it’s pretty obvious and expected.
A career path can’t be remotely qualified as “best” if it’s in a field in low demand.
The good thing about a field that’s in demand is that you’ll be able to choose what’s best for you and earn a fine salary in the process.
But yes, other professions are also in demand and highly paid – doctors, lawyers, you name it… What makes software engineering so special?
This is the difference: software engineering is not in demand because of low supply. It’s not demand caused by a highly specialized field in which finding talent is rare. Software engineers are in demand because they’re needed everywhere.
And although most places don’t even require a high quality supply, you could earn more and feel better if you decide to improve your skills along the way.
Income and opportunities
Let’s say a certain turn of events cause a doctor to have enormous amount of stress at work. Of course, I’m talking about politics, as the work itself is almost never an issue… Nearing a foreseeable burnout, he decides to take a sabbatical.
Or does he?
With only the local public hospital and only a handful of private ones where he can practice his craft, he should be a bit more careful how he chooses to allocate his freedom. Maybe it’s still a bit early to show that he’s already a depreciated asset nearing its residual value…
Anyway, a doctor is a high earner. So if he accumulated FU money this is a completely different story.
However, let’s not forget that the path of earning the right to use the title and make big bucks require you to sell your soul in the process. The path behind might be colored with your blood, sweat, and tears, so you can enjoy the highest of the salaries in your forties.
Don’t get me wrong, I don’t think that 40 is old or late. However, I know that a good software engineer with 5 years experience can earn at least 70-80% of what these people earn.
And yes, it’s somewhat smaller, but it comes packaged with the opportunity to start building wealth as early as possible, enjoy the magic of compounding, and not accumulate opportunity cost with each opportunity that arises.
Note: I understand that the numbers I shared differ significantly if the doctors or lawyers have their own private practice. But same goes for software engineers who consult independently. We’re comparing wage slaves in this post.
At the end, every qualified individual will be highly paid.
But in many careers you need to wait 20 years for that to happen.
In software engineering you can become “senior” within a couple of years if adopting the right approach. You can also remain in a range below and still earn a multiple of the average salary. You don’t get that as a junior accountant, nurse, or paralegal.
And lastly, indeed, doctors can also change employers, lawyers can also pivot, analysts can choose from banks, to financial institutions and funds.
I agree.
However, software engineering is one of the rare career paths in which you can change fields easily as well. And we can decide to take time off at our leisure, get new jobs, switch countries and fields without the risk of starting from the bottom. At the end of the day, you bring skills that are applicable to a wide range of fields… Such as… Everywhere?
“Code to an interface, not to an implementation”.
Low risk, long-term potential
We compared software engineering to other high paying careers, but what about those that are able to “sell us this pen”? The successful ones – who hit the phones, made it big, and have something to prove it.
Yes, the fixed salary of a software engineer indeed may be lower than such cases. But let’s do a thought experiment.
Let’s get 100 junior software engineers and 100 junior sales representatives. Let’s say we give them 10 years to build their skills and master their craft while living in a real environment where they need to pay bills, eat, sleep, and earn…
Which of the groups you think will outperform the other in terms of income at the end of the term? Think about it.
I got this idea while reading the book “Fooled by Randomness” where the author gives the example of a lottery winner and a dentist. If both are born again X times, how many times will each of them be able to replicate the success?
The reality is that many sales reps earn close to minimum wage and variable commissions. And if you don’t earn commission for yourself, you’re not a valuable asset to your employer as well, and you’ll have to search for a new master to pay your bills.
A high risk career can not be declared as “best”.
Stressful but secure
I was pretty brutal about the requirements and assumptions that come with software engineering in the Engineers on FIRE post. So how come that I glorify the same thing here?
Let me try to explain it.
Yes, software engineering is indeed stressful and associated with pressure, almost no emotional reward, and burnouts for many people. If you zoom out though, you’ll see that it’s only internally stressful.
Since it’s a term I made up, I’ll explain what I mean by that.
Technically… Physically as well… When you arrive home you can chill out.
I know, I know… You bring your work at home as well, you need to prepare for the following day, the upcoming release is nearing the deadline… I get it.
However, unlike someone who has a “stress free” job (for example working at a corner store for 20 years), here’s a reality check:
You don’t have the stress that if you screw up big time you’ll be left unemployable, with your mortgage on your shoulders, without real skills to close the gap. Okay, unless you’re 55 and made all the wrong financial decisions in your life. So if you’re yet to be 55, start saving now – the rest will come into place eventually.
And if you happen to find yourself unemployed for any reason, the experience you acquired during the years will allow you to land a job within a couple of months – and that’s if you’re picky.
Financial stability is a quality that not many jobs offer and, as a software engineer, you’ll always have it.
And if you despise where you work, change jobs. You may get a nice salary bump in the process. If you can’t, take the pay cut – you’ll still do fine.
No need to identify yourself with it
Let’s go back to the assumption that all employees need mental recovery. A counter-argument can be made that people in certain professions don’t need “time off”. It’s their life! It brings them fulfillment because they feel the rewards of gratitude and contributing to society.
First and foremost, let me acknowledge this.
Indeed. Software engineering is one of the few careers where you’re almost guaranteed to feel like a shadow in the background that builds something promoted by and attributed to other people, while you’re not compensated sufficiently for being a ghost writer. Based on my analysis, the emotional rewards are on the lowest tier. That’s why most engineers end up loving the work but never being really 100% satisfied with their job and feeling underpaid.
As someone who directly helps people, you might actually love your job. But there is also… Just a tiny little… Infinitesimally small chance… That you might… And just might… Not.
No contract comes with a guarantee to bring you fulfillment in the future.
I’ve seen cases when even people with reputable professions that come with high social status and admiration regret their life decisions, but life’s just good enough for them to change after all they went through. I’ll spare the details, but might write a separate post about a few examples.
Software engineering is one of the rare fields when you can accumulate FU money granting you the ability to say FU to anything or anyone without (m)any downsides. No need for networking, no need to care about burned bridges. No need of putting it as a middle name and certainly no need of associating your personality with it.
You can (and many lost souls do) change your personality for your job, but you don’t have to. This isn’t true for professions which assume your life instead of your working hours.
By the way, same can be said for most craftsmanship careers or specialized help. But the difference between most of them and SE is that they’re in high demand because of low supply. And with most of those, you’re not guaranteed a stable, above average salary with a variety of companies, countries, and fields to work in.
What are the downsides then?
Look no further than the post Engineers on FIRE. Every downside is right there.
Comments: 4
I’m an engineer but not the software kind, I’m the chemical kind. But one problem that engineers don’t always realize is we can do this kind of work pretty easily and even find it challenging and enjoyable. But I really think our brains are wired differently than most normal people. Most normal people find the kind of math and logic based systems that comprise most all kinds of engineering to be enormously difficult to master and also they generally don’t find this kind of work to be much fun. Its kind of introverted and intense and, well, its just crazy hard unless you have that engineering mind, which is pretty rare. I agree with all your points and a lot of them apply to the more old fashioned kinds of engineering like mine too. But I think for a lot of people these fields are just out of reach not because they aren’t smart enough, they just aren’t smart in the same way engineers are.
A lot of the software “engineers” nowadays are not really engineers.. but code monkeys copy-pasting stuff from stackoverflow and open-source code written by actual software engineers.
Software development is a great career path, although it’s getting saturated fast. A common rate thrown around the internet is that the total number of software engineers in the world is doubling every five years. At the same time it is also getting easier and simpler, as faster hardware is able to support more and more levels of abstractions; this likely accelerates that rate. Soon enough it will reach a similar status as older and more stable fields, like doctors, law, etc. and all the benefits we enjoy right now will slowly start vanishing.
Absolutely – I said it in the post as well “most openings don’t even require a high quality supply“. Although still not in “bubble” territory, oversupply might bring us there, unless it’s met with the adequate increase in demand.
But yes, the fact is that it’s indeed getting saturated at a certain rate. That’s why everyone, not only engineers, need to make smart financial decisions and maintain the ability of generating income regardless of technologies, fields, or god forbid, employers.
I agree fully.
Just give me problems to solve and I’ll never get bored. 🙂