How is software released without any bugs? QA Testers! So what is QA testing and what do QA engineers do? AJ Larson, Quality Assurance Bootcamp Director at Devmountain, explains how QA fits into the software development lifecycle, the tools you need to know learn to be a QA tester, and the difference between web development jobs and QA jobs.
AJ got his undergraduate degree in Computer Information Systems and his Master’s degree in Information Systems, but says that most of his development experience and QA practice didn’t come from his CIS degree!
QA stands for Quality Assurance. At a high level, QA Testing exists to confirm that the product you're making is the product that the customer wants and is released with no bugs.
Back in the day, software developers would build the software, hand it over to QA testers, and testers would manually test software and send back a list of bugs to be fixed.
The new wave of QA is more efficient. At Devmountain, we train people for the new wave of QA, which means that QA is involved in every step of the agile development process. QA testers are sitting in on design meetings, are on calls with clients, are in all of the standups, and are looking at code as soon as developers are writing it, instead of waiting for the whole product to be done.
A QA tester is specialized in having the customer mindset championing the customers and asking questions to make sure that everybody is on the same page and nothing is missed. In the long haul, QA saves time and money.
What makes a great QA Engineer?
When I'm interviewing a QA Engineer, I look for good questions. At Devmountain, we look for students who can ask effective questions, spot flaws and contradictions, notice missing pieces. The kind of person who enjoys solving problems. Somebody who can drill down and not be satisfied with the easy answer.
You might be a good fit for QA if:
You enjoy reading through a document to copy edit.
You're the one who spots others breaking the rules of a game.
You're willing to do the research to figure something out.
You have the drive to learn.
The tools we teach our QA Engineers are:
Page Object Models
At a high level, we essentially teach people how software is developed and how we can fit into the development lifecycle to represent the customer as well as the end goal. Students will learn:
Different ways to test software and solve the problems they find during their tests.
How to interpret and break down requirements into testable acceptance criteria
How to know when a product is ready to be released.
How to get the results of their tests
How to communicate their test results effectively
How to work effectively with the development team.
How to improve the product and make sure that the customer is happy.
Do I need to know how to code in order to be a QA Engineer?
That depends. Every company has a different idea of what a QA Engineer should be. You might find really successful QA Engineers or QA Analysts who don't know any code. You'll find other companies that want a mid to senior-level developer who also knows how to QA.
I taught one student who ran a house cleaning business and is now an Automation Engineer. I had another student whose only job after high school was delivering donuts and he ended up training his entire QA department. You definitely don't need a technical background to get into QA Testing. You can have a successful career with a small amount of programming.
What goes into a QA Engineer Resume or Portfolio?
There's not exactly a standard “QA portfolio.” At Devmountain, we equip students with experience on different projects. Wherever possible, we get real-world projects for them to work on. That could be a company who invites our students to test their products. We'll make sure they have good test plans written out to show along with good automation on Github that they can show their prospective employers. Those experiences can be used as talking points in interviews.
What to expect in a typical QA job interview:
If there is a lot of automation listed in the job description, then you should expect whiteboarding in the interview. However, code challenges are more common in QA. In all QA interviews, you should expect to respond to sample situations. They might give specific examples relating to the lack of supply in relation to the demand for these jobs, too. Sample QA engineer interview questions might be:
Given this situation, what would you do?
If the lead QA is sick or the person you're replacing has been gone for a few weeks, how are you going to ramp up and figure out what's important?
Who are you going to talk to in order to plan your approach?
What was your favorite bug and why?
QA Testing Jobs
You can expect job titles like Automation Engineer, QA Tester, QA Engineer, QA Analyst, Software Test Engineer.
When students graduate from Devmountain, they tend to go into QA Analyst or QA Engineer roles. Most automation positions expect you to know a lot more code. For our students who already know a good amount of code, it is possible to jump right into an automation position. Jobs with “automation” in the description tend to be mid- to senior level jobs when it comes to QA. I have seen students with three months of experience qualify for those mid-level positions once they've gotten their hands on and a bit more know-how.
A Changing QA Engineer Job Description
The job will continue to change, but the need for it is only going to grow alongside the industry. Before I came to Devmountain, the demand was outrunning the supply of QA engineers. I have seen the expectations change a lot more with QA than with other positions within the tech world as well. As development changes, QA needs to change with it.
Is QA testing easier than becoming a developer?
There has always been this stigma: "You can't hack it in development? Just go into QA." That mindset is not entirely wrong. QA tends to be easier to get started in than development. You don't need to learn full-stack development perfectly, so the pressure is lower in QA. There are a lot of people who successfully use QA as a stepping stone into the rest of the tech industry.
Deciding between QA and web development
One question that I like to ask prospective students is, "Would you rather get a design and then build something that meets those requirements? Or would you rather get the product and prove whether the design meets the requirements or not?" Are you going to have more fun making something that meets expectations or breaking something?
QA Engineer Salaries vs Web Developer Salaries
There’s a misconception that QA engineering isn’t as lucrative as web development. If you are willing to do the work to get into automation, then you will make a salary on par with a web developer. You are basically a developer who is all about quality,
If you only stick to manual QA, then you might not make as much or be able to grow as far as more tech-savvy QA Engineers. The average salary for a Manual QA Tester salary is ~$78,566/year, according to Zip Recruiter.
In my opinion, it is easier to grow faster in QA than it is in development because the industry is lacking people with the technical QA skillset while Developers are plentiful.
There are sites like Guru99 or Meetups and organizations like The Ministry of Testing. Locally, I'm part of a group of QA is the Point. Look for a Meetup near you! There aren't many great resources for QA.
To find out if QA is a career you like, I recommend finding a website and playing with it. See if you can make it break. Mess around with the internet and video games to see if you can cause problems. If you get that excitement, that's a good place to start.
The Course Report March 2020 news roundup podcast for coding bootcamp news.
Holberton School answers all of our questions in this guide to Low Level Guide to Programming!
Updates, Scholarships, and Tips for Succeeding at a Remote Bootcamp