Strategize Your Career

Strategize Your Career

Your combination of skills is your career advantage

An M-shaped career strategy for software engineers: combine useful strengths and make sustained progress with a main goal and side quests.

Fran Soto's avatar
Fran Soto
Oct 25, 2026
∙ Paid

Get the guide to build your first AI agent directly in your inbox with a newsletter signup:


Throughout my career, and even before AI, people have given me positive feedback about my writing.

They found value not only in fluent writing, but mainly in being able to explain complex things and gather a lot of information, and put it into a simple document where we can make a decision.

The reason why I am sharing this is that being good at writing gave me more value than being the best at one single programming language.

In this article, we will discover abilities that combine with your programming expertise. They will be very rewarding and powerful in your career.

Let me introduce you to the M-shaped career strategy.

👉 If this sounds interesting, subscribe now. 22,000+ engineers are already becoming more productive. Paid subscribers have access to premium resources


What an M-shaped career means for software engineers

People are M-shaped regarding their career when they have many areas of interest. They know enough to do some work in all those areas, but at the same time they are going deep in multiple of them. That’s why it’s an “M” because it has multiple peaks.

We have compared this directly with the T-shaped career strategy. In that one, we are fluent in many things, but we are very good at just one of them. This is useful by itself because it makes sense to be known for one thing because you do it very well. But at the same time, the problem is that it is very hard to be the best at that one thing.

Imagine that you are very good at the Java programming language. It is very hard to be one of the top ten people in the world programming in Java.

However, there is a more powerful idea which is called skill stacking. This is about the fact that it is much easier to be a good Java programmer who communicates well.

This kind of skill stacking allows you to reach better roles. For example, you can be a great developer, but if you don’t have any leadership skills or communication skills, you are not going to be a tech lead. The tech lead doesn’t have to be the best Java developer.

It’s quite the opposite. The value of the tech lead is about stacking skills that are very good together. Because you are stacking different skills, it is harder to find people with those same skill stacks. So you are competing with fewer people in the world.

Stack skills that let you own more of the problem

Coding, DevOps, product judgment and communication fit together as complementary engineering skills.

Let’s go with another example. Imagine that you are a strong Golang developer. You can keep pushing through the limits of Go, or you could add infrastructure and DevOps skills in order to contribute more to your team. You can keep learning Go, or you can add product judgment and improve the things that you build. You can also focus on communication to make proposals and trade-offs clear to the rest of your team and to leadership.

I can tell you that it is much easier, and you have a higher likelihood of success if you learn the different skills. And you have multiple of these chosen skills instead of just focusing on one and the rest being very average.

Let’s use these numbers that I made up to understand the idea. Imagine a $200k/year role:

  • You can be in the top 1% at Java to achieve this salary.

  • Or you can be in the top 10% Java developers with strong leadership skills and product judgment.

These percentages and the salary are hypothetical. The point is that it is easier for you to be in the top 10% than in the top 1%, because at those levels, each percentage point is very hard to achieve.

You’re essentially making your life easier because you don’t have to be on the very top. You just have to be in the upper mid-table.

A great way to develop those extra skills is to do an additional activity where that skill is the main thing. For example, I told you about my experience in software engineering plus writing. At work, my main thing is doing software engineering, of course. But here I have a newsletter where the main thing is writing. Essentially, I have two roles where I have a separate skill as the main thing. So, by the combination of these two T-shaped activities, each of which has a different skill, I’m becoming an M-shaped developer.

I have, of course, to give the caveat of being careful with which skills you choose. There are skills that are completely unrelated and that may not be useful together. Or even if they are useful together, they may not be useful at your job. For example, I can be a great software engineer and a great video editor. This means that I can create a YouTube channel for software engineering. However, my job may have zero requirements for video editing. So, in the end, I have skills, but I don’t have the right place to use them together. I may write an article about this in the future.

How I make progress without changing direction every week

Probably one of the objections that you have in your mind right now is that, yes, Fran, this is great for someone who has time to pursue several interests. But I don’t even have enough time to be a good software engineer because I have too much work to do. I cannot add more activities to my day. I cannot switch frenetically and rapidly between tasks and make zero progress.

This is where my productivity workstation, a resource that only paid subscribers have access to, comes into play. With it, you would be able to plan ahead for one main goal and other side quests, and be able to schedule those work slots through your quarters and then later through your weeks and days.

I try to plan my goals in the way that workstation shows it. For each year, I have a main goal. And depending on the year, some years have been about my work at Amazon to grow and get promoted. Other years have been about my personal projects. The key here for yearly planning, paid subscribers also have access to my yearly review template, is to make sure that you have a goal for that year, but that you are not repeating the same goal every single year.

A main annual goal and two smaller side quests progress steadily along separate tracks.

👉 If this sounds interesting, subscribe now. 22,000+ engineers are already becoming more productive. Paid subscribers have access to premium resources

This post is for paid subscribers

Already a paid subscriber? Sign in
© 2026 Strategize Your Career · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture