The career path of
software engineers
and how to navigate it
Nikolay Stoitsev, Engineering Manager @ Uber
Career ladder
Intern
Software
Engineer
Software
Engineer II
Sr. Software
Engineer
Uber
Software Engineer
Software Engineer II
Senior Software Engineer
Senior Software Engineer 2
Staff Software Engineer
Sr. Staff Software Engineer
Principle Engineer
Levels have different names
Google
SWE 2
SWE 3
Senior SWE
Staff SWE
Senior Staff SWE
Principal Engineer
Distinguished Engineer
Google Fellow
Facebook
E3
E4
E5
E6
E7
E8
E9
Can’t directly compare levels between
companies
Full career ladder
Intern
Software
Engineer
Software
Engineer II
Sr. Software
Engineer
?
Good Engineer Good Manager
Full career ladder
Intern
Software
Engineer
Software
Engineer II
Sr. Software
Engineer
Staff Software
Engineer
Full career ladder
Intern
Software
Engineer
Software
Engineer II
Sr. Software
Engineer
Engineering
Manager
Staff Software
Engineer
Full career ladder
Intern
Software
Engineer
Software
Engineer II
Sr. Software
Engineer
Engineering
Manager
Staff Software
Engineer
Senior
Engineering
Manager
Principal
Engineer
Director
Individual Contributor
(IC) Ladder
Full career ladder
Intern
Software
Engineer
Software
Engineer II
Sr. Software
Engineer
Engineering
Manager
Staff Software
Engineer
Senior
Engineering
Manager
Principal
Engineer
Director
Individual Contributor
(IC) Ladder
Manager Ladder
You can grow as an engineer and as a
manager
● Is autonomous in writing code
● Knows how to unblock themselves and ask
for help
● Can solve well defined tasks with
supervision
IC Ladder - Intern
● Knows how to unblock themselves
● Helps other on the team
● Can solve well defined tasks without
supervision
IC Ladder - SWE
● Demonstrate end to end ownership
● Can solve any task with minimal supervision
● Turn feedback in growth
IC Ladder - SWE 2
● Leader in the projects they work on
● Can solve ambiguous tasks
● Sets culture and best practices in the team
IC Ladder - SSWE
● Recognised leader outside of their team
● Proposes solutions to problems spanning
multiple teams
● Drives big impact work across the company
IC Ladder - Staff SWE
EM EM
Sr. EM
Director
VP
CTOManager Ladder
Director
VP
Sr. EM
● Responsible for single team
● Sets direction and leads the execution
● Grows the team
Manager Ladder - EM
● Leads multiple big teams
● Leads long term technical and business
solutions across the teams
Manager Ladder - Director
● Leads teams across multiple domains
● Charts the future of the company
● Establishes the culture
Manager Ladder - VP
EM or IC?
https://medium.com/hackernoon/a-voight-kampff-test-for-identifying-engineering-managers-
bb8512c70857
Do you care more about people or
technology?
How to become a manager?
Sr. Software
Engineer
Tech Lead
EM
Expert
82% of the people made into
managers don’t succeed in the role
source: Gallup State of the American Manager: Analytics and Advice for
Leaders, 2015
How to become an engineering
manager?
How to become a product manager?
How to become a technical product
manager?
How to grow
Every career step is hard
Working hard is just 25% of the
formula
Switching jobs doesn’t help
Master the skills on the previous level
Requires mindset changes from the
previous level
Has new skills to be mastered
So growth has to be directed
Competency framework
https://about.gitlab.com/handbook/engineering/career-development/career-matrix.html
It’s not a checklist
Conscious Competence learning
model
https://en.wikipedia.org/wiki/Four_stages_of_competence
Unconscious
Incompetence
Conscious
Incompetence
Conscious
Competence
Unconscious
Competence
Unconscious
Incompetence
Conscious
Incompetence
Conscious
Competence
Unconscious
Competence
Pick one growth area at a time
Unconscious
Incompetence
Conscious
Incompetence
Conscious
Competence
Unconscious
Competence
Understand how to do it and why
Unconscious
Incompetence
Conscious
Incompetence
Conscious
Competence
Unconscious
Competence
Practice it
Unconscious
Incompetence
Conscious
Incompetence
Conscious
Competence
Unconscious
Competence
Career
conversations
You need to have career conversations
with your manager
Have regular 1:1
Ask for feedback
Communicate your goals clearly
Never let your role define your impact, let your
impact define your role
Managing up
The single best
hack to constantly
become better
Find a mentor
Mentor - someone who you admire
and knows you
There is no stack overflow for your
career growth
It’s like friendship
What to talk about?
Build relationship
“Code review” your decisions and
reactions
Ask for technical advice - wisdom and
opinion
Better to be outside of your team
The second best
hack
Be a mentor
Scale yourself with writing
The Manager's Path: A Guide for Tech Leaders Navigating Growth and
Change - Camille Fournier
https://medium.com/@daniel.heller/ten-principles-for-growth-69015e08c35b
https://medium.com/darius-foroux/how-writing-changed-my-life-8786ecd5650c
https://leadingsnowflakes.com/
https://deprogrammaticaipsum.com/2016/04/25/being-a-developer-after-40/
Q&A

The career path of software engineers and how to navigate it