Well, starting a career in QA is, first of all, a great idea (at least in my opinion)! It can be pretty interesting, definitely challenging, and will stretch you in many ways. What does it take to be a great tester? The direct answer to your question is generally no, you don’t need ‘extensive’ programming knowledge to work in QA. The full answer is “It depends…”. Some organizations have very manual testers, who generally just click and/or type, with little need for advanced technical skills. In this ‘realm’ of testing, QA personnel differentiate themselves (and their career opportunities) by 1) subject matter expertise and 2) familiarity with common business software such as Oracle Retail, SAP, or Microsoft Dynamics. Other organizations require testers with a more technical background who can write automation or even be part of a truly agile team, where all team members code AND test.
If you start out in the first category, my recommendation is that you develop an expertise in a corporate software package, and that you do it quickly. Oracle Retail is quickly establishing itself as a leader in deployments, so there’s a high demand for expertise within this system. At the same time, you do need *some* technical skills. Familiarity with XML, T-SQL, and similar technologies will be helpful if you choose to not follow the technical path.
Several things will contribute to your success:
* Critical eye: when you look at things, are you critical about them? Do you spot flaws easily? Do you doubt a lot of things, and are you constantly looking for factual evidence rather than taking someone’s word for it? You might be a good tester.
* Passion for quality: are you committed to quality yourself? Can you tell me the difference in quality between a Chevrolet/Opal and a Mercedes? How about a Timex vs. a Rolex? If you can articulate quality, you might be a good tester.
* Do you learn languages, systems, or syntax easily? In software testing, base technologies are constantly changing and you need to adapt quickly. If you can pick up languages (written or coding) quickly, you might be a successful tester.
* Are you interested in technology and furthering your technical skills? Digging in and learning complex or large business systems must be interesting. Getting familiar with Unix/Linux environments, with open source software such as Tomcat or Java or such, with advanced web 2.0 technologies such as AJAX, or even with programming languages will be a huge boon to your career.
So the short answer? No – extensive programming knowledge is not critical to your career. The bottom line? You need to differentiate yourself somehow, whether it’s in familiarity with business systems or in strong technical abilities. There are core technologies you do need, though, such as XML or T-SQL skills. Develop these quickly and you should advance on the job.
Hope that helps!
John Overbaugh is a testing professional with 13 years of experience. He blogs irregularly at http://thoughtsonqa.blogspot.com and is a frequent contributor and testing expert with IT Knowledge Exchange..