Navigating A Career Path In Software Testing
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.
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.
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.
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.
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.
Building better QA for tomorrow