Software quality career paths
Career in software quality and at VALA
There are many obvious and many not-so-obvious career paths in software quality. One can basically move in any direction they want and also back and forth. For example one can improve their technical-, people- or leadership-skills and still move back and forth as there is no one-way route that suits everybody.
For example, one can start with exploratory testing, then develop their technical skills and start doing test automation, after that, they can develop their leadership skills and progress into a test lead role.
At VALA we always listen to what the individual wants and most importantly, is passionate about. By following a path they are passionate about, people most likely feel a sense of meaningfulness about their work, which is a goal of ours.
There are many possibilities and the number of permutations of how to go about your career is huge. At VALA you can do what you are passionate about; our job is to create the path for you and help you get there. The purpose of this page is to demonstrate some common career paths and arouse inspiration.
Information starter kit for two common career paths in software quality
1. From QA Expert to Test Automation expert/developer
First of all, this is just one career direction and it is not necessarily preferred for all people, if even for most. That being said, some reasons for wanting to pursue this career path can be:
- Higher salary
- The work is more “technical” – if you are interested in software development but working as a full-time developer is not your thing
- The work is, in some aspects, more complex
- There are a larger variety of tools and technologies to master
- Wider outlook into the world of quality assurance, makes it easier to later progress to lead etc. type of roles.
- Automating manual work is often meaningful and rewarding – it supports and helps your team’s manual testing
To succeed in this, meaning the transition from manual testing to test automation, you need to develop your skills in many ways. Here’s a comprehensive list (in random order) of some important things you might want to consider learning.
- Programming Languages: Familiarize yourself with at least one programming language commonly used in test automation, such as Python, Java, C#, or Ruby. Learn the syntax, data types, control structures, and object-oriented programming (OOP) concepts.
- Test Automation Frameworks: Learn popular test automation frameworks like Robot Framework (for almost everything), Selenium WebDriver or Playwright (for web applications), Appium (for mobile applications), or Cypress (for web applications). These frameworks provide tools and libraries for building automated tests. All of them also have lots of tutorials and example projects online to get started!
- Web Technologies: Gain knowledge of web technologies like HTML, CSS, and JavaScript. Understand how web applications are built, how to locate and interact with web elements, and how to handle different types of interactions and events.
- API Testing: Learn about testing APIs (Application Programming Interfaces) and how to automate API tests using tools like Postman, REST Assured, or SoapUI. Understand HTTP methods, request/response formats (such as JSON or XML), and authentication mechanisms (like OAuth or JWT).
- Test Automation Tools: Explore popular test automation tools like Jenkins, TeamCity, or GitLab CI/CD for continuous integration and continuous deployment (CI/CD) pipelines. These tools are crucial for executing and managing automated tests in a systematic manner.
- Version Control Systems: Familiarize yourself with version control systems like Git, which allow you to manage code changes, collaborate with team members, and track revisions in your test automation projects.
- Database Knowledge: Understand basic database concepts and learn how to interact with databases using SQL (Structured Query Language). This knowledge will be valuable when performing database-related testing or setting up test data.
- Continuous Testing and DevOps: Gain an understanding of continuous testing principles and DevOps practices. Familiarize yourself with concepts like continuous integration, continuous delivery, and continuous deployment to align your test automation efforts with modern software development processes.
- Get familiar with BDD; you can be the one who introduces BDD to development team and gets everyone excited about this quality-driven way of software development.
Transitioning from manual software testing to test automation will bring several changes to your work tasks. Here’s an example list of changes you might face (in random order):
- Test Script Development: As a test automation engineer, you’ll spend a significant amount of time developing test scripts or code to automate test cases.
- Test Framework Implementation: You’ll work a lot with test automation frameworks. This includes setting up the necessary infrastructure, configuring frameworks like Selenium WebDriver or Appium, and integrating them into the testing environment.
- Test Maintenance and Updates: While manual tests require periodic execution, automated tests require continuous maintenance. You’ll update test scripts to accommodate changes in the application, fix issues, and ensure the tests remain relevant and functional over time.
- Regression Test Execution: Automating regression tests becomes a core part of your role. Instead of manually executing repetitive regression tests, you’ll automate them and integrate them into the development and deployment process, ensuring that previously validated functionality continues to work as expected.
- Integration with CI/CD Pipelines: Test automation engineers often integrate automated tests into the continuous integration and continuous deployment (CI/CD) pipelines. This involves configuring and triggering test executions with each code commit, providing quick feedback on the application’s stability.
- Defect Analysis and Debugging: In your role as a test automation engineer, you’ll analyze and debug test failures. This includes investigating issues, identifying root causes, and working closely with developers and other stakeholders to address and resolve defects.
Overall, transitioning to test automation shifts your focus from manual test execution to designing, developing, and maintaining automated tests. Your role becomes more technical, involving programming, troubleshooting, and collaborating closely with the development team. In this role too, the ability to think critically, analyze problems, and adapt to evolving technologies is crucial for success in your new role as a test automation engineer.
There are no obvious directions to go about this career path and it can happen in many different ways. Nevertheless, here are some tips how it could be done (disclaimer: this is not the official VALA career path but merely some general tips):
- Decide you want to pursue it, and let all important stakeholders (e.g. your supervisor or manager) know about it. Be firm that you are serious about this.
- Find out is there a possibility to find a mentor in your organization or network.
- Try to set up some sort of timeline and communicate this too to the important stakeholders. If you don’t know how to do this, it’s totally okay, then just ask for help. For example a timeline could be as follows: You’ll learn x and y technologies in three months by yourself. After that you get to learn in practice from a colleague or a mentor for a couple of months. And then, latest in six months you get to start exploring and trying by yourself.
- After this it’s just about deepening and widening your knowledge with various technologies, and eventually also accumulating substance knowledge from different technological environments and from different industries.
For example, at VALA the salary range for a QA Engineer is 2600-4150 €/month, whereas the range for a Test Automation Engineer is 2900-5350 €/month.
Working in test automation has its own pros and cons, but it’s totally subjective. Just like some people like chocolate and some don’t. Here are some aspects why manual testing can be more interesting or simply better for some people:
- Exploration and Creativity: While test automation too requires a lot of creativity, manual testing (especially exploratory testing) allows testers to explore the application freely, interact with it in real-time, and use their creativity to uncover issues. Testers have the flexibility to try different scenarios, simulate user behavior, and think outside the box, making the testing process more engaging and stimulating.
- Varied Test Scenarios: Manual testing often involves testing real-world scenarios that may be challenging to automate. It allows testers to consider different user perspectives, edge cases, and uncommon scenarios that automated tests may overlook. This variety in test scenarios keeps the work interesting and provides opportunities for critical thinking and problem-solving.
- Adapting to Changes: Manual testing allows testers to adapt quickly to changes in the application or project requirements. Testers can easily modify their test approach, explore new features, and adjust test cases based on real-time feedback and evolving project needs. This dynamic nature can bring excitement and a sense of agility to manual testing.
- Subjective Evaluation: Certain aspects of testing, such as user experience, usability, and visual design, involve subjective evaluation. Manual testing allows testers to provide subjective feedback and assessments based on their expertise and intuition. This adds a human element to the testing process, making it more engaging and rewarding.
- Immediate Feedback and Interaction: Manual testing provides immediate feedback as testers directly observe the application’s behavior during test execution. Testers can interact with the application in real-time, making observations, notes, and observations. This immediate feedback loop with developers can be satisfying and facilitate rapid problem identification and resolution.
It’s important to note that the perception of what is interesting varies from person to person. Some individuals may find test automation equally engaging and enjoyable due to their interest in coding, problem-solving, and the efficiency it brings to the testing process.
Progressing to Test automation increases your salary
At VALA, your salary increases when you progress from QA Engineer to a Test Automation Engineer. Read more from our Career page what it’s like to work at VALA!
2. From QA expert to a QA lead / Test manager
This is quite a typical career move where one advances to a more managerial position to include test leadership/management to the testing role. With it comes a more administrative role in the organization, a lot of responsibility, usually higher salary and most times more freedom to plan the work (testing) in your preferred direction.
To develop yourself and your skills to become a test manager or test lead, consider the following steps and areas of focus (remember that you are not expected to know it all right away!):
- Develop Technical Testing Skills: Although a managerial role may involve less hands-on testing, it’s crucial to have a solid understanding of testing principles and techniques. Stay updated with the latest trends in software testing, explore different testing methodologies, and expand your knowledge of testing approaches, tools and frameworks.
- Enhance Leadership and Communication Skills: Leadership skills are essential for managerial roles. Work on developing your ability to lead, motivate, and inspire and support teams. Improve your communication and interpersonal skills to effectively collaborate with stakeholders, facilitate discussions, and provide clear directions to the testing team.
- Acquire Project Management Knowledge: Familiarize yourself well with project management methodologies such as Agile, Scrum, or traditional Waterfall. Learn about project planning, resource allocation, risk management, and scheduling. Develop skills in creating and managing project plans, tracking progress, and ensuring timely delivery of testing activities.
- Gain Business and Domain Knowledge: As a test manager or test lead, it’s crucial to understand the business context and the domain in which the software operates. This understanding enables you to align testing efforts with business objectives effectively.
- Develop Team Management Skills: Focus on developing skills in team management, including team building, mentoring, and performance management. Learn to delegate tasks, provide constructive feedback, and foster a positive work environment. Understand the strengths and weaknesses of team members to assign tasks accordingly and support their professional growth.
- Emphasize Quality Assurance Practices: Expand your knowledge of quality assurance practices beyond testing. Learn about quality management systems, process improvement methodologies, risk management techniques and software development lifecycle models. Understand how quality assurance integrates with other development practices and how to drive quality initiatives within the organization.
- Improve Problem-Solving and Decision-Making Skills: As a test manager or test lead, you’ll encounter various challenges and need to make critical decisions. Enhance your problem-solving skills by practicing analytical thinking, root cause analysis, and risk assessment. Develop your decision-making abilities by considering multiple perspectives, gathering relevant information, and evaluating potential outcomes.
- Stay Updated with Industry Trends: Continuously invest in your professional development by staying updated with industry trends, emerging technologies, and best practices.
- Obtain Relevant Certifications: Consider pursuing certifications related to testing, quality assurance, or project management. Certifications such as ISTQB (International Software Testing Qualifications Board) or PMP (Project Management Professional) can enhance your credibility and demonstrate your expertise.
Remember, developing yourself as a test manager or test lead is a continuous journey. Be proactive in seeking opportunities for growth, embrace challenges, and invest in your professional development.
This career progression too, can happen in many different ways. Nevertheless, here are some tips how it could be done (disclaimer: this is not the official VALA career path but merely some general tips):
- Decide you want to pursue it, and let all important stakeholders (e.g. your supervisor or manager) know about it. Be firm that you are serious about this.
- Try to set up some sort of timeline and communicate this too to the important stakeholders. If you don’t know how to do this, it’s totally okay, then just ask for help. For example a timeline could be as follows: You’ll learn x and y technologies in three months by yourself. After that you get to learn in practice from a colleague for a couple of months. And then, latest in six months you get to start exploring and trying by yourself.
- After this it’s just about deepening and widening your knowledge with various technologies, and eventually also accumulating substance knowledge from different technological environments and from different industries or domains.
You can expect your responsibilities to increase as you jump from a more executing role to a more managerial and planning type of role. You will probably get to work more with other people and also have managerial responsibilities. And you can always combine both worlds by working in a hybrid role: still participating to test execution and at the same leading the testing activities within the project!
All this is obviously advancing in terms of traditional career views and will be visible in your salary too. For example, at VALA the salary range for a QA Engineer is 2600-4150 €/month, whereas the range for a QA lead is 4150-5150 €/month.
It’s important to notice that the roles of a QA lead or a Test manager usually include considerably more responsibility than the role of a QA expert. Responsibility on the other hand usually brings with it some stress and your workload might increase.
Some VALA career stories for inspiration
Eetu’s path from QA engineer to QA lead
Mari’s path from product house to consultant work
Veera’s junior path to Test Automation and QA
Arthur’s path from Test Automation to Development
Career at VALA
Career at VALA means meaningful and versatile work, personal development, challenging oneself, good friends, successes and failures. You can expect these things and these will be demanded from you if you decide to join us. If you feel that these aspects of work are meaningful to you, read more from our career page!