⚡️ SDET career roadmap: from entry level to staff engineer
In this post, I break down expectations at entry/mid, senior, and staff levels and then help you form an intuition about what you can learn and share an approach that worked for me
Recently, a bright, up-and-coming SDET at work asked me:
How can I grow in my career?
How can I become a better engineer?
These are timeless questions. All high-growth engineers keep asking this often of themselves and their mentors or managers
It was wonderful to see them have self-awareness in their early career and the drive to improve themselves. I wish I had started asking about this earlier. 🙂
I’ve pondered on this question myself and often do self-reflection from time to time on this, and while I probably cannot give you a magic formula of success that would catapult you to the next level
I can share my take on it.
Disclaimer:
Please take it with a grain of salt 🧂 as this contains my unconscious biases.
When in doubt, do what feels is the best course of action for yourself in your unique life situation. There are no black and white answers here and anyone who says otherwise has something else on their agenda 😉
Phew! With that ominous disclaimer out of the way. Let’s dive in
Progression in your career realistically can be a combination of many factors -
sometimes it is a raw skill, talent, and execution
sometimes it’s the relationships you’ve built that work for you
often it's being at the right place at the right time and showing up with the right attitude
Most often it is luck or foresight to work on high-impact projects
a favorable sponsor, mentor, or manager
and what have you?
Surely you may be thinking, These do not seem very deterministic, do they?
Since there are only a few aspects that you have personal control over.
I’ll suggest we start from there.
🪜 Level Expectations
Before we look at skills that an SDET should master, let's set some broad behaviors and expectations that leaders reasonably expect from engineers at different stages of their career journey.
This is not an exhaustive list by any stretch, but it is meant to give you a ballpark idea and some high-level intuition
At each stage of your journey
You should assume the person has demonstrated performance indicators on the previous level and has the potential to reliably and consistently demonstrate at least 30% of next-level skills.
Entry/mid-level - A new hope; solid executor
Project impact:
Strong execution on one team and ownership of shipping tasks on time
Can design and execute test plans for independent features with guidance from senior engineers
Can add incremental features to framework and tools for well-defined problem spaces and domains
Engineering excellence:
Expert in one area (web, mobile, backend)
Can code fluently in one programming language
Has a solid understanding of testing fundamentals and techniques e.g. boundary value analysis, equivalence partitioning, decision tables, state transition tests mind mapping
People impact:
Can communicate clearly with stakeholders and help drive bug fixes
Direction:
Limited to a small/medium problem space
Senior - An independent, reliable, and seasoned engineer
Project impact
Leads execution for a functional area in a group
Deliver outcomes on medium complexity features with minimal or directional guidance
Proactively takes ownership, designs, and builds scalable and efficient test frameworks and tools to solve testing problems
Engineering excellence
Expert in more than one area (web, mobile or backend)
A polyglot programmer and can code fluently in more than one language, with a good understanding of design patterns and approaches, refactoring techniques
Understand sophisticated testing techniques and approaches like mocking, stubbing, integration testing, mutation, etc
Good understanding of associated technology stacks: test runners, code coverage, CI/CD, reporting
People impact:
Mentor early career engineers to grow into senior role
Direction:
Influences technical direction for one area
Effectively communicates technical concepts to both technical and non-technical audiences, and influences technical decisions.
Staff/Principal - A deep expert, who sets technical direction, large functional area influence, or industry impact
Project impact
Leads execution of complex projects across multiple cross-functional teams
Aligns testing efforts with broader organizational goals anticipates future challenges, and drives strategic initiatives.
Able to deliver complex projects involving either deep technical skills or cross-team collaborations with no supervision and occasional directional feedback
Able to build a robust, scalable, and comprehensive test strategy covering different app stacks
Engineering excellence
Expert across domains (web, mobile, backend)
Solid hands-on grasp on nonfunctional testing (resilience, chaos, load, security)
People Impact
Motivated to mentor and teach senior engineers to grow into staff and guide peer managers on nuances in the technical domain
Able to handle ambiguity and navigate organizational dynamics to drive progress
Inspires and motivates others, builds high-performing teams, and fosters a culture of excellence
Direction
Influences technical direction and identifies opportunities for innovation
Leads the development and implementation of new testing methodologies and tools across teams and multiple areas
There are levels further than this in large companies like a Senior principal engineer, or distinguished engineer


