How to make the most of your software engineering career

Are you afraid your software engineering skills are becoming outdated and your career might be over soon? It’s true that year after year certain software engineering skills get outdated as newer technologies emerge and with that groups of software engineers fall out of demand.

So how can you ensure to keep up with the rate race year after year, decade after decade?

Make the most of your software engineering career: Go deep, then go broad. Repeat.

In this article you can discover a simple mental model how to approach your career and make it last for as long as you want: First you have to go deep. Then you go broad. Repeat.

Start where you are and go deep

The starting point for your eternal career is right here, right now. Get better at what you’re doing. Immerse yourself into your current job. Ask yourself this: What do you need to learn and understand to get better at your current job?

Over time your understanding will be so deep that you can see the connections between your specialisation and related topics clearly. Let’s make that more concrete with an example.

You’re a web developer working with Ruby on Rails. You ask yourself what you need to learn and understand to get better. Through that question you discover that you need to improve your database design. You also lack understanding of some Rails-core parts which you start exploring. You see the importance of performance optimisation for your current job so you go deep into the Ruby performance optimisation rabbit hole. You also immerse yourself in topics like caching.

Maybe you’ll also find that the process of delivering software better and faster is crucial to improve. So you dive into Continuous integration and delivery, DevOps and agile processes.

The T-shaped software engineer is a specialist

There comes a point where you can see how it all relates to each other and what matters most. You see the forest and not get lost in the trees. You went deep into one topic but you gained a general understanding about related topics. You’ve now become an expert in your current job, maybe you’ve transformed into a Senior Ruby on Rails engineer in the process.

You might have heard about a T-shaped knowledge profile. This is it. You have a general understanding about related topics and you are highly skilled in a specific niche. But this is only the start of your eternal career.

Broaden your skills

The next step in your career is to discover this breadth for a while. Use your understanding to optimise between the topics, where your application meets infrastructure, where process meets code. Find a way to optimise your deployment pipeline, or maybe your pull request review process.

Maybe as a Senior Ruby on Rails engineer you’re drawn into caching and that lead you to working with Redis. Or you saw the biggest issues not to be in the code but in the process. You’ve developed strong opinions how a team should function and what should be built. Are you seeing your technical skills more as a means to an end to build great products? Sounds like you’re thinking like a product manager.

It’s also time for some introspection: What of those topics interest you the most?

Since you’re not just looking for a new hobby but something to you want to get paid for, you should also do some market research. Is that topic in high demand? Is demand for it growing? Assess the market demand by looking at job ads, developer conferences offering talks and workshops for the topic and a general buzz on StackOverflow and HackerNews about the topic.

If you want your career to last you should follow the money.

Go deep, then go broad. Repeat.

You have now completed one loop of the cycle which can forever fuel your career. It’s important that you build a mindset around this idea so here are some thoughts to make it stick.

You’re not changing careers you’re stacking them

When an engineer transitions from a software engineer to product or people management we often talk about “switching careers”. But it’s important to understand you don’t throw away everything you’ve built before and you’ll not forget the important aspects of it. You’re building your new career on top of your existing one.

The broken comb profile

Just like the T-shaped profile there is also the broken comb. Your knowledge profile looks like a broken comb once you have repeated the “go deep, then broad” cycle a few times. You have a broad understanding on many topics and deep, specialised knowledge of a few skills.

You are the creator of your software engineering career

Titles don’t mean much in our industry. The CTO job of a startup has nothing to do with the CTO job of a fortune 500 company. Career levels in many companies might look similar from the outside but none are alike. There is no universal law how a career should evolve. It’s down to your ability to connect the dots. Craft an interesting story how you turned from software engineer to product manager to agile coach – it can help you getting hired tremendously.

Take charge of your career to make it last

Don’t let any company define your career path. Be the author of it yourself. Specialise in one area and then discover related topics until you find one that sparks your interest and is in market demand. By repeating the “go deep, then go broad” cycle over and over again you can make your software engineering career last as long as you want.