Do Testers Have to Write Code?

For years, whenever someone asked me if I thought testers had to know how to write code, I’ve responded: “Of course not.”

The way I see it, test automation is inherently a programming activity. Anyone tasked with automating tests should know how to program.

But not all testers are doing test automation.

Testers who specialize in exploratory testing bring a different and extremely valuable set of skills to the party. Good testers have critical thinking, analytical, and investigative skills. They understand risk and have a deep understanding where bugs tend to hide. They have excellent communication skills. Most good testers have some measure of technical skill such as system administration, databases, networks, etc. that lends itself to gray box testing. But some of the very best testers I’ve worked with could not have coded their way out of a For Loop.

So unless they’re automating tests, I don’t think that testers should be required to have programming skills.

Increasingly I’ve been hearing that Agile teams expect all the testers to know how to write code. That made me curious. Has the job market really shifted so much for testers with the rise of Agile? Do testers really have to know how to code in order to get ahead?

My assistant Melinda and I set out to find the answer to those questions.

Because we are committed to releasing only accurate data, we ended up doing this study three times. The first time we did it, I lost confidence in how we were counting job ads, so we threw the data out entirely. The second time we did it, I published some early results showing that more than 75% of the ads requested programming skills. But then we found problems with our data, so I didn’t publish the rest of the results and we started over. Third time’s a charm, right?

So here, finally, are the results of our third attempt at quantifying the demand for programming skills in testers. This time I have confidence in our data.

We surveyed 187 job ads seeking Software Testers or QA from across the 29 states in the US posted between August 25 and October 16, 2010.

The vast majority of our data came from Craigslist (102 job ads) and LinkedIn (69 job ads); the rest came from a small handful of miscellaneous sites.

The jobs represent positions open at 166 distinct, identifiable companies. The greatest number of positions posted by any single company was 2.

Although we tried to avoid a geographic bias, there is a bias in our data toward the West Coast. (We ended up with 84 job listings in California alone.) This might reflect where the jobs are, or it could be because we did this research in California so it affected our search results. I’m not sure.

In order to make sure that our data reflected real jobs with real employers we screened out any jobs advertised by agencies. That might bias our sample toward companies that care enough to source their own candidates, but it prevents our data from being polluted by duplicate listings and fake job ads used to garner a pool of candidates.

Based on our sample, here’s what we found:

Out of the 187 jobs we sampled, 112 jobs indicate that programming of some kind is required; an additional 39 jobs indicate that programming is a nice to have skill. That’s just over 80% of test jobs requesting programming skill.

Just in case that sample was skewed by including test automation jobs, I removed the 23 jobs with titles like “Test Automation Engineer” or “Developer in Test.” Of the remaining 164 jobs, 93 required programming and 37 said it’s a nice to have. That’s still 79% of QA/Test jobs requesting programming.

It’s important to understand how we counted the job ads.

We counted any job ad as requiring programming skills if the ad required experience or knowledge of a specific programming language or stated that the job duties required using a programming language. Similarly, we counted a job ad as requesting programming skills if it indicated that knowledge of a specific language was a nice to have.

The job ads mentioned all sorts of things that different people might, or might not, count as a programming language. For our purposes, we counted SQL and shell/batch scripting as programming languages. A tiny number of job ads (6) indicated that they required programming without listing a specific language by listing broad experience requirements like “Application development in multiple coding languages.” Those counted too.

The bottom line is that our numbers indicate approximately 80% of the job ads you’d find if searching for jobs in Software QA or Test are asking for programming skills.

No matter my personal beliefs, that data suggests that anyone who is serious about a career in testing would do well to pick up at least one programming language.

So which programming languages should you pick up? Here were the top 10 mentioned programming languages (including both required and nice-to-haves):

  • SQL or relational database skills (84)
  • Java, including J2EE and EJBs (52)
  • Perl (44)
  • Python (39)
  • C/C++ (30)
  • Shell Scripting (27) note: an additional 4 mentioned batch files.
  • JavaScript (24)
  • C# (23)
  • .NET including VB.NET and ASP.NET but not C# (19)
  • Ruby (9)

This data makes it pretty clear to me that at a minimum, professional testers need to know SQL.

I will admit that I was a little sad to see that only 9 of the job ads mentioned Ruby. Oh well.

