When we think of the major forces shaping our civilization, you may think of governments and corporations, or breakthroughs in science and technology. Usually we consider these forces by the end results, like improvements in city transportation or cures for disease, rather than the dynamic relationships between people who really drive it all forward.
Lately, there have been quite a few inquiries flying around the Web about the differences (or lack thereof) between software developers and testers. It’s become somewhat difficult to know if the two are converging, diverging, secret lovers or bitter enemies. But when I took a step back to examine these fundamental roles in software production, I began to see the dynamic between developer and tester as a critical element shaping the future of software. Let me explain…
Much like all of life around us, software production arose from of a primordial ooze. This one was a messy mixture of data geeks, gear heads, and brilliant visionaries mostly operating out of their garages. Back in the heyday of early computer science, the “developer” and “tester” roles hadn’t really evolved yet. We often forget, in our debate about their differences in personality, skills, and video game preferences, that these job functions—absolutely essential to our world today—are relatively new and still evolving.
So much has happened in such a short period of time that it's mind-spinning. In one generation, we introduced a large fraction of humanity into an interconnected web of information, entertainment, and unprecedented opportunity literally held in the palms of our hands. So, why do I see the developer/tester relationship so fundamental to that grand creation? Some of it is a little obvious—one creates the content, the other makes sure it fulfills its purpose and works for the people who use it.. They each grow in response to each other, they are inexorably linked and dependent on each other, and as one is revealed to be essential for the world we are creating, you have to see the other in a new light.
Right now, attention is falling on the importance of the software tester, and for good reason. Major software security issues are threatening critical sectors. Software defects rack up huge expenses for individuals, businesses, and countries every year. As our civilization increasingly relies on the enormous gifts of software technology, making sure those programs and products do what they are supposed to will never not be absolutely essential.
The importance of quality software follows our dependence and interest in using software. And the more people trust software as a fundamental aspects of their lives, work, entertainment, and education, the more software will continue to thrive, to grow. So, the tester/developer relationship is one that can’t be divided, and (as we’ve seen in the past few years) is only growing towards greater collaboration. Yet, the distinction between the two roles, I feel, will continue to be clarified as the importance of both the developer and tester continues to be recognized.
Software developers and testers are the dynamic roles the whole of software revolves around, originates from, and feeds back into. And, since it doesn’t look like the ship of civilization will be steering away from its reliance on software anytime soon, I say we all could stand to stop and consider what’s really going on in the creative soup between tester and developer…and give them both their due props!
What are your thoughts on opinions on Testers vs. Developers? Are they friends? Enemies? Should they fight to the death, or hug it out? Weigh in with your experiences in our comment sections.
Meg Cater is Technical Content Manager at SmartBear Software. Before entering the software world, Meg was a journalist specializing in STEM education and global environmental issues like clean water and sustainable chemistry. Her current passion centers around the investigation of how software is shaping our globalizing world and international security, communications, medicine, entertainment, art and culture.