Why Developers Should Not Lead Your Automation Efforts
[Originally posted on angiejones.tech]
Developers should not lead your automation efforts. I’ve never seen this succeed. In fact, many times I have been brought on to teams to clean up the mess that is left behind when developers try to lead this effort.
The reason is simple. Developers are not automation engineers [Tweet This].
I’ve seen managers, recruiters, and even thought leaders in the Test industry say “what we really need is a developer to get this automation strategy off the ground!” I cringe every time I hear it because I know it’s a recipe for disaster. I’ve seen the best, top-notch developers and architects fail at this! That’s because automation engineering is much more than just coding. The same rules and principles that apply to development don’t always apply to automation engineering. Trust me, I’ve worn both hats.
Yes, developers can code, but automation engineering is a discipline where coding is just one aspect of it. What about the rest of the art of automation engineering? You’d be hard pressed to find a developer who is studying and following the field of automation engineering, and who understands the delicacies of how a stable and robust automation framework should be built.
I’ve seen developers think “how hard can it be?” and end up throwing together a messy and unmanageable framework that eventually has to be totally refactored by a true automation engineer, or worse, scrapped altogether.
Now, I’m not saying that a developer cannot become an automation engineer, because I’ve personally converted quite a few who left development roles to work in test and have become amazing automation engineers. But quite a bit of training was needed. The key to getting this to work was that the developers made a conscious decision to transition into automation positions….meaning they were fully devoted to learning the craft and the skills needed beyond just coding. They weren’t developers who were forced to “get that automation thing going”.
So what are the traits and skills needed to lead an automation strategy? I’m glad you (finally) asked! Here’s my list…the items are not in any specific order
- a testing mindset
- programming skills
- ability to implement object oriented programming principles
- software architecture skills
- an in-depth understanding of automation concepts such:
- Page Object Model
- the inverted test pyramid
- test data management
- continuous integration
- the separation of tests and framework
- reporting and test tracking
- distributed/parallel testing
- test case management (volume, suites, stability, etc)
- helper/utility mechanisms for common tasks such as database access/querying, service layer access, etc
- awareness of automation anti-patterns
- awareness of different testing tools and techniques to be able to make best recommendations
This is not a comprehensive list, but you get the idea. As you can see, programming is just one of many skills required of an automation engineer, especially one who is tasked with leading an automation strategy. Do yourself and the entire team a favor and stop asking your developers who know nothing about automation to lead your efforts [Tweet This]. Hire an automation engineer!
Tech Products & Services Marketer | Passionate about Neuromarketing | Obsessed with Product Growth | Futurist at heart | ?? Let's chat about your next big thing.
1 年Fascinating perspective on developer-led automation efforts, Angie Jones!?Have seen both sides - developers excelling in specific automation tasks and frameworks becoming technical debt nightmares. The key lies in understanding that automation engineering is a distinct discipline, not just coding. Intrigued by your point about developers transitioning to automation roles. Would love to hear more about successful cases in the Cigniti & Katalon 2024 State of Quality Survey - link.cigniti.com/linkedin
Creating 'Quota-Crushing Sales Leaders' who create 'Quota-Crushing Sales Leaders' | Accepting 'SEaaS SuperTemp' Contracts (Sales Enablement as a Service) | Serving US, UK, EU, AUS, MENA & APAC
1 年Arriving late to the party. Angie, your bold statement against developers leading automation efforts surely challenges conventional wisdom. While I agree that automation engineering requires a unique skill set beyond coding, dismissing developers entirely might limit the potential for collaboration and shared expertise. Instead, what if we fostered a culture of cross-disciplinary learning, encouraging developers to acquire the necessary automation skills while partnering with dedicated automation engineers? This way, we can leverage diverse perspectives and bridge the gap between development and automation, ultimately achieving more effective and robust automation strategies. Thoughts?
--
5 年Well written!
Software Engineer - Fullstack JavaScript | React | TypeScript | Node.js | Cypress | Selenium | C# | Test Automation | AWS
5 年I can't agree anymore. Challenge that I have faced in automation is test data and environments management and also managing / maintaining thousands of scenarios which can be grouped sensibly in reports.