Why Not Train Testers Early with Software Testing Degrees?
Let's play a game. Imagine that you're development manager and you have a choice between the following two candidates:
- Candidate #1: Graduated from M.I.T. with a Computer Science degree. For my senior project, I collaborated on a smartphone app to find and reserve parking spaces on campus. Skilled in the following languages and tools: LAMP, Python, Ruby, Java, Gerrit, .Net
- Candidate #2: Graduated from Harvard with a Journalism degree. For my senior project, I wrote a thesis about best practices in software development. I am a self-taught Python enthusiast and have a familiarity with other technologies. I have great analytic and organizational skills and am very willing and able to learn.
Which do you bring in for an interview? If you said the candidate #2, you’re lying to yourself.
But this is what we do every day for junior software testers. We hire journalists and art historians then put them in the awkward position of having to learn their technical skills on the job, in the middle of a technical team. I’ve been in many discussions recently about how transferable the skills are –the investigative nature of all of those disciplines, the inquisitiveness, the ability to organize information… but I’m calling BS on all of it right now. Those are, of course, excellent skills for any professional to have, no matter what their profession. But how does it really help you run SQL queries against a database to look for data anomalies? Will it help you decipher logs and run analysis tools so you can pinpoint the source of the error?
Earlier this month I spent ta couple of days with my colleagues at the STAREast conference, listening to presenters explain to a roomful of testers about modeling workflows and data transitions, managing test environments in the cloud, writing automation scripts for regression tests, best methods for exploratory testing, running mobile test lab. As I looked around the room at the raw intelligence of the people who are not only absorbing that information but probing deeper into it during the Q&A sessions, I had to wonder how much easier each of their careers could have been if they had been allowed to major in software testing in college.
I applaud testers and their ability to rise to where they are in technical knowledge. I also cringe at talks that teach them how to use their journalism skills to be a better tester. As we demand more of our software testing, from tools to methodologies, and as the software development world becomes more complicated with mobile and regulated industries, testers are asked to become ever more fluent in a variety of technologies. The technical demands on them are as hard as their development counterparts…and yet, we still rely on them learning on the job or getting a variety of certifications to prove they have training.
It’s time to create a college curriculum that gives students a chance to choose testing as their major and career - as opposed to tripping into it because there are no jobs in art history. It’s time to give employers a testing workforce that is competitive and trained so they can stand toe-to-toe with the development team. Imagine the power of being able to hire a recent college graduate who has been taught how to develop system diagrams, build complex SQL, run log analysis, set up a cloud test environment, and write automation scripts.
No more crossing your fingers that this eager young face in front of you can really pick up those skills, and no more investing so much time and money in training them on the job. We ask no less from technical writing and development. Why do we have such different expectations for one of the most important functions on the team? I’m practically drooling as I write this and picture the brute force of a QA team full of software testing majors.
If we solve this problem, we solve many other problems at the same time: the inefficiency of a testing team that has to learn as they go, the constant muddling around about where testing belongs in the cycle and who should do it, and the salary inequity between testers and developers.
Best of all would be to put to rest the question of whether we need testers at all. I think the only people who pose that question seriously are those who haven’t worked with deeply skilled testers and thus haven’t seen the value those testers can bring to an organization and a product.