Updated: Oct 19, 2022
Software Development Engineer in Test #sdet
A common frequently asked question is “what is the career ladder for a test automation engineer?”. This is a great question, as this role is often perceived as a flat one which makes it difficult for managers and practitioners alike to determine how one can grow within this role.
Below is a guide on how to level automation engineers and SDETs, as well as concrete criteria to aim for when pursuing the next level.
LEVEL 1: JUNIOR AUTOMATION ENGINEER
A junior automation engineer is someone who is new to automating tests. They may already have testing skills, but are relatively new to coding. Or they may have limited coding skills but lack testing skills.
At this level, the engineer is able to add tests to the suite, given the test project and framework for automating has already been created. They are essentially using existing building blocks to assemble tests.
A junior engineer should not be tasked with independently building a test automation project from scratch, as it is a software development project where coding, architecture, and testing skills are required. They should be assisted by more senior automation engineers or feature developers.
LEVEL 2: MID-LEVEL AUTOMATION ENGINEER
A mid-level automation engineer is someone who has solid coding and #testing #skills and can not only automate tests, but can expand an existing test project and framework to add new support for tests.
For example, given an existing framework, the mid-level #automation #engineer is able to add supporting classes and functions for new pages, components, or services as needed and does not have to rely on team members to build these out for them. However, the mid-level automation engineer is not quite ready to build the entire test project from scratch.
LEVEL 3: SENIOR AUTOMATION ENGINEER
A senior automation engineer is well versed in coding as well as testing. In addition to authoring automated tests, they can build a test automation project from scratch.
Senior automation engineers understand various test-specific design patterns and know when to use each.
Engineers at this level are often reviewers on test-related pull requests and help establish best practices for the team. These automation engineers are able to coach developers on how to write tests and build testable code. They also are able to identify which tests should be automated and which are not worth the trouble.
Senior automation engineers don’t spend as much time writing tests as they used to, as they have delegated much of this activity to developers and junior automation engineers. Instead, they spend more time on building the #test #framework to enable others who are writing tests. These engineers are also more involved in monitoring and triaging builds in an effort to actively listen to what the tests are saying about the status of the product.
LEVEL 4: AUTOMATION ARCHITECT
An automation architect has deep technical knowledge in software delivery as a whole. They are not only able to build testing projects from scratch, but they do so in a way that promotes maintainability and reusability. They have a great understanding of both #coding and #software design principles as well as when and where to properly use abstractions.
Automation architects are well-versed in multiple automation tools and are able to properly evaluate new tools for their team’s needs.
An automation architect is usually capable of writing automated tests at any level including unit, integration, and end-to-end. Skilled architects are even comfortable with blending multiple approaches and tools together to optimize their test suites.
While automation architects are capable of writing some of the most optimal tests you’ve ever seen, this is usually not the best use of their time. Instead, they often can be found architectingtest frameworks and internal tools to help other engineers be more effective. These tools are not always for tests themselves, but can also be other productivity solutions expanding beyond tests.
LEVEL 5: AUTOMATION TEAM LEAD
Automation leads are responsible for guiding a team of automation engineers. They provide strategy and mentorship to those junior to them.
Much like automation architects, automation team leads understand how automated tests fit into the bigger picture of software delivery, and often use their skills for building #CI/CD #pipelines, optimizing the execution of tests, and ensuring that the tests are regularly providing fast and reliable feedback to the team.
Automation team leads are often tasked with growing their army of #SDETs and therefore have interviewing/hiring responsibilities.
Automation leads regularly collaborate with other stakeholders such as the managers, business owners, scrum masters, developers, and testers. They help these key players understand the role of automation and where they can contribute to make it a success.