How I went from Senior Engineer → Tech Lead
A two-part series about everything I’ve learned going from a Senior Software Engineer to Tech Lead to Engineering Manager.
Hey friends, Caleb here 👋 I hope these articles provide massive value as you look to level up in your software engineering skills and career. Thank you for your support and readership, we hit 27,558 readers this week 🎉
In last week’s article I shared 15 ways to Supercharge your Career Growth, I’ve learned after 10 yrs of working as an SWE. Highly recommend reading if you missed it!
I know a lot of us engineers hit senior engineer and then wonder what’s next for our career.
Should we go into management to get paid more? Or should we continue down the IC track, and find a company that will pay / promote us to a staff level?
I’ve asked those questions so many times over the last 3 yrs or so, and now I’m actually doing it 😅
I’ll be sharing my journey from Senior → Tech Lead → and eventually Engineering Management. I hope it’s a help to you and inspires you to continue on towards your goals. 🚀
This week we’ll dive into Senior Engineer to Tech Lead.
Let’s dive in 👇🏼
From Senior → Tech Lead
Several years back, I was performing well as a Senior SWE and I remember sitting down with my manager and asking: “What skills do I need to develop to grow into a tech lead?”
I knew the tech lead role would be a good hybrid between a Staff Engineer, and an Engineering Manager but I wasn’t quite sure which path I wanted to take yet.
My manager shared that I had some work to do before becoming a tech lead, and wanted to see me also hit my Senior 2 promotion that year.
Here is a list of things I worked on towards both goals:
Helping with onboarding
Building out missing documentation
Crushing all the projects assigned to me
Being the go to person for answering product technical questions
Giving strong and useful code/technical-spec reviews across my products
Continuing to earn the respect of peers, PMs, EMs, and strategic staff+ level ICs
It took 7 months of incredibly hard work, but I made both the transition to technical lead as well as Senior 2 promotion that year with an exceeds rating (let’s gooo 🚀).
Life as a Tech Lead
Being a tech lead was one of the most interesting, fulfilling, and challenging things I’ve done in my career. It was similar to the work as a senior, and yet so different.
I often thought it would just be more coding, more mentoring…
But it turned out to be a whole different level of thinking and ownership than I had taken on so far.
Being a new Tech Lead was really the first time I recognized that my main value to the team was not in writing the most code I possibly could.
They no longer needed a hero-dev cranking out code 24/7… they needed a force-multiplier that could help everyone level up.
Some of the ways I did this included:
Outlining areas of our infra that needed scaling / refactoring
Guiding architectural designs through technical spec reviews
Ensuring code quality though thoughtful and timely code reviews
Working to onboard new engineers and help them get up to speed
Helping EMs/PMs estimate effort in roadmapping and planning meetings
Collaborating with staff engineers on architecture / tech debt improvements
Being the go to person for answering technical questions in our product area
Helping plan, design, review, and manage many different projects all at the same time
Responsibilities and focus of a tech lead
Whew that was a lot. So what really are the main responsibilities and focus for a tech lead?
If you want to be a successful tech lead, there are 4 main areas you’ll need to be proficient in. They include leveling up in several key areas including processes, communication and thinking.
You are part leader, part engineer, and part architect all in one!
A lot of these may be referred to as “soft skills”. I wish there was a better term for them, because some of them are harder to be good at than the “hard skills” we all usually focus on. 😅
1/ Technical mentorship: Emerge as force multiplier for your team
It’s no longer just about you. A lot of what you will do as a tech lead will be ensuring and supporting and guiding your team towards technical excellence.
Some examples include:
Guide architectural designs through technical spec reviews
Ensure code quality though through and timely code reviews
Work to onboard new engineers and help them get up to speed
Slowly but surely something has become clear to me.
The more senior we become, the more important it is that we multiply our efforts and help others level up through mentoring.
If I improve my coding abilities by 10%, the team gets minimally better. If I lean into being a force-multiplier and help 3-5 others level up, the whole team just got massively more productive and effective. My impact is compounded. 🚀🚀🚀
2/ Be a technical owner of your systems
As a tech lead you’ll be collaborating very closely with PMs, EMs, and other staff+ engineers. You’ll work together to own and ensure the success of your team and of your projects and systems.
Some things you’ll be involved in include:
Collaborating with staff engineers on architecture / tech debt improvements
Understanding how staffing and work assignment happens and be a contributor in sprint planning with your EM and PM
Becoming the go to person for answering technical questions in your product area
Helping estimate effort in roadmapping and planning meetings
One of the main differences for me as a tech lead was worrying less about the smaller details of code review / architecture like function names, API routes, etc, and being more focused on the architecture and design of our systems.
Here are some common questions I would think through:
How did everything fit together in our system?
Did we have good documentation for our core services?
Do we have good coding patterns and strategies in place across our team?
Are the architecture designs for new features maintainable and scalable?
I worked closely with staff engineers to ensure we were building reliable systems that were maintainable, well-designed that would meet our users needs. More on this below…
Thanks for reading today’s paid article edition! Every paid article has a free section that is valuable enough for some, and more deep content for those really looking to level up. I appreciate your readership. If you are a paid subscriber, enjoy the rest of this deep-dive where we talk about running projects, time management as a tech lead and more! 👇🏼
3/ Push for systems engineering quality
Keep reading with a 7-day free trial
Subscribe to Level Up Software Engineering 🚀 to keep reading this post and get 7 days of free access to the full post archives.