Thursday, 4 June 2015

Is programming required for Software testing jobs? Software testing careers in Canada






We have confronted this question often and thought of doing some research on available data and bring this NOT SO OBVIOUS inference in front you.

For years, whenever someone asked us if testers are required to write code, we’ve always responded: “Of course not.” or “Absolutely not” something on those lines.Not anymore. Test automation by its very nature involves programming activity. Anyone who is asked to do automate testing should know how to program. But not all testers are doing test automation or are required to do automation.

Whether you are a manual tester or an automation tester, you bring an extremely valuable set of skills like critical thinking, analytical, investigative and attention to detail. Most testers understand risk, have a good understanding of testing principles and possess some measure of technical skills whether it be tech support, system administration, database development, database administration, networking or even programming, etc. Some of the very best testers in the current market cannot read through a simple code.

Increasingly, we’ve been seeing, hearing and learning from various sources that testers are expected to know how to write code which has made us curious to find out if there is a shift in the market trend. 

Do testers really have to know programming to be relevant and to get ahead?

The following is a synopsis of what we found based on ads posted online on various job sites. We wish to state that this data is not scientific or is it based on any specific research technique. This exercise is only to make a point about the changing industry trends and bring your attention to it. We certainly hope you appreciate this effort.

We surveyed a total of 500+ job ads seeking Software Testers or QA or Test Analyst or Tester across Canada starting with June 2014 until now. We relied on Workopolis, Monster, Indeed and some lesser known sites for data and did our best not to count job ads twice.

A)  Toronto and its surrounding areas still account for a very high percentage in the job openings close to 40%. Other big markets include Calgary, Vancouver, and Montreal. About 20% of the jobs available are in smaller markets like Halifax, Edmonton, Winnipeg and other small towns/cities spread across Canada.
B)  Out of 500+ job ads reviewed, approximately 400 jobs ads had language related to programming irrespective of the language. That figure stands at 80%
C)  There were about 200+ job ads specifically for test automation requiring experience in programming language/s. In some cases, they even preferred Developers interested in moving into testing.
D) 60% of the job ads specifically listed the programming languages. Not in any specific order but here’s a compilation of frequently asked skills:
         - SQL or relational database skills (90%)
         - Core Java and/or J2EE (50%) 
         - C/C++ (30%)
 - JavaScript (20%)
 - .NET or VB.NET or ASP.NET (10%)
 - Perl or Python or C# or C/C++ or Ruby (5%)

The job ads also mentioned all sorts of things whether you’d consider that to be programming or not like SQL scripting, shell/batch scripting etc. About 60% of the job ads specifically listed the programming languages.

The bottom line: It is now clear from approximately 80% of the job ads you’d find if searching for jobs in Software QA or Test require programming skills.


Call us today 416.743.6333 
 
Irrespective of what we think, the data suggests that anyone who is serious about a “Career in Software Testing” would do themselves a big favour by learning at least one programming language. We’d bet on Java for now followed by .Net.
So which programming languages should you pick up? Here are the top mentioned programming languages (including both required and nice-to-haves):
This data makes it very obvious that at a very minimum, professional testers need to know SQL.

In addition, there were other requirements/technical skills that aren’t really programming languages but that caught our attention and we think it is worth mentioning here:
-  About 25% of the ads mentioned XML
-  About 25% of the ads we reviewed mentioned general web development skills like  HTTP/HTTPS, HTML, CSS, and XPATH
-  About 10% of the ads mentioned Web Services or referenced SOAP and XSL/XSLT

A Glance at Test Automation Tools vis-à-vis the Job market: We also looked simultaneously at what skills specific to test automation tools are required. No surprise there we guess: The top test automation tools were:
§  Selenium (80%)
§  QTP/UFT (10%)
§  JUnit, NUnit, Jmeter, TestNG, LoadRunner (About 5%)
§  SilkTest & SilkPerformer (Less than 1%)
§  Visual Studio/TFS (Less than 1%)
Not to mention some other lesser known and used tools. We figure if you know any one of the above, you can easily learn these as well. .


Email us info@stepin2it.ca 
 
First and foremost, the number one requested tool is open source. Overall, of the number of test automation tool mentions, more than half are for free or open source tools. This market shift was well underway starting 2008 timeframe and has only exploded thereafter with big companies moving towards or embracing open source tools. Selenium is the clear winner in this round and we expect this trend to continue for the next few years at least unless a another ground breaking tool comes along which combines all the benefits/features into one or closed source tool developers make it open source or go web based. We are pretty sure the big boys among tool developers are taking notice of this market trend.

A glance at what the market is paying: Few jobs had pay ranges in the $15-$20/hr range. About 30% of the jobs which had payscale mentioned in the ad itself ranged from $45K/year at the low end to $60 K/year at the high end requiring anywhere in between 1-3 years of experience or paid $25-$35 per/hr on contract. Also majority of the jobs were full time or contract to hire versus just a few years ago when we saw an equal split in terms of Contract and FTE. We did not have enough data to draw real conclusions related to salary other than what you might expect or from our own sources meaning trainees who we have helped place over the last 4-5 years. Jobs in major cities tend to pay more and majority of the jobs required less than 5 years of experience.

Does that mean the more experience you have the harder it may be to find a suitable role?? We’d venture a guess and say “YES” unless you are skilled in automation or bring to the table a skillset that is hard to find like customer interfacing, top notch communication skills, people management, certifications or prior experience within the same domain even if it not testing related.

A little summary for you: No doubt the market has tightened and requires more skills than before. The good side is there are more opportunities than before. Smaller organizations are realizing Testing to be an independent function and starting to build QA teams. Smaller organizations require their hires to be agile, learn new technologies fast and most importantly contribute in more ways than one. It now takes a multitude of things to secure yourself in this changing market.