View profile

Coding Career Endgames

Coding Career Endgames
By Mastering JS Weekly • Issue #56 • View online
The Coding Career Handbook has quickly become my go-to answer for anyone looking to get started in Software Engineering. It does an incredible job of explaining all the “unwritten rules” of how to learn to code, how to land your first software engineering job, and how things work at software companies.
But software engineering careers don’t last forever. According to some studies, the average age of a software engineer is 28, and many people opine about why there seem to be few software engineers over age 35.

Nothing lasts forever, neither November Rain nor software developer careers
Nothing lasts forever, neither November Rain nor software developer careers
Being an individual contributor is an excellent career path. But it comes with some limitations that may contribute to the drop-off:
  • Being a high ranking IC comes with a lot of pressure to constantly produce top-quality work on top of being on-call for any issues that pop up with existing work.
  • The more work you produce, the more work you have to support, and getting help to support existing projects can be an uphill battle.
  • Legacy corporate hierarchies prioritize people management: the more people report to you, the better. As an IC, you’re inherently at a disadvantage because you have few, if any, direct reports.
  • As an Engineer, you aren’t directly responsible for revenue, at least not in the way a salesperson is. That means your return on marginal effort is less obvious: you can work long hours to ship and support a massive new product and not receive any extra pay, whereas the salespeople selling the new product you built often receive commissions.
So let’s talk about the end of the story: what’s next after you’re firmly on the Individual Contributor (Staff, Principal, Distinguished Engineer) track?
Career Technologist
Despite these limitations, there are plenty of developers that continue to work primarily as software developers for their entire lives. A classic example is Ken Thompson. He started as a Software Engineer at Bell Labs in 1966, where he was one of the primary authors of Unix, the C Programming Language, and the UTF-8 encoding scheme. In 2009, he joined Google and was one of the primary authors of Golang. That’s over 50 years as a software developer!
Developer Advocate/Solutions Architect
Developer Advocate and Solutions Architect are a good option for people who love to code, and prefer to spend more time building new projects and hyping their code rather than maintaining old code. As a Developer Advocate or Solutions Architect, you’re more responsible for selling ideas than building and maintaining software. This lets you always focus on neat green field projects that get communities excited, rather than being on call for legacy projects.
Manager/CTO
Another alternative is become someone who effectively delegates the responsibilities of writing and maintaining code. There’s a variety of titles that may fit the bill: Engineering Manager, Product Manager, CTO, etc. but the key point is that you spend most of your time scoping out projects and managing a team rather than building software yourself. There are a couple of benefits. First, you fit better into the traditional management hierarchy, which means the potential for higher pay. Second, you have much more leeway when it comes to delegating tasks than an engineer.
Solopreneur/Freelancer
Running your own business is an interesting option because you get the delegation benefits of being a manager, but you also get to avoid the traditional corporate hierarchy. Being a Solopreneur can be the best of both worlds between Career Technologist and Manager/CTO. You also get more flexibility in determining how much you work and what you do on a day-to-day, ranging from being the “Tech Contract Guy” to running a single-person $1M/year SaaS business like Mike Perham. The major downside of being your own boss, though, is that your boss never leaves you alone.
Early Retirement
Make no mistake, Software Engineering can be an exceptionally lucrative career if you play your cards right. Becoming a millionaire within 10 years is fairly attainable if you get a job at a FAANG company, even without a big exit or lofty title. For example, after 14 years in Bay Area tech, Leah Culver bought a $3.55M “fixer” and planned to spend an extra $3M to renovate it! Not half bad. And, if you have over $5M in post-tax brokerage accounts, does it really make sense to work for a $200k base salary when you can make that much off of investing in blue chip stocks? If there’s something else that you passionately want to pursue, then leaving the software industry altogether might be the right choice.
MasteringJS.io is sponsored by Vue School. Check out their Vue courses today!
MasteringJS.io is sponsored by Vue School. Check out their Vue courses today!
Most Recent Tutorials
Global Variables in JavaScript - Mastering JS
Calling Axios as a Function - Mastering JS
How to Use Mongoose find() with Async/Await - Mastering JS
The `db` Property in Mongoose - Mastering JS
Other Interesting Reads
The Meta-Creator Ceiling ∊ swyx.io
State of JS 2020
Did you enjoy this issue?
Mastering JS Weekly

A weekly summary of our tutorials

If you don't want these updates anymore, please unsubscribe here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Powered by Revue