I recently interviewed a candidate for a testing position with our company. This person had started as a developer before moving to testing, and I asked him what drew him to testing. I’ve heard it said before that developers who end up in testing are the ones who couldn’t cut it as a developer, so I’m always curious when I see this kind of career pattern. One part of the answer surprised me as something that had never occurred to me:
“As a developer, you generally don’t get to interact as much with the user or have the chance to work with the application as a whole. Unless you are an architect, you are expected to focus only on this one narrow area. As a tester, you have a lot more contact with the entire team and when you are doing integration testing you get to work with the entire range of the application. You get to see how it works and why.”
Now, this person’s experience is not particularly broad, so one could argue with the degree to which this is true of developers in general, or the degree to which testers get the chance to interact with the entire team, etc. etc.. On the other hand, I have seen developers on big teams appear to be handcuffed by their lack of understanding of the broader picture of the application. It’s as if the leads get to think on that level, but the lower level developers aren’t given the same opportunities to attend the design meetings or do other things that would stengthen their understanding of the application as a whole.
When I compare that to what I have seen within testing teams, there doesn’t seem to be the same level of tunnel vision. Is it because testers tend to be involved in integration testing of some sort on most projects? Or do they end up needing the broader knowledge just to write their test cases or accomplish their executions effectively? Or are we just so short staffed that we have to wear many hats, so we don’t have the luxury of being siloed? I’m not sure. But I do know that I appreciate that aspect of my work. This is one thing that is really *good* about being a tester rather than a developer!