5 ways to drive your automation engineers away
Test automation is an essential ingredient to a successful continuous integration/deployment pipeline. Because of this, automation engineers—specialized hybrid professionals with both development and testing skills—are in high demand. It's not uncommon for a company to have to search several months to find a qualified automation engineer because the supply isn't meeting demand. So once a company has found a rock star automation engineer, it's in their best interest to retain them for as long as possible.
As someone who regularly interviews candidates for test automation roles, there are common mistakes I see companies making that drive their automation engineers away. Here are the top five actions that will cause your automation engineers to bail.
1. Getting rid of the exploratory testers
It's a common misconception that with test automation, there is no longer a need for "manual" or exploratory testers. I've heard horror stories from interviewees about their companies laying off all of the testers and relying solely on automation for their quality initiatives. With this action comes an opportunity cost.
While automation engineers do have testing skills, they are also very heavily bogged down in writing code, just as your developers are. In fact, they are probably writing more code than your developers are because they are scripting multiple scenarios to validate the one solution that the developer wrote.
Teams that try to force their automation engineers to wear both hats not only end up with overworked and burnt out engineers, but they also typically end up with a limited amount of test automation as well as a lot of undiscovered bugs in their product. Keep the exploratory testers—you need them.
2. Siloing automation efforts
A common complaint I hear from automation engineers is that "no one knows what I do or appreciates my work." These automation engineers are siloed off and are creating scripts that are only run locally on their machines during regression periods. Managers, developers, exploratory testers—none of them have a clue about what has been automated and therefore they have very little appreciation for it.
Automation engineers in silos attempt to educate their team members on the automation suite and encourage their teams to adopt more collaborative approaches to test automation, but it's of very little importance to the team and as a result never gets done.
These automation engineers feel that they are not keeping up with the current trends of the industry, such as in-sprint automation and continuous integration testing—and they're right. Embrace test automation and allow your engineers to show you the additional benefits you're missing out on.
3. Setting unrealistic expectations
On the other end of the spectrum from the company that siloes automation efforts is the company that is overly excited about test automation and believes it's a silver bullet. They naively set goals of achieving 100% automation of tests, set impossible deadlines, and expect the automated tests to be maintenance-free.
Automation engineers at this kind of company feel like they are just automating for the sake of automating. Their days are filled with scripting low-value scenarios at lightning speed, only to consistently see failed continuous integration builds due to flaky tests that they don't have time to investigate. But the metrics that the managers are tracking look great!
These engineers feel that their management just doesn't get it and never will. Consult with your automation engineers to get their take on what should be automated and which metrics are important to track.
4. Dictating strategy and tools
Automation is not rocket science, but it’s not trivial either. Defining a strategy should really be left to the experts. Otherwise, this results in a strategy that may seem solid on paper, but there’s one small problem: you didn’t get the input of the automation engineers—the experts—who you need to actually see this plan through.
What this means is that you’re going to try to force them into this box of a plan that you created with little to no knowledge of how automation actually works. Experienced automation engineers have done this before, and have very little interest in going along for yet another destined-to-fail automation attempt when they already know the path to success.
Listen to them. Let them provide their input on what the strategy should be. Let them recommend the tools that should be used based on their experience, expertise, and the research they’ve already done on the tools in the market.
5. Requiring automation engineers to convert testers
As there's a lack of automation engineers to meet the current demand and as exploratory testers are being encouraged to reskill, there's a huge push from companies to have their existing automation engineers attempt to convert their existing exploratory testers into automation engineers.
Most professionals are all for cross-training, however, what we're seeing here is a misunderstanding of the skill set required to be an automation engineer. Again, an automation engineer is a hybrid role consisting of both testing and development skills. An exploratory tester has the testing skills, of course, but many lack the technical skills, such as programming. To ask one employee to teach another employee how to program from scratch is a giant request.
No one would ask a developer to teach an employee to program from scratch, so I'm not sure why this seems acceptable for automation engineers. It's time-consuming and can easily become the automation engineer's full-time job, thus taking them away from what they were actually hired to do.
Instead of giving an automation engineer the daunting task of training someone without a programming background, invest in sending your exploratory testers to programming classes so that they can obtain a basic foundation. From here, it's not unreasonable to have your automation engineers show them the ropes on how to apply what they've learned to create test automation.
Test automation engineers: A valuable commodity
It's hard enough to find great programmers or great testers, and it's even harder to find people who are both. Don't let these valuable people get away. Review your practices and see if you're making any of these mistakes.
Test automation engineers, let me know in the comments below if I missed anything. What other things do companies do that drive you away?
Image credit: Flickr