In addition, there were three categories of technical skills that aren’t really programming languages but that came up so often that they’re worth calling out:

  • 31 ads mentioned XML
  • 28 ads mentioned general Web Development skills including HTTP/HTTPS, HTML, CSS, and XPATH
  • 17 ads mentioned Web Services or referenced SOAP and XSL/XSLT

We considered test automation technologies separately from programming languages. Out of our sample, 27 job ads said that they require knowledge of test automation tools and an additional 50 ads said that test automation tool knowledge is a nice to have. (As a side note, I find it fascinating that 80% of the ads requested programming skills, but only about half that number mentioned test automation. I’m not sure if there’s anything significant there, but I find it fascinating nonetheless.)

The top test automation technolgies were:

  • Selenium, including SeleniumRC (31)
  • QTP (19)
  • XUnit frameworks such as JUnit, NUnit, TestNG, etc. (14)
  • LoadRunner (11)
  • JMeter (7)
  • Winrunner (7)
  • SilkTest (6)
  • SilkPerformer (4)
  • Visual Studio/TFS (4)
  • Watir or Watin (4)
  • Eggplant (2)
  • Fitnesse (2)

Two things stood out to me about that tools list.

First, 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. I’ve been saying for a while that the commercial test automation tool vendors ought to be nervous. I believe that this data backs me up. The revolution I predicted in 2006 is well under way and Selenium has emerged a winner.

Second, I was surprised at the number of ads mentioning WinRunner: it’s an end-of-lifed product.

My personal opinion (not supported by research) is that this is probably because companies that had made a heavy investment in WinRunner just were not in a position to tear out all their automated tests simply because HP/Mercury decided not to support their tool of choice. Editorializing for a moment: I think that shows yet another problem with closed source commercial products. Selenium can’t ever be end-of-lifed: as long as there is a single user out there, that user will have access to the source and be able to make whatever changes they need.

But I digress.

As long as we were looking at job ads, Melinda and I decided to look into the pay rates that these jobs offered.

Only 15 of the ads mentioned pay, and the pay levels were all over the map.

4 of the jobs had pay ranges in the $10-$14/hr range. All 4 of those positions were part time or temporary contracts. None of the ads required any particular technical skills. They’re entry-level button-pushing positions.

The remaining 11 positions ranged from $40K/year at the low end to $130K/year at the high end. There just are not enough data points to draw any real conclusions related to salary other than what you might expect: jobs in major technology centers (e.g. Massachusetts and California) tend to pay more. If you want more information about salaries and positions, I highly recommend spelunking through the salary data available from the Bureau of Labor Statistics.

And finally I was wondering how many of the positions referred to Agile. The answer was 55 of the job ads.

Even more interesting, of those 55 ads, 49 requested programming skills. So while 80% of all ads requested programming skills, almost 90% of the ads that explicitly referenced Agile did. I don’t think there’s enough data available to draw any firm conclusions about whether the rise of Agile means that more and more testers are expected to know how to write code. But I certainly think it’s interesting.

So, that concludes our fun little romp through 187 job listings. I realize that you might have more questions than I can answer. If you want to analyze the data for yourself, you can find the raw data here.

Subscribe

Subscribe to our e-mail newsletter to receive updates.

