Reading:
Navigating A Career Path In Software Testing
Share:

Navigating A Career Path In Software Testing

Read "Navigating A Career Path In Software Testing" by Melissa Eaden in Ministry of Testing's Testing Planet

Content in review

By Melissa Eaden

When Testers have started on a career path, many have commented on various surveys that they “fell into testing”. It’s important to understand that a majority of Testers did not plan on pursuing a career in software testing. They often come with backgrounds other than Computer Science. 

The typical paths for Testers often lead into Management, Program or Project Management (or PM/PO), Business Analyst, or even Development. These are typical growth paths in a lot of companies that want to make sure they keep on solid employees doing great work. 

These days, the Tester’s role is changing and to stay relevant, you have to be willing to focus on more than the functional aspects of the application. To see an example of how the role of a Tester is changing, you only have to look at the Modern Testing Principles as one example. Testers will need to develop more specialized skills and knowledge about software development to keep up with the ever growing changes introduced by technology, business practices, and customer desires. 

The key to working through this, if your company doesn’t have a career path for you, or one that you like, is to come up with your own. A career path can take on many aspects of the current job, like learning more about the application’s domain. When you want to take your career to the next level, you’ll want to figure out what skills you can learn to keep yourself relevant and take you to the next level in your career. An example might be learning how to use the command line more effectively, or learning how to read and write SQL queries. If you look for the “gaps”, basically places in the application which are not well known or tested, you’re likely to find a skill you can learn and use.

Coming up with your own career path in testing requires you to be creative and adaptable. There are a lot of options out there if you look. This requires learning about tools, code, techniques, and different kinds of testing. If you are looking at other types of testing besides functional testing (or manual testing as it’s sometimes called), then you are already on the right path for career growth. 

The Testing Career Trap

The place most people doing testing think they should expand into is automated testing. This is somewhat a fallacy. Not because a Tester shouldn’t consider this, but because it’s an extension of functional testing. 

There are some companies that have Automation Specialists writing functional tests. There are some companies that have all the Functional Testers write automated tests, but they usually don’t have a specialist, and someone in Ops or Development maintains the testing framework. 

The software development shops that have the most modern, very high quality software are at that level because the Software Developers are writing, managing, and executing automated functional tests either with the help of Testers or a testing expert of some kind, like a Quality Coach. Testers involved in these kinds of organizations are no longer doing a majority of the functional testing. They are focused on other kinds of testing, like Accessibility or Security testing. They are helping Developers maintain testing frameworks that could involve anything from analytics, mobile, performance, or even observability. 

While Testers should understand automation, there is a difference between writing automated tests and writing the frameworks that help manage the automation, or working on projects that require creative automation solutions for Software Developers to use. 

Instead of seeing Software Automation Tester as a role to move into permanently, see it as the stepping stone it represents to either branching out into other kinds of testing, or into a Developer role that understands how testing works for them. 

Most Common Career Paths For Testers 

Most companies struggle with how to develop career paths for Testers in their organizations. They even struggle with what to name them. Testers could be QA Analysts, or Quality Engineers, or Test Analysts. Even those that have more automation skill sets are referred to as Test Automation Engineers, Software Developers In Test, Automation Testers, Quality Automation Engineers. The variety of names speaks to the confusion companies and organizations have about the role Testers play in software development. It’s understandable then that businesses might not have a good idea about how to help an individual contributor grow in their Tester role. Often what happens is a gentle nudge or an outright push onto another career path, if the Tester stays with the same company long enough.

Below are descriptions of common career paths for Testers and how Testers can arrive at them. These are not bad places to end up but are often the only ways offered in some companies for Testers to grow their careers and make monetary gains. It’s unfortunate at times, especially if someone would like to grow their testing career and skill sets, that companies don’t help Testers continue to be Testers. If there are examples out there of companies that do this, please share those examples at The Club. There is also nothing that says you can’t go back to testing after taking on one of these roles. It might even be better to do so as it can often give a perspective previously unconsidered.

From Customer Service To Tester

This is usually one of the first places companies look for technical specialists to promote into testing. This is a great career step for folks that are looking to use their customer knowledge to prevent defects before they get to customers. There are careers in customer services as well, but for someone looking to extend their technical knowledge, this a great career opportunity. For Development Directors, looking at your Customer Service folks, along with others in Marketing, Business Analyst, or even Sales might be a good way to get fresh eyes and perspectives onto a development team. Having folks from more diverse backgrounds and with different perspectives can always help a team. 

