When I started prepping for this interview, I wasn’t entirely sure what a quality assurance (QA) engineer did on a day-to-day basis. However, in a world where STEM (Science Technology Engineering and Mathematics) has become the buzzword du jour, I knew this important technical role was something more and more companies will need in the future. To get more insight, I sat down with Webroot QA Engineer Sopall Ngim to talk about the importance of a quality assurance engineer in a cybersecurity organization.
Webroot: Hi, Sopall. Let’s start by talking a bit about yourself and your role at Webroot.
Sopall Ngim: I started my career in medical device research and development, and then a former co-worker convinced me to change careers and become a QA engineer. I have been working in the software testing field ever since. What I like about testing is that it gives me the opportunity to work with the whole product/system (end-to-end) instead of specific components within the system. That is, figuring out whether or not it will work in a customers’ environment. Because most of the time, we don’t have all the customers’ specific conditions and environments, test engineers need to take a thinking-outside-the-box approach to figure out what needs to be tested and how. Also, because testing the system in every customer’s environment and condition is not realistic, I like the challenge of designing tests that require the least amount of effects, but get the most test coverage.
Sounds like you are a bit of a puzzle solver at work. Going back further, how did you get interested in tech in the first place?
My interest in science and technology came about when I visited the Boeing 747 assembly plant in Everett Washington at 19, seeing machines move different sections of the airplane together into precise locations so that they could be joined got me curious about how the system was controlled, and how it worked.
I must admit, Sopall, I’m not sure what you do! What is QA?
The Software Quality Assurance/Testing role works as part of the product delivery team to ensure the release software meets end users’ expectations. We ensure that the software will work in the customers’ environments and help them with their daily tasks. As part of the product delivery team, a test engineer is responsible for designing tests that will fully validate the functionalities of the software being tested, then running those tests.
Take us through a day in the life.
As part of a product delivery, QA Engineers work with their internal team members to:
- Review user stories and requirements to ensure they are well understood by everyone on the team
- Attend design discussion and review
- Design and develop tests to verify the functions and features included in the release
- Perform tests and develop automation test scripts
- Communicate any defects found during testing to the team, and see that they get resolved in a timely manner
- Communicate test statuses to the team
Have you ever found any surprising— or unexpected but awesome—outcomes while testing?
No one specific situation that sticks out, but one thing I learned throughout my career is that software should be developed to solve customers’ problems or to help them become more efficient in their daily tasks. End users won’t buy software just because it uses new technology or has a flashy Graphical User Interface (GUI).
What’s the biggest lesson you’ve learned from working in the field?
Merely gaining a solid understanding of the technologies used to develop a product is not enough to become a good test engineer. To become a good software test engineer, one needs to have solid domain expertise in the business of software development, and a solid understanding of how customers will use the software or service.
Any advice to students in your field?
To become an effective test engineer in a client-server application system, you need to have a solid understanding of network communication across the internet, as well as an in-depth knowledge of the relational database. Also, with today’s competitive market, a fast go-to-market timeline is very important. Companies want to release products frequently, which means test automation becomes increasingly important. Instead of trying to learn every existing programming language, pick one and become an expert in it.
Great advice. Seems we all need to be an expert in some aspect of our field these days. Switching gears, tell us about working for Webroot?
Prior to joining Webroot, I worked for several other companies ranging from a startup to a well-established company. When searching for new job opportunity, I always try to look for a company that:
- Develops products or services that help make people’s daily lives better
- Values everyone’s input and contribution
- Provides everyone with opportunities to learn new skill sets
- Encourages employees to balance their work and life
Webroot has all of the above. Testing is not an afterthought like in most companies. Test engineers are part of the process from start to completion. We’re involved with designing and releasing decisions. Every team contributes to the approach and has a say in how to implement the feature being worked on.
Wonderful advice for anyone looking for a career, not just a job. Thanks, Sopall!
Are you interested in a career like Sopall’s? Check out our careers page at www.webroot.com/careers. You may be particularly interested in our openings for DevOps, Quality Engineer or Sr. Software Engineer, Windows in San Diego, or our open DevOps, Quality Engineer position in Broomfield, CO.