So You Want to Be an Automation Developer
Are you a software tester trying to break into automation? Need pointers to get your first job? Although I only have three years of experience as an automation developer, I may be able to point you in the right direction.
Step One: Take a Coding Class
When you are writing automation, you aren’t simply tinkering with a new toolset or technology. You are writing software in order to test software. It will definitely help you if you start learning how to code. With your first job, you won’t need to know how to write clean code or refactor tests right away, but if your job interviews are anything like the ones I had, you will have to demonstrate some knowledge of a programming language during your job interview.
My biggest recommendation if you are brand new to coding? Check out your local community college to see what programming classes they offer. Testing and developing are completely different mindsets. Learning from and interacting with a teacher, bouncing ideas off of students, and forming up study groups will help with the ever growing frustration as you are learning this brand new skill. You will hit wall after wall trying to understand the basic concepts. Your study group can be your wrecking crew. It also helps that everyone in the class are tackling the same concepts at the same pace.
Step Two: Pick a Language. Any Language!
If you are working as a software tester, find out what your company is using for automation, and study that. Maybe there is room in the training budget so you can take a course at a reduced cost?
- Want to start off with a complex programming language learning solid object oriented programming skills? Pick Java or C#.
- Are you into data analysis? Pick Python 3.
- Are you going to be using Chef or TestKitchen to spin up Amazon Web Service Instances? That is what I am doing, which is why I selected Ruby for our automation framework. Does your company use Ruby on Rails to create your web application? That is another great reason to pick Ruby.
Whatever language you pick, be confident that you will be learning good coding principles that will help you to create automation, and that you will be asked to learn a whole new programming language in three year’s time.
Step Three: Learn the Fundamentals of the Language
Do you know the programming language enough to go to a whiteboard and sketch out an answer to a simple coding question such as FizzBuzz or How To Tell If a String is a Palindrome? These are the questions that I kept getting asked.
Know the language enough to:
- Determine if the contents of a variable is an Integer, String, Decimal, etc.
- Find the first and last word in a string
- See if a String contains a certain word
- How to convert an integer into a String
- Solve a problem by coming up with an algorithm
This will not happen overnight, or even within a month or two. But by slowly and steadily working through a few classes, continuing to practice a bit every week, you will be comfortable facing the above tasks.
Step Four: Pair the Language With An Automation Framework
Whatever the language, you are sure to find a Selenium Guidebook by Dave Haeffner that will walk you through, step-by-step, how to start writing an automation framework.
I am rather toolset and programming language agnostic. I don’t really think it matters what you build your automation framework with. It is more important to find out who is relying on the automation, and what metrics are important to them.
Using the programming language and the automation toolset, attempt to see if you can figure out how to write a simple test of sample sites such as:
… But how can you display the sample automation framework you are developing?
Step Five: Show Your Work!
Sign up for an account at GitHub, a free open-source code repository. Proud of any projects you have created while going through this process? Upload them to GitHub, and stick the link to your GitHub account onto your resume, and future employers can evaluate your code samples.
Need More Help?
Need more help? You can read other articles I have written, review sample automation frameworks I have put together, or follow and reach out to me on Twitter! I am @tjmaher1, and I practically live online.
Make sure to check out this month’s offerings at SmartBear Academy and SmartBear’s many webinars.
Looking for a networking group? I am the Meetup Organizer of the Ministry of Testing - Boston. We meet once or twice a month, with events held all over Cambridge and Boston, Massachusetts. Join today!
And thank you, SmartBear for being such a wonderful sponsor for the Ministry of Testing - Boston.