10 ways software testers can win autonomy and earn respect
It takes a lot of skill to be a good software tester—and it can take even more to be respected as one. eBay Quality Evangelist Jon Bach knows all about how to get respect.
How does he command it? He interacts with his tech and business peers in a thoughtful way. He asks questions. He listens carefully to the answers, welcoming unexpected outcomes. He's willing to be wrong. He's keenly aware of how behavior influences the way he's received by the people he works with. Self-awareness, he says, is essential when telling developers about potential problems you've uncovered in their code. "Your job as a software tester is to reveal problems and vulnerabilities in the application under test," says Bach, author of the blog Tested: Highlighting the humanity in software testing. "You have to behave in ways that improve the situation."
A professional tester for 20 years, Bach has been with eBay since 2011. His career has included stints at LexisNexis and Microsoft, among other firms. He's also active in the professional software testing community and is a regular presenter at conferences and events.
Bach's ideas about how to succeed as a software tester come at a time when the profession has evolved beyond early perceptions of software testers as little more than bug fixers. Today, the job is about making sure the right software with the right set of business features gets delivered. Still, stereotypes about the profession persist, including the one about software testers playing second fiddle to developers and not getting involved until the code is finished.
Here's Bach's guide for software testers: 10 ways to win credibility, autonomy, and respect.
1. Assume respect from others
There's only one place to start, says Bach. "Let's assume we do get respect." If you're willing to be bold, rejecting the status quo can result in positive changes. For example, instead of grousing that you weren't invited to the software requirements meeting, show up and take your place at the table. Bach has done just that and was well received. "Whatever you feared isn't likely to happen," he said.
2. Behave in ways that improve the situation
A software tester's job often requires walking a fine line to not offend while making sure no concern goes unaddressed. "I don't want to waste anyone's time. Nor do I want them to not consider my issue," Bach says. One way to be effective is to approach each issue as a fact-finding mission and remain open to the outcome. For example, Bach found an eBay listing that was slow to load. Instead of telling his peers he found a big problem, he said, "It's taking 480 milliseconds. Is that OK? Is this a problem? Maybe it was just happening yesterday." Bach approaches exchanges like this with diplomacy and by keeping his ego in check. "You have to have courage. You have to focus on your humility," he says.
3. Aspire to excellence
Establishing and adhering to broader principles that guide your work provides a helpful framework for dealing with difficult conversations. As a software tester, "I am vigilant about improving the culture, improving the process," Bach says. He recommends that all software testers define their own standards of excellence and act accordingly. "What makes you excellent? What does excellence mean?" This doesn't happen overnight, but it's useful to understand the answers to these questions, he adds.
4. Ask the dumb question
Here's a scenario common to all professions, not just software testing. You're in a meeting. A question or comment occurs to you, but you keep silent. "Nine out of 10 people don't speak up," Bach says. But hiding what you don't know—or failing to weigh in with a concern—is a mistake. Bach once asked: "What's a bug?" Some peers may have given him funny looks at first, but a meaningful conversation followed. "It was almost Zen-like," he says. "I don't mind being the one who asks the dumb question." How does Bach define a bug? "Every bug is a story. I wanted something to happen and I got this instead."
5. Provoke a conversation that has to happen
Software testers can earn respect by taking the lead when problems arise. "I go to the whiteboard and draw my understanding [of the issue under discussion]," says Bach. Participants weigh in with their feedback: "Yes, 'that's the model,' or 'do we need this piece?'" they might say. "A good software tester doesn't mind playing agent provocateur. It's about provoking a conversation that has to happen."
6. Go meta
Another leadership tactic Bach employs is to focus on the big picture—beyond the project and the company. "A good software tester can go meta," he says. As a way of determining acceptable page load times, Bach once asked: " 'How does Amazon do it?' It was a way of seeing how our own product was doing."
7. Expect scrutiny, and be prepared
Software testers who do their homework get respect. "When you go in with a bug, expect questions, and make sure you know the answers," Bach says. For example, if the bug occurred in the Chrome browser, a developer is likely to ask, "Does it happen in Safari? Did you clear your cookies?" There's going to be scrutiny, Bach says. "You want to be able to say, 'Yes, I checked that.' "
8. Save face by using safety language
The most effective way to describe a problem found in testing is to use what Bach calls "safety language." Phrases like "It seems as if" or "It could be" or "according to what I saw on my machine, at this time, under these conditions" show respect for others. What's more, they let you save face when, for example, a developer tells you, "You didn't configure your environment correctly. You didn't set the flag," Bach says, recounting a situation that actually happened to him.
9. Just say "Got it"
Software testers are vigilant about finding and fixing vulnerabilities in code. But you have to know when to stop. A developer once told Bach: "Jon, relax, this is a just a beta. It went to three customers." When that happens, stop talking, and don't explain. Just say, "Got it!"
10. Prepare to be tested
To maintain the respect of others, software testers should be ready to work in a hostile environment. That way, you won't lose your cool when things get tough. "Keep your center; don't get excited; don't get defensive," even when people speak harshly, Bach says. "Prepare to be tested yourself. Be prepared to be wrong. Keep an even keel."
What drives Bach's approach as a software tester is simple common sense, and yet his tips for succeeding—and being received with respect—are notoriously difficult to implement. But they work for him: focus on your humanity. Be honest, do your homework, stay self aware, be open to all outcomes, define and follow your own code of excellence, know when to stop, and be willing to be wrong. "It is simplistic," he says, "but not simple."
What are your tips for earning respect as a software tester? Let us know—and help put the old stereotype that software testers get no respect to rest once and for all.