Name magic doesn't make the problem disappear. So why not call yourself a tester and address the problem directly? That's harder than attempting name magic, of course. How can we do it? Maybe we'll never really get anywhere until we reverse an act of name magic that happened early in our industry's history.
We testers have an honorable calling. We have specialized skills and a mindset that is unique—and uniquely valuable—on software projects. But many programmers and managers don't believe we can do anything the programmers can't do just as well. For these people, programming is the highest calling, and the techies who write code are the only essential resources in software development.
I think one reason for this is a historical piece of name magic that we now take for granted. We started calling programmers "developers." This occurred to me a few weeks ago at the Agile 2008 Conference. Listening to agilists question how—or in some cases even whether—to integrate testers on their teams, I wondered yet again why testers are still having to struggle for acceptance as essential players in software development. It's not a new struggle; this is just the latest incarnation. In session after session, I kept hearing about the "developers" on agile teams. At some point I started thinking, "But what's a 'developer'? Aren't we all involved in software development?"
Software development consists of analysis, design, programming, and testing. These are all difficult intellectual activities that cannot be done effectively without a high degree of skill. The skills needed to analyze requirements, design user interfaces, or test are not the same skills required for programming. It isn't reasonable to expect one person or one group of similarly skilled people to possess them all to the level required to develop complex software. That's why specialist trades have evolved in our industry.
The reality is that we are all "software developers," whether we are business analysts, architects, designers—including the people Alan Cooper calls "interaction designers"—programmers, or testers. But by calling programmers "developers," we imply that all of software development can be done by programmers. Too many managers—most of whom started their careers as programmers—believe this, and so do a lot of programmers-perhaps most.
Calling programmers "developers" is an instance of name magic that inflates the programmer's role and devalues everyone else's. It reinforces a class system where programmers are the aristocrats and all the other trades are peons, perceived to be lower skilled, interchangeable, and expendable.