I have a question for you: will you be happy doing what you do in the present 10 years from now? Or on the contrary, quite likely you'll realize that you ended up on the wrong side of the IT spectrum? If that happens, let's hope it won't be too late...It happens all too often that ads for testing jobs attract candidates who think of QA as a jumping board for a future career in development. With this plan in mind, they’ll accept testing as a temporary job, while really aiming for a developer position. When (and if!) they succeed getting their "dream job", the HR specialist has to find another QA… People interested in IT are asking themselves whether they have what it takes to become a good IT professional. They weigh the time and resources they’ll have to pour into their careers in order to become a developer or a tester. They can find guidance in a lot of online materials that help them assess their qualities, what the ideal candidate looks like, tasks lists and so on... What strikes me though is that there are virtually zero materials on the psychology of the two roles we're discussing here. What's the ideal psychological profile of a developer? How about of a tester's?
As this is a fairly new domain, there is no claim of completeness. But we could agree that different skills are ideal for testers as well as for developers. Knowing the different skill sets for the two roles would allow us to perform a preselection based on, for instance, the hobbies and the types of games a candidate prefers. Interestingly enough, this is the area where candidates tend to be the most honest on their resumes!
During the millennia of evolution, prehistoric people have developed (pun intended!) instincts depending on the resources which they had at hand. Before the primitive agriculture appeared, men focused on hunting and fishing, while women specialized in foraging for forest fruits, mushrooms, edible roots, wild eggs, firewood and so on. As a parenthesis, those instincts are still present today. For most women, the foraging instinct got a modern shape: shopping. Likewise, we can safely assume that the passion for selecting (or should we say "gathering"?) clothes, goodies or special offers, is as intense as men's passion for hunting or fishing. The success in finding an elegant skirt, particularly at a discounted price, can raise the cardiac rate like meeting a snow-leopard, a black goat or a white shark… OK, I'm not trying to be sexist here, I know it's a gross generalization, but please bear with me in this exercise. My main premise is that while developers will excel in agricultural skills, a tester will feel better hunting for dangerous beasts (or nasty bugs). Of course, the two species are related, but for a plus of clarity, we’ll focus on the concept of trueborn developer and tester.
By the nature of their profession, the developer must be constructive, meticulous and cautious. She has to code absolutely all scenarios required by the application. She has to be organized and systematic with each row, to perform all CRUD operations (sow, irrigate, hoe, harvest) without missing any plant or tree. The developer prefers strategy games, where she builds modules and infrastructure on a bare island, feeds and maintains flows, manages supplies, discourages attacks by building (fire)walls, etc. Anyway, if she gets involved in a fighting game, the developer will focus on a detailed strategy and will not be interested in what she considers naive and ridiculous "heroic" attacks.
If the developer loves sports and outdoor activities, he’ll prefer the ones which involve dexterity, endurance, strategy or admiring picturesque landscapes and historical cities. If a developer practices martial arts, they often excel in self-discipline, auto-control, kata, and body and spirit enlightenment, rather in combativity.
By contrast, the bug hunter has a flair of "smelling" the place where the hungry rabbit might jump from. They know where clean, shallow waters can be found, where the trout attack the launched fly… But they also know how to fish in murky waters as well… By its nature, testing cannot be exhaustive. Fortunately, that's also true when hunting or fishing, although sadly we tend to over-hunt or over-fish, but that's another story. Hunters and fishers are usually excited by big trophies. Likewise, testers chase important bugs first.
(Theodore Roosevelt on the Smithsonian–Roosevelt African Expedition. The expedition's purpose was to collect specimens for the new National Museum of Natural History.)[/caption]Of course, an experienced hunter doesn't go by luck. He makes plans, uses maps (diagrams), gathers information, prepares all the tools in the arsenal, knows the paths to food, water, and rest (resources), takes into account the time of day and period of the year.
To me, it doesn’t come as a big surprise that ancestral hunting methods have incredible similarities with modern testing best-practices. Let's see a few examples:
Only automation testing has a modern yet even more barbaric correspondence: the systematic and yearly mass-killing of enclosed wild boars, for instance. A particular name comes to my mind… Fortunately, automatic testing only helps to identify all the bugs…
(Indian deer hunters)[/caption]Anyway, better to keep in mind that bug-hunters are prone to take action and risks, but they will certainly NOT take anything for granted… Testers will take out of their satchels all kinds of surprising scenarios, frontal "attacks" and fancy detours. They are searching for weaknesses and try to exploit security breaches…
Instead of offering a definitive conclusion, I invite you to continue this essay or to find "bugs" in my line of reasoning. At least, this way you might discover which elite caste you are part of. And, if you are ready to be inspired by yet another metaphor: just like God's Creation is continuously tested by Lucifer's army, coders' creations are always put under pressure by testers!