If you are a Tester recently recruited from one of these areas, you’ll likely start with manual or functional testing to learn the ropes. Once you’ve become comfortable with this skill, branch out quickly into other skills. Start learning coding basics. Understand the tech stack. Reach out for more training and opportunities to work with other roles on your team. This is only the start of your career, there is so much more out there to learn.

Tester To Developer

While sometimes there is a midway point of Automation Specialist or SDET, some people enter into a Tester’s role hoping to move onto a Developer role. It’s often a recruiting point for companies to find people that have the potential to be Developers and offer them a role as a Tester. If a candidate is serious about learning testing as a profession and then moving into development, often those candidates make some of the best Developers. 

Tester To Manager

When a Tester does a lot of “glue work” and proves they are fairly decent with communicating, they can be quickly put on a management path. They become “leads” or even assistant managers, who are then given more project coordinating and people management tasks than technical work. It can be a day-to-day struggle to maintain skills and also manage a project and/or people. Charity Majors gives some excellent advice on how to approach management and the time investment it takes to see if it is really the path forward for your career. 

Tester To Business Analyst/Program Manager/Scrum Master

This is a natural fit for many testers because most of the job testers do already leans fairly heavily into these roles by doing analysis on various business problems related to feature work, managing stories, and sometimes managing the overall work of the project. These roles are natural extensions of testing, especially the role of analyst, where workflows, usability, and communication are essential. If you are getting certifications in these areas while continuing to do testing, it’s a good idea to explore these roles further. Leverage lessons from each of these roles to help expand your understanding of how the development cycle works. While this information can help you as a tester, it can also help you transition into one of these roles fairly quickly. 

Tester To Automation Specialist

While getting into automation could be part of your Tester role already, it could become the sole focus of your job. There are several flavors of this job available for those testers wanting to engage more with code on a regular basis. To really be successful in this position, you’ll need to keep your testing skills sharp and branch out beyond writing tests for automation frameworks. This might require you to understand different coding languages and tools that can be used to extend and improve a development group’s ability to ship quality code. It’s a natural progression, but often companies see it as a place to recruit junior developers. If you want to stay in testing and work with automation, you’ll have to diversify your coding skills to allow you to take on different and more interesting projects related to testing. 

The Paths Less Taken

The harder option is often for folks wanting to stay in testing. Options for testing professionals lead them to specializations in testing. While automation could be considered a specialization in some cases, it’s better to augment a specialization with automation skills. Most jobs will focus on UI automation to some extent. The problem with that focus is that there are so many other kinds of specializations that use automation in different ways. When you can branch out into other specializations around testing, and combine automation with those specialties, you can command a high salary and have your pick of the kinds of jobs you’d like to engage with. Below are examples of different specializations that you could branch into. Each one has its own skills to learn and develop as the industry changes.

Testing Specializations

One of the more common problems with going into a specialization is trying to find a way to break into or learn skills relating to a specialization. One way is to look for jobs specifically focused on a speciality of your choice and try to start at an entry level with less knowledge. Another way is to develop that knowledge and skill via mentors and workshops. Social networks have a large variety of people doing interesting work in different places. The best place to start with a speciality you are interested in pursuing is to find someone already working in the field that would be willing to mentor you or point to someone that could mentor you into that specialization.

  • Mobile Testing: Testing on and around mobile applications and possibly the hardware to which applications are deployed.
     
  • Data Analyst: This could be anything from analyzing trends in user data to analyzing and testing data created by an application.
     
  • Data Testing: Often involves Services, API, and Databases. Making sure data is moving from one place to another, transformed correctly, stored correctly. This requires knowing how different kinds of data are used in an application or several applications. 
     
  • Usability Tester: Works with domain knowledge and understanding of workflows for an application. The ability to ask the user questions about those workflows, and understanding what’s possible with UX/UI designs gives this specialty a creative outlet. It’s also utilized in the skill set of a good UX/UI designer. 
     
  • Accessibility Testing: All kinds of tech needs to be more accessible to folks with a range of accessibility requirements. Someone testing in these areas would need to understand regulations and know how to break down an app to find places that might not meet those standards and regulations. Having empathy and understanding of individuals with accessibility requirements will be key to being successful in this career choice.
     
  • Security Analysts: Are often testing for vulnerabilities, exploits, and loopholes. It takes on many different forms and sometimes the best security testing is understanding social engineering and how this plays into security concerns. 
     
  • Performance/Load Testing: This kind of testing is used to discover baseline, optimal, and failure handling for various application and network traffic metrics. This is an ever expanding area which can cover a wide variety of use cases and concerns.
     
  • DevOps: A Tester on an ops team focuses on the testability of the pipeline. They apply lessons learned from automation about how a pipeline can be tested to verify it is performing correctly. It’s a hybrid role that can lead to a transition into ops and infrastructure roles. 
     
  • Quality Coach: This role is important to emerging and transitioning companies often looking for culture and process changes. It’s often a consulting position. Coaches are there to help the whole team thrive and often use their testing skills to teach the whole team testing techniques. 