48 Responses to Do Testers Have to Write Code?

  1. David O'Dowd October 20, 2010 at 1:01 am #

    Hi Elisabeth,

    When a company requests that a tester have “programming skill” what do you take that to mean. Which areas of programming should a tester know. Automated testing tools/Unit testing/API Testing/UI Testing are all good areas to understand. But would you take it further than that? What are all the programming skills a tester should have?

    David

  2. ehendrickson October 20, 2010 at 1:17 am #

    Hi David,

    The exact nature of the job requirements varies from position to position and company to company.

    I’m hearing from testers going on job interviews that some companies seem to expect extreme proficiency (e.g. algorithm design or memory management fu). But I’m seeing a different picture at other companies that are just happy if a tester understands “extends” in Java.

    My recommendation to any tester who’s worried that they may not have enough programming skill would be:

    - Learn enough SQL so you’re comfortable querying a database to verify test results and analyze data

    - Learn enough in any language so that you can write test automation helper code to do things like data generation (Perl is good for this)

    - Learn enough of general programming concepts so that you can write code for typical softball programming exercises like the ones at http://codingkata.org/

    Once you’ve mastered that level of programming skill, then I recommend you drill deeper. Learn Object Oriented design skills or build a toy web app.

    And if you’re not sure what to learn after that, I suggest talking to testers and hiring managers who you like and respect about what development skills they value in a tester.

    Elisabeth

  3. Andy Tinkham October 20, 2010 at 3:30 am #

    Having just gone through a job search in the Minneapolis area, my gut impression is that the market here is a little different – while SQL comes up in testing job posts, I haven’t seen as much of the other languages. QTP is by far the most referenced tool – I’m not sure I’ve seen a job posting here reference Selenium unfortunately. TestComplete came up a lot in my interviews, though it hadn’t really crossed my radar much before that. Most of my job search was network based though, so I don’t have a large sample of job ads surveyed (though I looked at a bunch prior to “starting” the process to get a feel for the market) and this isn’t based on any sort of rigorous analysis, just what stuck in my head.

    Thanks for sharing this analysis, Elisabeth!

  4. Stephan October 20, 2010 at 8:22 am #

    In the requirements for the freelance jobs that I’ve received (from within Europe, in fact most of them in Germany, BTW), the language required is usually the one used to implement the system. While this makes perfect sense for the tests (checks) in unit tests and in TDD (which isn’t about testing, but design), it’s usually not what testers are doing on a project.

    For the high(er) level testing that testers are usually working on, I think this requirement is just not necessary, since the interfaces used are hardly ever based on a particular programming language, but are GUIs (in many cases a web application) or some document exchange through a more ‘machine targeted protocol’ (HTTP, message queues of some flavour, even FTP, etc.). This can be done in (essentially) every language using existing libraries/frameworks (e.g. Selenium and Watir which were mentioned in the post).

    In my opinion, we (as the tester community) need to educate our customers (business people, clients, employers) about the skills needed — as well as the ones not needed — to succeed in a job.

  5. brandeeno October 20, 2010 at 12:28 pm #

    My personal job search feelings seem to match up pretty well to your findings, and these are jobs in the NYC area.
    Thanks so much for doing this research and showing it. Its hard to find much data for QA.

  6. Cem Kaner October 20, 2010 at 3:08 pm #

    Thanks for this research. My students will find it helpful.

    I’ve been talking with several recruiters over the past couple of years, trying to understand the market I am educating students to join. I think there are some underlying factors that maybe didn’t used to be as widespread as they are today, that your readers might want to consider.

    First, testing within a business involves at least two types of knowledge: knowledge about testing and knowledge about the type of application under test. Much of the PR about the need for “software development engineers in test” has come from software companies. For them, software is the subject matter. For them, expecting someone to understand code is like a bank expecting someone to understand financial statements. It is unfortunate that the software publishers and software service providers have been speaking with a louder megaphone than the other industries: the result has been that some non-software companies are changing recruiting standards to look for people with stronger software knowledge instead of stronger industry (e.g. banking) knowledge.

    The second factor is a different type of weeding-out goal than I am used to. Many people in our field have a third primary strength, “software process.” I think process design and process consulting can be extremely valuable, if done well. But many people who think they specialize in “process” fit the Dilbert caricature of someone who doesn’t have subject matter skills (testing or industrial). Their solution is often heavyweight (scripted, intensely documented, with little investment in their own personal growth or the personal growth of their staff). I am seeing a strong trend toward weeding these people out. That means things like outsourcing their jobs, giving them early retirement, and reorganizing test groups to require technical skills that “process people” are perceived not to have.

    With respect to the second factor, a person applying for a job in Industry X, who has relatively little programming background, might gain some traction if they can demonstrate a critical knowledge (“critical” = able to apply the knowledge to assessment, looking for errors) of the subject domain.

    I am not suggesting that programming skills are unimportant. My most-recruited students are the ones who take a course in implementation-level testing (unit testing, refactoring, program graphing, state machines, test tool architecture). But the 80%-concentration of ads (etc.) is maybe a lot softer than it appears, if the candidate is someone who actually understands the quality-related risks of the industry they are trying to find work in.

    – Cem

  7. Mitch Goldman October 20, 2010 at 9:38 pm #

    Excellent post & comments so far. It’s a very interesting topic, and you’ve found a great angle for examining it.

    I’m curious if it would make a difference if broader data sources were used. My gut reaction is that the data you’ve collected is skewed toward more progressive companies since the source comes from open/social sites, Craigslist & LinkedIn. I think the dedicated job boards like Monster and CareerBuilder attract a different type of company/recruiter and would yield different results. Also I believe those sites have a much larger market share and thus would provide a better representation of the market, or at least a more balanced one when combined with yours.

    The biggest surprise for me was the high number of WinRunner listings since it’s so out of date.

  8. Bonnie St. John October 21, 2010 at 5:52 pm #

    Thanks for your research, I find this very helpful. As a laid off blackbox tester, with 13 years experience, I have been job hunting over a year now, and I don’t have coding skills. Now I’m in school for a STE certificate, because I came to the same conclusion as this article. Here in Seattle SQL is a must and it seems like C# is high on the skill list and we still use WinRunner around here. This article is very helpful for me and see you tonight at the Seattle Area Software Quality Assurance Group meeting.

  9. Aditya Kalra October 22, 2010 at 9:02 am #

    Back in India these are some of the interesting facts i found:

    Top three tools in demand:
    1. QTP (good to have QC knowledge along with it)
    2. Selenium
    3. Load Runner for performance testing

    Scripting Languages:
    1. Perl (Shell Scripting)
    2. JavaScript/Vbscript
    3. Ruby/Python

    SQL is considered as a default in your profile :)
    To add to this recently there are a lot of openings for Mobile testing as well…

  10. Blake Elder November 21, 2010 at 9:02 pm #

    Enjoyed this article. Some observations.

    East/West: after many years in Silicon Valley we recently moved to the Boston area. Selenium is definitely in demand in both areas, although I was surprised by the number of companies around Boston asking for skills in tools not popular out West: Mercury, QTP, others unknown. Somewhat off topic: out West there are more pure Internet software gigs than in Boston; never mind the current heavies in Mt. View or Palo Alto. Instead think box.net, rockmelt, ning, others. I see fewer opportunities like these around Boston. Point here is internet plays are Agile, which leads me to the next item…

    Trends in skills: I think Elizabeth is spot on, especially that Agile teams want what amounts to junior programmer to be a tester. Agile dev managers or HR screeners want qa candidates to rate their skills in SQL, scripting languages (perl, python, etc.), higher level languages (C#, Java), code review skills, and other competencies traditionally reserved for development. There’s nothing wrong with wanting testers to have these skills, but I think with the browser as the nexus of development, we’re seeing a change (expansion?) in the definition of an SQA Engineer (or not, go back and read Beizer). I wonder a bit about groupthink with developers as testers, as opposed to qa as a slightly separate class of engineering teammate.

    As liberal arts major who started off in tech writing, I learned just enough on the job to get tasks done. These days I have Perl and Python environments on my computer, but I get developers proficient in those languages to write what I need, then I take it, run it, modify it, and it all gets done. Selenium is brilliant because it is free and easy: I can create a decent test suite pretty quickly (decent means a web site test suite with 1,000 useful checks; quickly means a week or two to get it solid), but I keep it all in selenese/html. Been meaning to learn to port it to python, but I’m a management type, too, so I never get the time.

    I agree about the need for SQL and think any bright, reasonably motivated person can quickly learn to down medium hard queries and therefore be proficient in her testing job.

    Last, think the point by poster Mitch on samples pools is a good one; don’t think HP in Andover, MA will be posting to CL.

  11. Curtis Stuehrenberg November 23, 2010 at 9:16 pm #

    I think you’re comparing apples to oranges when you list record and playback tools/frameworks such as Selenium, QTP, and SilkTest with tools/frameworks that require you to have at least some familiarity with coding such as WatiN/WatiR, Fitnesse, xUnit, and TFS(MSUnit).

    Another gotcha embedded in your list that I’ve come across is that “Shell Scripting” is almost always code for “Linux/Unix admin skills.” Shell scripts are what MS/DOS uses to automate command line protocols outside the GUI. In Linux/Unix they’re how you manage the operating system.

    Finally “SQL” is a large umbrella and can contain T-SQL, PL/SQL, MySQL, Postgre, or other even more exotic flavors.

    So I think an interesting final trend analysis would be to associate these different skills into logical groupings. I think what you’ll start to see is these technical skills generally clump together depending on the company and industry. For instance, someone asking for Windows will almost always also want C#, TFS or NUnit, and T-SQL along with .NET and possibly QTP. A company that uses Linux/Unix will almost always be a Java or C++ shop and will require Selenium, Swing, PL/SQL (Oracle) or PostgreSQL, and possibly Ruby or shell scripting.

  12. Szilard Szell November 26, 2010 at 8:35 am #

    In our Telecom company, that is turning to Agile in the last couple of years, we started to ask for programming skill more, then telecom knowledge during the interviews (yeah, and no test engineer role exists any more separated from development engineer, only SW engineer from now on). Even Elizabeth’s research shows that this is the trend in other areas as well, I share Cem Kaner’s view and think that business knowledge and process knowledge are both as important as programming skills, or even more.
    On the other hand this resource does not touch testing theory knwoledge, like ISTQB certification. It would be nice to see have many job ads require both!
    I still feel that in a good Agile team we have some test minded persons, having very good experience in standardised telecom protocols and telecom systems, and also good programmers with the needed skills to automate the test cases designed by the tester. But it is rare to have all skills in one single person and, in my oppinion, it is not a problem at all!

  13. Lolita Guevarra March 11, 2011 at 2:58 am #

    Elisabeth,

    I would like to reprint this in our April: Agile Test Automation issue. Please let me know if I can.

    Thanks, Lolita Guevarra

  14. Tarun March 11, 2011 at 6:39 am #

    I am so very glad to see selenium ranking high in you analysis. I have worked on both QTP and Selenium. I am not biased towards Selenium and QTP might be better at doing certain things. But programming language flexibility which Selenium provides just outweighs any other tool for me.

  15. Steve Watson March 23, 2011 at 11:02 am #

    Its an interesting point and has come about due to teh bnature of working in Agile teams, where the new ideal is that developers can test and testers can write code.

    However, I don’t think its as simple as that as development & testing roles require specific skill sets. I personally would not turn down a good tester just because they couldn’t code – a tester who can write C# but cant find defects is no use to me really!

    I know that there are two thoughts on this around automation. Some teams like the tester to be able to automate, whereas others feel that automation should be done by the developers, allowing the testes to get on with the business of writing confirmations and doing manual structured and ad-hoc tests.

    As with most things in life, it comes down to common sense. look at the job spec carefully and your team structure. What does the tester really need to do, rather than what the last tester did, or the job spec that was written a few years ago and tweaked here and there. You may well find that the ability for a tester to wrtie code is desireable but not a requirement.

  16. farjaad April 16, 2011 at 12:17 am #

    I pretty much agree with Elisabeth’s observation. I have been looking for a job since 2009. I have been a manual black box tester all my 10 years of career. I don’t find many jobs lined up for me. Starting June 2010, I have noticed that most QA jobs are now wanting some automation experience be it Selenium, QTP or unit testing along with knowledge in SQL and http/javascript/css/xml (if web application).

    My question is what strategy I should follow to be marketable quickly. How can I learn Selenium fast? Most companies are not interested in record and play. They want your experience in Selenium RC which means you have to write tests that interact with the backend which means you need to know backend technologies? Is taking a course in white-box testing without any experience any useful?

  17. ronen August 11, 2011 at 1:06 pm #

    farjaad,
    learn a little bit of java first. try 1st 6 chapters of Herb Schildt’s Java beginners book and learn those chapters well!).

    Once you’re reasonably comfortable with basic Java then buy a book called ‘Selenium Simplified’ by Alan Richardson. This book will teach you how to write tests using Selenium RC (no record/playback).

    The great thing about this kind of study is that you pick up so many other peripheral (but useful) skills on the way.

    Good luck, let us know how you get on.

  18. Jose September 7, 2011 at 9:50 am #

    A company requesting testers with programming skills doens’t know/care/believe in testing. Its the typical situation where Project Manager is an ex-programmer. Avoid applying to the job, I suggest.

    All they want from you is to do Unit testing (which they believe is the all-Qualityproblem-solver), therefore you will see no test plan, test cases design, test strategy, respect for tester role, etc

    “We need testers, essential programming skills” = “we are developers and we desperately need a scapegoat to cover our ass”

    Regards
    jose

  19. Sudhir Patil September 16, 2011 at 12:12 pm #

    Thanks for the research and even our experience is much closer to this research findings.

    Who are the right candidates for QA/Testing? of course resources with AUT’s (Application Under Testing) know how or SME’s, who really understand domain or application really well.

    In my opinion testing is not just verification and validation, it definitely requires analytical skills along with subject matter expertise to anticipate various scenarios or use-cases to figure out under which all circumstances Application might brake.

    At a same time Test automation definitely demands programming expertise, not from tool’s usage perspective but to ensure automated test suites are robust and main-tenable. This brings in the gap between SME’s or Software Testers (generally does not have programming expertise or background) and Automation Testers. Organizations are bound to look for testers with required expertise around.

  20. Kaj Feis November 3, 2011 at 5:21 pm #

    Great that this has been investigated. But I think we should be very careful with conclusions indeed. I see a lot of job postings, where the company seems to use a standard list of demands, that they once created, and keep on using because they have been told it is a good list by the consultant they hired to create it, or they see other companies ask for the same skills, so they assume they are vital.
    There is a huge difference between being able to really program in SQL, and knowing enough SQL to get testdata out of the system, or being able to check if the expected entry is in the database after the test! I think a lot of companies want the last one, but don’t know how to ask for it, so they require ‘SQL programming skills’.
    Most likely there is a connection between the demand for Agile testers, Selenium knowledge and Java skills, cause they seem to go hand in hand, but in my last Agile project all manual testers were exited to start using Selenium…and very happy to stop using it after a couple of weeks. They wanted to be good testers, not bad developers! Selenium is not an easy tool if you are not a developer. Working Agile gives people a great chance to cross boundaries, an start doing things they were not able to do in traditional projects. But that doesn’t change the fact that you need a different type of mindset for certain tasks. So from a job-safety point of view, it seems that some programming skills will be needed to stay relevant as a tester. But mostly to get through the job interview….

  21. Dave McNulla November 10, 2011 at 5:12 pm #

    I used to think there was a mutual exclusivity to exploratory testing and test automation. I found that I was wrong from two sources. First, I heard about a guy (Jim Knowlton) on the watir podcast http://watirpodcast.com/30-jim-knowlton-on-using-watir-for-exploratory-testing-2/. He used IRB and libraries to perform more efficient exploratory testing. Second, I participated in a webcast that my employer sponsored with Michael Bolton in which he showed techniques for using automation in exploratory testing (he’s got a blog post on it http://www.developsense.com/blog/2010/09/can-exploratory-testing-be-automated/).

    Yesterday, I showed some developers and testers these techniques in action by creating a ruby-language class that I was able to use for testing a set of web services. They had been tested in a gui-based rest client before. Because the responses were parsed and stored as variables in the class instance, I was able to run follow up calls faster than the other testers could with the gui rest client.

    The moral to the story is that exploratory testing can, in some instances, be more efficient when some of the tasks are ‘automated’, and some interfaces require a coded-client. Any tester that does not learn how to code is at a distinct disadvantage. If you work around water, you ought to know how to swim even if swimming is not your job.

    Dave

  22. Anand January 7, 2012 at 8:17 pm #

    This was very usefull information talking into part the freshers entering Software testing fielld

  23. Lanette Creamer March 4, 2012 at 7:00 am #

    I think this example is really flawed. I admire most of the work you do, but I think that those who post job ads need to be filtered. How many of them FOUND the person they were looking for and were still happy with them in 12 months? How many of them are posting this again because they are cheap and can’t find the chupacabra they are looking for.

    If all I wanted to do was be desired by anyone hiring, I’d know every programming language and be willing to take any salary.

    What if all we knew about the current state of women was what want ads asked for over and over. We’d assume that HWP blonde with a large rack were the norm. Just because companies want it doesn’t mean they are finding it. It also doesn’t mean they are using it. It also doesn’t even mean they are RIGHT. Many of these companies have such high turnover they advertise every week as word on the street among testers is NOT to work there.

    There is a large mobile phone provider that hires “manual testers”, and they don’t provide much, not even adequate air conditioning. They judge testers on how “to spec” they write test cases and execute them. It’s conditions similar to a Chinese sweat shop for testers. They are always hiring, and if someone knows what they like they make them an overlord of the “manual testers”. Not because they need these programming skills, but it is a way to weed through the resumes.

    When it comes to hiring, it’s all about fit. If the only value a company sees in testers is what they can provide for developers, the company is blinded and immature. They fall short of the bar for whole team quality. To hire a tester for their knowledge of ONE programming language is like hiring a book author because of their experience with ONE flavor of text editing software. I code in more than one language, because I’ll learn what I need to know. People REQUIRE a stupid white board test on SQL? WHY? anytime I’ve actually worked at a place that used it, all of the testers have the few searches they need saved and they copy/paste it in and make small tweaks. Like memorizing it is important? How about knowing what database is for test and how not the screw up your production database? You can know all of SQL and still miss that. I find it sad that so many places are still doing such a poor job of hiring anyone technical, let alone testers who can also code. Do I know sql? Sort of. Enough that it’s never held me back from ANY testing I needed to do. In fact, I used python to talk to the Oracle database at Adobe because it made more sense for the testing I had to do.

    I worry that people who have no idea what testing talent is, or how to hire for it will just use irrelevant tests to weed people out. I pray that at least they randomly hire some temps with testing experience and see who developers would rather have test their code in 3 months time. This isn’t a difficult control group or even expensive. Even at companies who are INSANE with their engineering culture that overrides all else, like Google, there are requests for more manual testers. Why? Because they are finding important bugs that automation STILL is not finding, even after years of staffing heavily in developers. So heavily that all bugs found have automated tests. And the best testers I know? Work at SMALLER companies where they can prevent this kind of messed up peril from happening. I just pray I can show one person a better way. If I can save one tester who’s meant to be a tester from leaving the industry, I’ll consider myself to have done a great service for the profession I love.

    I was born to be a tester. I also code. Sometimes even more than just what I need for testing, I recently found out. There are some who think my novice coding is worth more respect than my masterful exploratory testing. I think they are FOOLS and I love having my own business if for nothing else, for the reason I’ll never have to work for them. :)

  24. Tony Bruce March 6, 2012 at 8:12 am #

    I’ve not checked out the data but do you know/remember if any asked for a Exploratory Tester? Or a thinking Tester?

  25. Daniel Frank March 28, 2012 at 11:56 pm #

    Tony,

    None of the jobs we reviewed specifically requested an exploratory tester, and only 9 of them even mentioned exploratory testing as part of the job duties.

  26. Dzmitry Kashlach February 20, 2013 at 7:00 am #

    I hope, that popularity of open-source tools will make proprietary companies to decrease their prices. Although some of open-source tools have disadvantages(like JMeter with not very good out-of-box reporting features), there are some less expensive solutions, for example, performance testing clouds, that compensate this.

  27. harshal February 26, 2013 at 9:52 am #

    Nice article,.,.,,. love it. :)

  28. Sonali April 1, 2013 at 10:12 am #

    Nice article.I totally agree with Steve Watson.I am having 5 years of manual testing experience and finding job from last 3 months.Most of the company wants programming skilled testers.I have worked on agile and good at exploratory testing but still the company wants programming knowledge.I don’t understand the logic because both of the roles are different.If i love programming then i should be a developer rather than a tester.I am a manual tester and company should take an advantage of my QA skills.The best use of manual testing is investigation in to the product or infrastructure before writing the automation code.

  29. Krishna February 13, 2014 at 2:21 pm #

    Nice article Elisabeth.

    I am a manual tester since 6 years. My decision to learn some programming seems correct after reading the article. I have chosen Python for a start.

  30. Bara February 19, 2014 at 7:54 pm #

    Wonderful Post and Congrats for your Time and Endeavor on these findings. I am a Telecom /VoIP Professional with more than a Decade Experience. I see the same findings and totally concur with you. These days even if a hire does not get an opportunity to automate, companies rather want to hire people with Coding skills.
    can we take it a Level Further by Breaking down the he domains like

    Telecom /Wireless / VOIP – Python /C#/perl/TCL
    Embedded Systems/hardware-?
    BFSI Web Automation- ?
    Data base — ?

    It might be useful for people like me to pick up and start learning on something.

    Thanks,
    Bara

  31. Rabindranath April 10, 2014 at 7:02 am #

    Is there a way we can get infromation on the average expereince of testers, in different domains, like BFSI, Automobiles etc

  32. Sheetal April 15, 2014 at 1:49 pm #

    Very informative article . . . . I have worked on UMTS UE protocol stack testing for 7 years. Now trying to find a job singapore is almost impossible, I am tired of people asking for autimation/testing experience. My question is if I learn any scriptibg language , perl for instance , will the company consider my profile considering I have the knowledge but dont have hands on experience.

  33. Pat J. May 30, 2014 at 1:25 am #

    hi, I noticed that some job postings list Visual Basic script as a required programming language. VBScript is mentioned more often than Ruby at least on the east coast of the U.S.A.

