๐ Is there growth in testing?
Is testing a dead-end career? Should I continue in testing? If Iโm still here, how do I grow? Is there a future? In this blog, I provide my take on these frequently asked question (FAQ). Enjoy. ๐
Over the past month, I have mentored 3 engineers directly on topmate. Itโs been a fun experiment, and I love the experience of talking to new engineers at different stages in their jobs, hearing about their challenges and perspectives, and hopefully nudging them in the right direction. If you or someone you know wants to get in touch with me, here is my topmate page: https://topmate.io/automationhacks/
Iโve been getting a recurring question from them and over the years many other engineers have reached out to me on LinkedIn, and Twitter DMs, asking me what is the growth ladder for a testing professional
Some variants of this question are:
โIโve heard testing maxes out at 10 years of experience. Should I move to dev or management?โ
โMy manager is suggesting that becoming a manager is the way you can progress in your testing careerโ
โI feel stuck and donโt know what else to explore to transition from QA automation to SDETโ
โIs testing a dead-end job, is there a career to be made in this?โ
These are critical questions and each engineer is right to ask them
They also paint quite a gloomy picture of the role
Let me help you paint a better picture
๐ช Job Ladder
There are tons of different testing setups in the industry.ย
If you want to get a feel of it you can read Deep dive into evolution of testing organizations in which Iโve explored some of these.
There are 3 major roles that people play in the testing space
Test Engineer
Software engineer in Test (SDET)
Engineering manager (EM)
In many companies there are well-defined career ladders for each of them, some it is a very flat org and a whole buffet of different setups in between
๐ง๐ปโ๐ป Individual contributor (IC)
Iโve seen companies have a level distribution generally like the one below for individual contributors
Intern, fresher, entry-level (0 - 2 years)
Mid-level (2 - 6)
Senior level (6 - 9)
Staff/Lead level (8 - 12) (may have direct reports)
Architect/Principal (12+) (may have direct reports)
โฆ some further levels like senior principal/architect, distinguished (this is quite rare)
A small caveat:
Please donโt take the years of experience thing so seriously, they are general approximations
I donโt believe in the years of experience level filtering because while indicative of breadth of experience it may not convey the level of depth your company needs for a given role.ย
The notion that years of experience automatically entitles you to a given level is a bit absurd. You may not have exposure to that level of responsibility, impact, and scale. Past performance, strong aptitude for the role, and transferable skills are probably better indicators, but hey, who am I to question everything that's broken with recruiting and compensation ๐คท
In some companies, Test engineer roles are capped at a certain level, while SDET role generally has these levels.ย
One clear signal to someone reading this is that developing software engineering skills is crucial to your long-term success as an IC
๐ฉ๐ปโ๐ผ Engineering manager (EM)
Typically there are below levels
Engineering manager (5 - 8)
Senior engineering manager (8 - 12)
Director (12 - 15)
VP (Vice president) (15+)
SVP (Senior vice president) (15+)
GM (General manager) (15+)
VP+ levels are usually present in larger companies, but levels up to Director are quite common
Many companies may cap the levels at a certain point depending on whether that role is required and if the company is big enough
I would not go in-depth on what are the roles and expectations from each level in this blog.ย
Any solid leadership group worth their salt would have enumerated this as an internal rubric, but let me know in the comments if you would like to hear my take on it and I can expand on this as well
๐ง๐ป Climbing the ladder
Your level on the engineering ladder is a strong indicator of growth.ย
It has implications for your title, and compensation and directly influences the level of agency and responsibility you can have in the org as well as your impact
What does the path look like to climb this ladder?
This is a pretty deep question, it may even demand a book read like The Staff Engineer's Path: A Guide for Individual Contributors Navigating Growth and Change or The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change or even a new one just for professionals in testing
Iโll attempt to give you an ELI5 (explain like I'm five) answer without going into deep nuances
Loosely speaking,ย
Learn: Became a deep expert in your domain, make sure you have the technical proficiency needed to do your job, which may involve learning a new technology, stack, programming language, or people skills
Execute well: You should clearly understand what role you are playing in your org, talk, and ensure you and your manager are on the same page on this, then go out and execute, execute, and execute. Keep on knocking off project after project and do the damn best job you can do on them with the customer in mind. Make sure you are in the top 5% of your team and try your best to create value everywhere and be a force multiplier on the team.
Perform at the next level: Then look at your level + 1 role and expectations and ensure you take some of them on. Keep on knocking them off and present a demonstrated history of strong performance. Performance appraisals and reviews are usually lagging and if you are already performing at the next level and your manager is good, chances are you can expect a promotion soon.
Seek and mentor: Find out the best people in your company, local region, or globally, and follow them. Learn from them and soak their wisdom. Seek out mentors discuss ideas with them and go back and implement and show hands-on value. You should also pass on what youโve learned to help others around you get better
This advice and general framework has personally served me quite well in my career but like I said earlier, there is tons of nuance here. Maybe Iโll write some more about these in future blogs.
๐ฆ Develop the Breath
Tech
Is climbing the ladder all there is to it?
If youโve reached the Principal/Architect level, have you made it in your testing career?
What's next?
Youโll find that only seeking compensation, title, and level as proxies for growth can turn out quite shallow in the end.
Please donโt get me wrong, it is super important and you need to do a good job at it.ย
โ Your life and your family depend on you for this. I will encourage you to keep on working on it to make sure you are rewarded and paid well for your efforts
โ But it's not the only thing.
When people say testing maxes out at X years of experience, they are taking a quite shallow view of using the job ladder as the only growth indicator
But testing is not just your years of experience
Itโs a crucial part of SDLC without which no software should ever go to production.ย
Youโll be a fool to ignore this at your peril.
There is a ton of breath to be covered and if you are a person on your way to becoming a master, you have much to learn and experience young padawan ๐ฅท
Let me attempt to give you a peek at how I think about it
Areas to explore
We can divide the software engineering world into 6 broad areas
Mobile
Web
Backend
Infra
Data
ML/AI
Each of these areas has opportunities to choose which layer you write tests at:
Test Pyramid
Unit
Integration
E2E
And broader areas to apply to the above
Engineering productivity
Code coverage
Exploratory testing
Building community with like-minded peers
Test frameworks
Test infrastructure
Test tooling
CI/CD
Security
Performance
Accessibility
Chaos/Resilience
You can take a cartesian product of these three and that is one unique combination for you to explore deeper
E.g. Mobile test infra, data security, data performance, backend chaos/resilience, etc.
It's a whole wide world out there for your explore
I have 13+ years of professional experience in testing and I can safely say Iโve just scratched the surface
I also donโt think Iโll be able to explore them deeply in this lifetime but Iโm still curious and choose to make incremental progress towards some of them.
Each of these areas in itself could be a project for you to explore and become an expert in over a few quarters
The good news is there is a ton of overlap and you can build a lot of deep software engineering skills; such as
Reading code
Writing code
Understanding programming principles
Understanding system design: How do DB, Queue, cache, CDN, and Gateway work and are scaled, how do you test with them
Building solutions
And so on โฆย
๐ฆ Soft skills
Youโll notice that above is a list of technical things
To grow into a mature leader you also need polished people skills.ย
They are table stakes if you are in a manager role or in an IC leader role like an architect
Building trust with peers
Driving cross-functional projects
Project management
Strong written and verbal communication skills
Empathy
Servant leadership
Engage and develop others with 1:1 mentoring
Sponsoring someoneโs career growth
Public speaking in internal presentations, all hands, meetups, or conferences
Negotiation
Conflict resolution
Succession planning and removing single points of failure in teams
Setting direction and strategy
So on and so forth
We can keep on adding to this list as well
Whatโs next
Say you are someone who has worked on most of these and still feels stuck.
How do you grow then?
Firstly congratulations ๐
Iโm sure you are in a very small company of elite people who have proven experience with all or most of these.
Well,ย
Software engineering is huge.ย
If vertical growth is not possible, you may consider even shifting to a horizontal ladder in a different set of skills like a developer, product manager, data scientist, AI/ML engineer, etc.ย
As you can see there is no endgame in this world and endless challenges are waiting for you with great rewards.
All you can do is:
Work hard, have fun, and make history
That is Amazonโs motto and a pretty good way to summarise this blog
Keep on delivering exceptional value for your customers, because that is what truly matters
If your company does well, you will also do well and leaders around you will be happy to share more responsibilities.ย
Growth will happen organically.
Go out there, kill it!
Hope this helps. Let me know in the comments if you want to share a personal journey around how you grew in software testing or what Iโve missed. Iโm looking forward to learning from your thoughts