Image: Shutterstock iJeab

Marc Shiota didn’t expect to start working for an aerospace company doing testing on software and hardware after he earned his bachelor’s in physics, but that’s where he ended up. “These planes aren’t flying anymore,” he said. “It was like a Top Gun airplane.”

Now the head of quality, reliability and resilience at AnyRoad (an experience relationship management platform), Shiota recalls the aerospace position as his entry into quality assurance—a career he stuck with.

There were the people who wrote the code, the programmers, and the people who made sure it was built correctly—the area he found more interesting, Shiota said. “It’s not like they try and create bugs,” he explained, “but you need an arbiter, you know, the person who makes sure the customers are taken into account.”

In those early days, Shiota learned from mentors, his senior colleagues. “We had to figure out: What are the important things to test? How do you check it? How do you validate it?” And it’s not simply pinpointing the errors, he said—it’s about troubleshooting. “It’s not good enough just to say it’s broken.”

SEE: Software QA testing: Secrets from a veteran QA engineer (TechRepublic)

Working in QA is about giving the developer an idea about solving the problem. “That’s what I was taught pretty early on—that, you know the details of what you found, like the bugs, and write really good bug reports.”

It’s a collaboration with developers, in a sense, but Shiota says it shouldn’t become a back and forth, “Like, ‘oh, did you check this?’ You want it to be complete. You’re sort of like a detective.”

While there are certificate programs available for QA, Shiota mainly learned on the job.

The most direct route to becoming a QA tester is going to college and earning your computer science degree, he said. If you’re lucky, someone will hire you from there. One of his coworkers once said that in the world of software engineers, “there’s builders and breakers. QA testers are really the breakers.”

SEE: Hiring Kit: Quality Assurance Engineer (TechRepublic Premium)

Shiota works closely with developers and product creators to ensure the highest quality, being mindful of whether or not a feature is testable, for instance, and if so, how it could be tested. In the field, many QA testers start as manual testers, he said, and “there’s definitely a move towards having testers that can do some scripting or programming to automate tests.” And after that, whether it can scale, or work in production the way it’s intended to do.

Automation is important, but Shiota doesn’t think it will ever fully replace workers. “Because the product changes, you need to update the tests,” he said. “You’re always going to need people to update those, those tests update, find bugs. If you ask somebody, ‘when was the last time your automation found a really good bug?’ Most people would say, ‘Yeah, not really.'”

It’s now his third week on the job, so Shiota is mainly focused on learning about the product and gathering information from his colleagues. Like many tech workers during Covid, he’s working from home—so he hasn’t actually met his colleagues yet—and tries to log onto his work by 8:30 every morning. He hopes to plan an in-person meeting in Portland, Oregon, where he’s based, sometime soon.

As part of his routine, he works in spring planning to make sure the tickets are getting done and are assigned, planned out, he said. He’s also assembling a new quality team, and so needs to think about what is important to focus on, what to add. “How do we determine metrics? What do we need to do to get the new process in place?” The team will include a lead QA engineer to help with creating a framework for automation, who will work with another QA tester to complete the tasks. He’s also looking for a performance engineer to do some performance testing.

He’s happy about this new role, since in the past, he was “part of the team that has implemented somebody else’s vision,” and now he can figure out what he finds important.

Being a QA tester is ultimately about being flexible, and realizing you can’t test everything, Shiota said.

“You can’t find all the bugs,” he explained. “It’s just not possible.”

Read more articles in this series

Subscribe to the Developer Insider Newsletter

From the hottest programming languages to commentary on the Linux OS, get the developer and open source news and tips you need to know. Delivered Tuesdays and Thursdays

Subscribe to the Developer Insider Newsletter

From the hottest programming languages to commentary on the Linux OS, get the developer and open source news and tips you need to know. Delivered Tuesdays and Thursdays