What makes a great QA Engineer?
It's easy to recognize a good QA engineer when you find one. The obvious job-description answers are:
Easy enough - we've all seen that list. So what makes a great QA Engineer?
Let's break down our fictional job description and look at the specifics.
Another critical skill that comes with experience is knowing how to choose your battles. Not all your bugs can be fixed, so don't insist that they must be. Everything is a negotiating process. Your role is to define the bugs that will cause more problems than others, and do your best to explain the bottom line. If a similar bug caused 2000 support calls last year, don't be afraid to say so. And at the end of the day, recognize that you are all on the same team and working toward the same goal: to make your product as good as it can be.
A few years ago, I was matched with a programmer to work one-on-one on the audio component of a project. Although I was still very junior, I was chosen to head up the QA effort on this component because I had several years of experience working with digital audio. I drew up a list of questions and bugs, and scheduled a meeting with my engineer. When we sat down together, the conversation went something like this:
QA tester: "Hey, so I wanted to ask you about a few things."
Programmer:"Great! Would you like an overview of the new features I'm working on?"
QA tester: "Yeah, that'd be great."
Programmer: [cue best boring professor drone] "Digital audio is a way of representing a sound wave using ones and zeroes. If you use more ones and zeroes you will have better sounding audio. You store the ones and zeroes in files on a hard drive. When you want to play back the sound, the computer sends the ones and zeroes to your soundcard, which then converts the ones and zeroes to a sound wave, which gets played through your speakers."
QA tester: [patiently waiting for the Digital Audio for Dummies lecture to end]
Programmer: [not stopping anytime soon]
QA tester: [fifteen minutes later] "That's a really good overview of digital audio. I was actually specifically wondering about how we'll be doing the QuickTime integration, because we'll need to make sure we sync the onscreen vu meter to the actual audio output. Currently there's a 2 second lag which can be pretty confusing for users..."
Programmer: [mildly confused look, patiently tries to explain it again, more slowly this time] "Digital audio is a way of representing a sound wave using ones and zeroes."
QA tester: "Yeah, I -"
Programmer: "The quality of your audio depends on how many ones and zeroes you use to describe it."
QA tester: "Yep, hey, did I ever mention that I love digital audio? In fact, I was the technical editor for one of the first books on MP3 audio last year-"
Programmer: "The computer sends the ones and zeroes to your soundcard..."
QA tester: "Oh, whoah, hey, look at the time - jeez, I'm sorry, I have to run to a QA meeting! I'll email you a list of questions."
I met with this same engineer several times over the next two weeks, and every time it was an identical conversation. After a while I got frustrated and even a little paranoid. Why does he think I'm an idiot? Do I just look stupid? Is he talking down to me because I'm a woman? I tried talking to him in only highly technical terms, but I still couldn't get through to him, no matter what I said. Then one day, a breakthrough came! I was at the whiteboard, explaining how I wanted a feature to work, and something clicked. I explained a new solution to a user-interface problem he'd been puzzling over for a while. From that moment on, he stopped talking down to me, and listened carefully to what I said. I could not have been more proud of myself, and I secretly counted that moment as a major victory.
Several weeks went by, and a very senior QA engineer joined the team. One afternoon we got to talking about an audio feature, and came up with a few questions for the audio programmer. Together we walked over to talk to him, and I was astounded to watch him give the same lecture, nearly verbatim, to any questions the senior QA engineer asked. I wish I could say we came up with a clever comment, but we both sat there with our mouths open. To my further surprise, when I restated the same questions, the programmer listened to what I had to say and answered thoughtfully. My more senior coworker was every bit as insulted as I had been - maybe more so. But we figured out what was going on after he got the same infuriating treatment for two weeks straight. That programmer didn't know a single thing about digital audio when he began this project - he taught himself everything from reading books and researching on the web. He wasn't trying to insult anyone - he was just as dense as a post. He didn't know anything about digital audio, so he assumed that no one else would, either. It took him two weeks to get the basics down - he was just giving the rest of us time to catch up. Moral of the story? They really aren't out to get you. Being paranoid helps no one.
Until next time... Have fun and don't take yourself too seriously!
~Lorna