Specializations in testing are technical skill sets which are a growing need in the software development market. Having even a small amount of knowledge about any of these specializations can make a Tester extremely valuable to a company.

Web sites and Enterprise apps are still a large majority of work and they are growing in complexity. The need to have more specialized skills is growing, companies will need those skills to narrow in on that complexity and make sense of it.

Overlooked Technical Skills

While some testers dive into a particular coding language or delve into the world of user stories, others are looking at taking their skills to the next level and still remain a tester at their core. Skills which might not be necessary to learn as a complete testing beginner, later become crucial skills if a tester wants to develop their technical and people skills. These are things like Unix commands, using version control, and getting comfortable with tech tools like Docker and Jenkins. Other skills, would be learning better communication and feedback techniques, along with planning, and running various ceremonies, like retrospectives. Also, learning public speaking, mentoring, and using skills like pairing and group development can gain you both core and technical skills while helping other members of your team. Embracing these small skill sets can lead to bigger challenges and confidence in taking your skills to the next level.

The Need For People Skills

People skills are essentially core skills or are often referred to as soft skills. Learning effective communication and negotiating for and around acceptance criteria, or presenting ideas to a larger audience are very necessary skills in advancing your career in testing.  Another space which people skills are highly effective is developing and linking information between people in various departments. This is often referred to as “glue work” or even diplomacy. 

These basic technical and people skills are absolutely essential for Testers and vital for testing effectively. Finding a mentor that can help you with public speaking and/or communication skills can be as effective as learning any technical skills. The best way to find a mentor is to ask someone you know that is setting an example of where you’d like your career to progress. Use your social network as a starting point and branch out from there. 

Looking To Skill Up

This is a very short list of references which you can look into to get you started along your chosen path. Whether you are a tester to the core or a developer-in-waiting, the following will help get you going or help you crystalize your goals. Take every opportunity to try out something unfamiliar and stretch your skills. You never know when a skill might help you with your career growth. 

Language Skills:

  • Codecademy - focuses on various language or technical skills that can give you a good foundation level understanding.
  • Freecodecamp - provides 400 hrs of training to work towards an entry level position as a full stack Developer.
  • Automation In Testing - Teaches the fundamentals of automation and testing and how to use them to create meaningful, valuable feedback loops about software.
  • Test Automation University - Free online courses focused on different technical skills offered by Applitools.

Management:

Business Analyst/Program Manager/Scrum Master:

Test Analyst (QA Engineer, Software Engineer in Test):

Tester One, Are You Ready?

If you’d like to make this exploration of skills and abilities fun, check out this nifty career character sheet. Fill it out, make plans, and work on the skills you’d like to see yourself improve. Use it in a conversation with your manager, use it at meetups and have folks talk about the skills they are hoping to learn. Or make one of your own. There are so many possibilities and opportunities out there for testers or anyone wanting to enter into a technical field. Your current job might not be providing a path to your continued success, but it doesn’t mean you can’t provide one for yourself. 

References:

You Might Also Be Interested In:

Melissa Eaden's profile
Melissa Eaden

Senior Technologist

Melissa Eaden has worked for more than a decade with tech companies such as Security Benefit, HomeAway, ThoughtWorks, and now Unity Technologies. Melissa’s previous career in mass media continues to lend itself to her current career endeavors. She can be found on Twitter @melthetechie



99 Second Talks - TestBash Essentials Brighton 2019
Take The Blue Pill Or The Red Pill, You Decide If You Want To Change - Leigh Rathbone
Websites To Practice Testing
Violate Data Format: Injecting a reason to fix
Expand Your Test, Embrace Your Bash - Dominic Kua
A Tester Guide To Win Developers Respect! - Carmen Sighiartau
99 Second Talks - TestBash Manchester 2019
How Product Owners With Testing Experience Can Promote Quality
Do testers dream of electric sheep - Sharath Byregowda / Tom Roden
Selenium 4 introduces relative locators. This new feature allows the user to locate an object in relation to another object on the screen! Don't wait, get an instant demo today.
Explore MoT
Episode One: The Companion
A free monthly virtual software testing community gathering
MoT Intermediate Certificate in Test Automation
Elevate to senior test automation roles with mastery in automated checks, insightful reporting, and framework maintenance