By Lorinda Brandon, Technical Evangelist at Smartbear Software
Recently, I was talking with a newly trained software tester who went for her first interview at a large well-known tech company. Getting the job was probably a long shot as the company is one where jobs are in great demand and she had no prior experience as a tester. But hey, she got in the front door, and that’s a serious win. But the feedback they gave her took both of us aback a little – they suggested that she learn some programming languages and then come back to try again.
I have been hiring testers for more than a decade and have never demanded programming skills as a requirement. Yes, I admit that if the language matches the development team’s current language, I tend to move the resume to the top of the pile, but it in no way ensures a position. I am more concerned with your troubleshooting and critical thinking skills than I am with your programming skills. But it seems that over the last decade, the push for testers to know how to code has increased and become a trend.
Of course, I understand the argument – if you’re testing software, you should understand the basics of how it works. I’m not sure you need to write code to gain that knowledge, but it certainly doesn’t hurt. Having some coding skills under your belt also makes you more adept at testing things like APIs and databases (if you include SQL in that mix of languages). Additionally, many of the current test automation tools also have an advanced interface for testers with coding skills so they can manipulate the tests at the object level. So, this request for programming skills in software testing makes sense and it certainly isn’t new. What surprised me was that an entry-level tester would be expected to come to the game with the ability to code. It appears to surprise many in the industry, with most people in the test industry disagreeing that this is an entry-level skill requirement.
According to SimplyHired, this is part of the new wave in hiring. Entry-level jobs are no longer really entry-level jobs. I guess we should have seen it coming when employers began hiring year-round and post-graduate interns (famously without pay, in some cases), which used to be how you spent your summers in college. Employers are in the driver’s seat right now, with more people looking for jobs than offering them, and that means the competition is stiffer. In truth, many companies expect their senior testers to be able to write and review code extensively, so it’s logical that they would want their junior testers to have a jump on building those skills.
So, in my ongoing quest to make sure we keep building that population of software testers, here are some tips to get your resume higher on the pile:
Learn coding basics
Fortunately for today’s new testers, there are easy and free ways to learn coding basics by joining any of the online academies that offer programming language classes. You probably won’t come out of the class knowing how to build a web application from scratch, but you will undoubtedly learn enough to carry your own in an interview for a software tester. Pick your languages carefully - Python, PHP, Perl, Ruby are all good beginner languages. Get some foundations down before you tackle the likes of Java or C++.
Find a Mentor
Don’t let the sound-reducing headphones fool you. Most developers are actually really good people who love to talk about coding. Find someone in your network or in a friend’s network who can answer questions for you or talk about coding strategies. While the online classes are great offerings, sometimes you just need a conversation to get a concept sorted out in your head.
If you are just beginning to learn a language online or in a physical class, make that clear on your resume. Most employers will see it as a positive sign that you are continuing to build your skills and devoting some of your free time to the effort. It also sets the bar for what they can expect from you on Day One. There’s an old saying – “Under-Promise and Over-Deliver.” In this case, just be honest about where you are on this journey so a prospective employer doesn’t expect you to perform code reviews right away.
Practice what you learn
This is common-sense advice for any discipline. But, as a software tester, you will find yourself bombarded with opportunities to exercise even your most basic programming skills. Need to clear and refresh some data for repeated tests? A Perl script may be just the thing. Want to build a tool with some input fields to make your environment configuration easier? A little PHP app could do the trick. Look for the opportunities to not only hone those new skills but also prove to an employer that you are willing to make the effort.
We need skilled testers now more than ever. Software isn’t just relegated to the office anymore – it drives us safely to work, buzzes in our purse when something important is happening, connects us to our friends and relatives, and lets us access our money whenever we need to. I, for one, want to know that my banking app has been well-tested by someone with skills in the discipline. So, if employers want to raise the bar and ask for coding skills as well as analytical skills, I’m okay with that – all the testers I know are up to the challenge!
About Lorinda Brandon
For almost 30 years, Lorinda Brandon has worked in various management roles in the high-tech industry, including customer service, quality assurance and engineering. She has worked at some of the leading companies in the industry, including Mashery, SmartBear, RR Donnelley, EMC, Kayak Software, Exit41 and Intuit, among others. She specializes in rejuvenating product management, quality assurance and engineering teams by re-organizing and expanding staff and refining processes used within organizations. Follow her on Twitter @lindybrandon.