The quickest way to become a senior software engineer

Getting to a senior position in software engineering is equivalent to getting a black belt in a martial art. You are now a member of an elite club.

The time it takes to become a senior software engineer varies. Some make it in less than five years. Some make it in more than 10. Some never make it in their entire career.

The reason why the time to become a senior software engineer varies so much is clear. Contrary to popular belief, a senior software engineer position isn’t something you are just given automatically. You have to earn it. To do so, you must develop certain skills and, to some extent, a particular personality type.

Today, I will tell you what specific things you should work on to become a senior software engineer as quickly as possible. These takeaways are based on the observations that I made working at different companies across the software industry and mentoring many people.

So, let’s begin.

What defines a senior software engineer

Before we can talk about what to do to become a senior software engineer, we need to have a clear idea of what a senior software engineer is.

A senior software engineer is not just someone who writes code. It is an experienced professional responsible for designing, developing, and maintaining software solutions at a high level of technical expertise. Such a person often leads projects, mentors junior team members, and makes critical architectural decisions.

Senior engineers focus on delivering scalable, efficient, and maintainable code while considering the broader system and business needs. They also collaborate with stakeholders to align technical solutions with organizational goals and often serve as technical leaders or subject matter experts within their teams.

So, as you can see, simply keeping improving your technical skills won’t cut it. You have to work on something else.

It’s not just about coding skills anymore

At the beginning of your software development journey, the ability to write code was all that mattered. You were probably given clear assignments with clear requirements and all you had to do was write code to fulfill those requirements.

However, as you can see from the above definition, the role of a senior software engineer is vastly different. It will now be you who collaborates with the non-technical business stakeholders and crystallizes business requirements into technical requirements. It is now you who ensures that those junior developers are given tasks they can understand.

So, you are now at a point in your career where your soft skills are way more important than your technical skills. In particular, you need to develop the following skills:

  • Be a good communicator, especially by developing the ability to translate complex technical concepts into something non-technical people can easily understand.
  • Being able to see things from the eyes of the business owners.
  • Being able to teach, mentor, and assess whether or not your mentoring

But don’t forget that a senior software engineer is still pretty much a hands-on role. You still have to write code, so your technical proficiency should still be strong.

Among the technical skills, one skill area you should be focusing on in particular is architecture and design. Writing small features is not sufficient anymore. You have to understand the whole system. Not only understand them but also be able to design them.

Pro-activity is your most important friend

Transitioning into a senior engineer’s position is a stage of your career when it’s more important than ever to be seen. Yes, your technical skills may be top-notch, you may understand the business requirements better than a business analyst can, and you can be the best communicator in the world. However, none of these will matter if you fail to convince others you have all these skills.

Therefore, the best thing you can do at this stage is to be proactive. Make sure everything you do is seen by others. Ask questions during the meetings. Write your achievements in a “brag sheet”.

Nobody will just promote you to a senior software engineer position out of the blue. They have to see you as a senior software engineer material. So you have to do all you can to make sure you are seen.

Focus on impact rather than activity

Another thing that changes when you become (or are about to become) a senior software engineer is the exact things that you do and the exact technologies (programming languages, frameworks, etc.) that you work with become less and less important. What people will care much more about is what impact you made.

This goes both for interactions with your co-workers and for writing your experience on your resume. As a senior engineer, you become one of the business stakeholders. As we already discussed, you are no longer just someone who uses specific technologies to solve specific problems given to you from above without having to think about how these problems impact the bigger picture. You are are one who primarily cares about the bigger picture.

So no, you are no longer “a C# developer that knows how to interact with SQL databases”. You are now someone who delivered a feature that made the app much more attractive to customers and resulted in skyrocketing app downloads. C# and SQL are merely tools to achieve this.

And once again, when your actions contributed towards the achievements of specific business milestones, write those in your brag sheet. Those things will then not be forgotten and you will be able to put them in your resume. You’ll thank me later for having a brag sheet and keeping it up to date!

Do it or you will be replaced

One absolutely important thing about the skills we discussed is this. A few years ago, it may have been optional for a developer to learn anything outside of hard technical skills. After all, not everyone wants to leave their comfort zone and become a senior software engineer. And that’s absolutely fine. Each to their own.

However, learning the soft skills and design skills is not optional anymore. If all you can do is write code based on crystal-clear requirements, then you have to understand that ChatGPT can do it too. Therefore, ChatGPT can replace you.

However, large language models, like ChatGPT and Copilot, are a very long way off from being able to emulate the soft skills of humans. They aren’t smart enough to understand all the nuances of the business context. They aren’t good at designing complex systems either.

So, even if you aren’t planning to become a senior software engineer, still just do it for your career survival.

Wrapping up

As the saying goes, you are the average of five people you spend most time with. So, if you are looking to level up, you are already in good company if you already subscribed to my newsletter. But let me also recommend four other technical content creators you can subscribe to. I know all of them and they produce tons of useful information.

The first person I’d like to introduce you to is Jade Wilson. She is a senior software engineer from Microsoft. She mainly writes about her personal experience of working in tech. Her every article is jam-packed with useful information.

The second person I’d like to introduce you to is Dr Milan Milanović. He primarily writes about software architecture. The thing he absolutely excels at is describing very complex architectural topics in such a way that they become easy to understand.

The third person is Stuart Todd. Recently, he wrote a series of great articles about SOLID principles, which every senior software engineer working with object-oriented languages absolutely must know.

And finally, the fourth person is Dariusz Sadowski. He is an engineering manager who spent a long career as a software engineer. His posts focus primarily on developing the right mindset to become successful in a software engineering career.


P.S. If you want me to help you improve your software development skills, you can check out my courses and my books. You can also book me for one-on-one mentorship.