Recently, I read a couple of posts with similar themes and a lot of them along the lines of "testers are failed programmers" discussion. Here is one of them that stuck the most - 5 Things a Beginner Developer (and Tester) Should Know About Software Testing by Bhumika Mehta.
First part of the post talks about some common reasons people don't want to become testers, or why they think testing is lesser to programming. It didn't surprise me, yet I was bit upset by it. Then I thought about how I got into software testing, and I realized something shocking thing:
I may be a failed programmer!
I admit, it's a little oversimplified statement. When I joined my first job, I didn't really know much about what position I was interviewed for. I just wanted to work in IT. I had no idea what I want to do but I knew I would enjoy programming. I had some very basic programming experience (if you can even consider collage programming any kind of programming experience, since I didn't really study programming).
I went through 2 months of training including some programming (specific to mainframe for this particular job). The training program included a series of tests, and a final test. I did pretty good in all of them. After I passed the training, I was finally assigned to a team - as a Quality Assurance.
I was really sad.
I did well in the training, didn't I?
So I will be pointing out errors in somebody's work? I will be telling them they did it wrong and their code is bad? How will they take it? How will I take it?
Surely everyone will hate me. I would really rather be a programmer.
Looking back, I am really glad I didn't qualify for a programmer back then. Not being one opened many opportunities for me which I could have missed if I just concentrated on writing code.
I didn't want to be the hated person, the failed programmer, the lesser of the roles. So I was doing all that I could to prove my usefulness. I concentrated on being useful and helpful team member rather than pain in the butt.
I learned how to look at things differently, see things programmers could not see, understand things in context, ask the good questions, understand the domain, communicate with stakeholders, and also, communicate with programmers in a way that the information I obtained through testing was useful to them rather than annoying. I have to admit, I was probably over compensating for feeling lesser.
I would have probably become a very average (if not worse) programmer. I am confident I became better tester and I bring more value as a tester today.
So what is the take away from this ramble? Don't let anyone tell you that testers are a failure, and even if you did come the the profession the way I did, don't let it discourage you.
It is sad that even now I see tester being treated as lesser, but even worse is when I see testers treating themselves as lesser kind. Of course testers often don't have that much coding knowledge (some have none). Their value is elsewhere - it may be in areas where very strong programmers don't excel, and that's why it's good to have them on board.
BTW, when someone asks me what I do, I answer that I am a software developer. Because I am, and all of you, testers, are as well.