Intro
How to grow from mid to senior level? That is a common question that a lot of engineers are asking and trying to get to know more about.
There are a lot of different ways to get there and in this article, we’ll break it down from the perspective of a manager.
I have collabed on this topic with
earlier this year and published a similar version of the article. You can check it out here: How to grow from a mid-level to senior Data Engineer or Software Engineer (paid article).What do I look for in a senior as a manager?
There are so many different things that make a senior engineer. If I can sum all of them in 1 sentence, that would be:
A senior engineer should be able to independently understand the problem and find the right solution to it.
I am not just talking about technical solutions here. I mean solutions across different areas including communication, collaboration, mentoring and helping others.
And by no means do I mean that you need to have the right answers on the spot. A senior engineer is able to find and gather solutions from various of different sources.
Software Development is too broad of a field to be an expert in everything or to know everything upfront.
As a manager, I wish to rely on a senior to make good decisions, do the right things and inspire others to do the same.
How to grow as a mid-level engineer?
As a mid-level engineer, you should already have a good understanding of various of different parts of Software Development. You are able to take the requirements and deliver the solution.
But what particular skills do you need to demonstrate in order to grow? Let’s get into that next.
1. It all starts with the drive and the motivation to learn, grow and improve.
One of the great things about our industry is that it’s a never-ending process of learning new things. And everyone should be learning new things all the time - no matter the title or seniority.
And that’s what I wish to confirm with a particular individual. Are they going to keep learning new things or they will stagnate and rely just on their current skillset?
It’s really important that you showcase that and here are some of my suggestions for doing that:
Have you learned something new? Share that newly acquired knowledge within the team.
You are always looking for ways to make improvements to the codebase or the overall architecture.
You become an expert in a certain domain and you are continuously learning and looking at the latest trends. People see you as the go-to person.
2. You are making others around you better
Software development is a team sport and great teams build great software, not individuals. It’s important that you are not just focusing on your own contribution, but you increase the scope from your own tasks to the team's tasks and outcomes.
The impact becomes very important and you should always ask yourself: “Is what I’m working on at the moment considered the most impactful thing?”.
Here are my suggestions:
You are mentoring and helping others to grow. You give feedback when you see fit and you look at code reviews as a way to help others to learn.
You share your knowledge by doing pair or mob programming sessions.
You take pride in creating a great onboarding experience for a new person who became a part of the team.
You can read more about how best engineers are helping others here: Best engineers are focusing on helping others (paid article).
3. You are focusing on building the RIGHT things
One of the biggest indicators of seniority is that you understand the importance of building the right things. You focus not only on delivering a great technical solution, but you focus on creating solutions that the customers are going to love.
You can build the greatest technical solution out there, but if the users are not going to use it, it won’t mean much.
You expand your view from the technical solution to business and product. You no longer just build straight from the requirements. You are challenging requirements and proposing simpler alternatives.
My suggestions:
Increase the scope of your work from your own tasks to the team / organizational level. This ensures that you know and understand the big picture
Don’t go straight into code when you are given a task. You want to understand the why behind it first.
Be curious about the business and the product and learn more about it. Try to put yourself in the shoes of the users.
Read more about the importance of business and product mindset here: A good engineer thinks like a product manager + 🎁 Notion template: List of questions to ask before making a technical decision included (paid article).
4. You are taking ownership and responsibility + you take initiative
If you see a certain problem in the codebase → you take the initiative to resolve it. You don’t blame others for the problem, but you take action to improve it and define steps to prevent it in the future.
You especially take extra care of the functionalities and the code that you have introduced. You are continuously creating documentation and doing great code reviews, so that everyone can easily understand what you have built.
One of the great ways to showcase that is to find an impactful improvement you can do in the codebase and you then own the implementation.
The more impactful the problem is, the more value you are going to bring to the organization, which results in faster promotion.
Here are my suggestions:
As said above, choose a problem in the codebase, propose a solution and own the implementation.
Focus on doing great code reviews, creating documentation and making sure that everything that you and your team build, works well and is providing value to the users.
You take pride in great communication and you take the initiative when your team is blocked to talk with necessary people and unblock the team.
5. Let your manager know about your aspiration
Last, but not least, make sure to let your manager know about your aspiration to grow to a senior position. The reason is that your manager might not see all the great things that you are doing and might not be focusing on giving you the promotion.
I recommend letting them know during your 1:1 meeting and also be curious about what skills to showcase in order to achieve that. If you are already showcasing the skills mentioned above, the conversation is going to be much easier.
Here are some more suggestions:
Keep a brag list of all the wins you have achieved. That ensures that your manager knows what you have contributed and it will keep you motivated to progress. Read more here: Keep a brag list of the wins you achieved, thank me later (paid article).
Treat your 1:1 meetings not as a status update, but take advantage of them for you to grow and progress in your career. Read more here: How to have great 1:1 meetings with your manager (paid article).
Try to find out what is the most pressing thing for your manager and find ways to resolve that. Read more about managing up here: How to manage up as an engineer or a manager (paid article).
Bonus: I am looking to promote engineers who are making my job as a manager easier
Keep this in mind, because you can be the best engineer in the world, but if you are not making your manager’s job easier, your chances for promotion might be smaller.
Managers normally have a lot of different things on their plate and similarly, like I do - other managers like to have people that they can rely on to get things done without a lot of supervision.
It’s impossible for a manager to be included in all of the small details and be the decision-maker for every little thing.
I am particularly looking for people that I can delegate a specific task or a problem and I’ll know that they will take care of it and being able to find the right solution and bring in other people as part of it if needed.
The reputation of the engineer is very important. Those who have a good reputation, will get more opportunities and therefore be promoted faster.
Here is what I suggest:
Be proactive and not wait for tasks to be assigned to you, rather find out what’s the biggest impact that you can provide and work on that.
Build a good working relationship with your manager + find out their challenges and problems and put your best effort into resolving them. You can read how to do that here: How to manage up as an engineer or a manager (paid article).
Don’t just come to your manager with the problems and expect that your manager will provide you with a magical answer. Rather think about different solutions and propose the one that you believe is the best. That’s what managers like to hear. This will showcase you as a good problem-solver with a “can do” attitude.
Last words
Focusing on the things mentioned above will get you to the senior level. But not just that → you will become a great person to work with in the team and very valuable for the organization!
We are not over yet!
I've had the pleasure to be speaking at the event here in Ljubljana, Slovenia called "The Modern Leader".
In the presentation, I shared:
a bit about me and my journey from engineer to CTO,
how I started and progressed with LinkedIn,
how I started and progressed with the newsletter Engineering Leadership.
Here are some pictures from the event:
Liked this article? Make sure to 💙 click the like button.
Feedback or addition? Make sure to 💬 comment.
Know someone that would find this helpful? Make sure to 🔁 share this post.
Whenever you are ready, here is how I can help you further
Join the Cohort course Senior Engineer to Lead: Grow and thrive in the role here.
Interested in sponsoring this newsletter? Check the sponsorship options here.
Book a Coaching and Mentoring or Consulting and Advising call with me here.
Take a look at the cool swag in the Engineering Leadership Store here.
Get in touch
You can find me on LinkedIn or Twitter.
If you wish to make a request on particular topic you would like to read, you can send me an email to info@gregorojstersek.com.
This newsletter is funded by paid subscriptions from readers like yourself.
If you aren’t already, consider becoming a paid subscriber to receive the full experience!
You are more than welcome to find whatever interests you here and try it out in your particular case. Let me know how it went! Topics are normally about all things engineering related, leadership, management, developing scalable products, building teams etc.
Great article, Gregor! I believe that to grow to senior faster, one should be more concerned with the bigger picture and be proactive in initiatives that can have a greater impact on the team.
Thanks Gregor!
One thing that I would add, because I've seen it too often in people wanting to be promoted: finish your job before starting to do extra. Even if you did something extraordinary, I will never promoted you if you tend to be unfocused and ignore the team priorities to follow your own interest first, even if the company benefits from it.