Trackbacks/Pingbacks

  1. The Testing Rat Pack » Blog Archive » Do testers need programming skills? - October 20, 2010

    [...] Here’s another take on this from Elisabeth Hendrickson [...]

  2. Want a Testing Job in the Future? Here’s Third Party Validation that Knowing Selenium is Critical. | Selenium Testing? Do Cross Browser Testing with Sauce Labs - October 26, 2010

    [...] week, Elisabeth Hendrickson from Quality Tree Software wrote an interesting blog post that questioned whether the rise in agile is affecting the QA job market in terms of skills and [...]

  3. A Smattering of Selenium #30 « Official Selenium Blog - November 1, 2010

    [...] Do Testers Have to Write Code? applies to Se as well. [...]

  4. Планы по проведению тренингов на ноябрь « XP Injection - November 2, 2010

    [...] объединился с WebDriver и перешел на новую архитектуру, по исследованиям на рынке предложений по работе Selenium пользуется большим спросом, Sauce Labs усиленно [...]

  5. Должны ли тестировщики уметь программировать? « XP Injection - November 8, 2010

    [...] ты с ними не согласен, то тебе тяжело найти работу. Анализ требований на рынке показывает, что от тестировщика действительно [...]

  6. Incentivando uma briga « Bytes don't Bite! - March 11, 2011

    [...] muitas vezes refleti se as pessoas, que trabalham com testes de software, devem ter habilidades de desenvolvimento. Não nego que possuir conhecimento do negócio é necessário para o profissional da área de [...]

  7. The Future of Testing is Wide Open | Ukrainian Software Testers - QATestLab - March 15, 2011

    [...] Elisabeth Hendrickson ASKED (note: She did not state a proven fact, she wrote a question) in her blog if Agile development had changed the skills employers hiring testers are asking for. She did some [...]

  8. Where are the technically inclined testers? « Martijn de Vrieze - November 3, 2011

    [...] Really nice to read Elisabeth Hendrikson’s article on a similar subject, but from a different point of view: http://testobsessed.com/blog/2010/10/20/testers-code/ [...]

  9. Who is Elisabeth Hendrickson | Yves Hanoulle - December 6, 2011

    [...] in IT should read )  I started to read her blog, check out what she did and with everything I found I was more impressed. Until she won the Gordon PaskAward in 2010. That did not surprise me. I missed [...]

  10. The Context Problem Part I talking about testing | Testers Tower - January 10, 2012

    [...] “test is dead” are both prime examples, but there are others too — whether testers should learn to code or not, the use and misuse of metrics, the advantages of one tool over another, the value of [...]

  11. Should Testers know how to code? « Hasan's Agile Testing Blog - January 2, 2013

    [...] The above results are for the UK. A similar study was done in the US not long ago and you can read the details about that here. [...]

  12. Do software testers need technical skills? | WatirMelon - February 23, 2013

    [...] ~ Elizabeth Hendrickson – Do Testers Have to Write Code? [...]

  13. Write code to test code | KnowledgeTester - February 25, 2013

    [...] Some people are against the idea of “testers writing code”, they live by the number 1 & 2. But beware as more and more testing jobs need programming skills. [...]

  14. The Controversy of Becoming a Tester-Developer | Road Less Tested - February 28, 2013

    [...] and she said that she does not believe every tester should know how to code. Elisabeth wrote an interesting post about this topic, and in it she expressed her views that there are very good testers out there who [...]

  15. Should Testers Learn to Code? | Road Less Tested - March 9, 2013

    [...] and she said that she does not believe every tester should know how to code. Elisabeth wrote an interesting post about this topic, and in it she expressed her views that there are very good testers out there who [...]

Leave a Reply