A software quality assurance (QA) engineer monitors every phase of the development process to ensure that the design and software adhere to company standards. Software delays are costly for a company, so it's vital for releases to meet target dates and stay within budget. A software quality assurance engineer helps meet deadlines by breaking up the development process into attainable testing goals and relaying any issues back to the development and product teams or leaders.
Software Quality Assurance (QA) Engineer Duties & Responsibilities
A QA engineer's duties can be diverse and comprehensive. They generally perform the following tasks with some regularity:
- Document test cases
- Perform and document risk analysis
- Record test progress and results
- Code automated tests
- Create test plans
- Develop standards and procedures to determine product quality and release readiness
- Discover bugs within software
- Drive innovation and streamline overall testing processes
- Identify, isolate, and track bugs throughout testing
- Identify any potential problems that users might encounter
- Perform manual and automated testing
- Research and analyze product features being tested
- Research new tools, technologies, and testing processes
- Review user interfaces for consistency and functionality
Software Quality Assurance (QA) Engineer Salary
Software and computer technology tend to be higher paying fields.
- Median Annual Pay: $88,510 ($42.56/hour)
- Top 10% Annual Pay: More than $139,390 ($67.02/hour)
- Bottom 10% Annual Pay: Less than $46,240 ($22.23/hour)
Source: U.S. Bureau of Labor Statistics, 2017
Education, Training & Certification
A QA engineer should have a thorough understanding of QA testing environments and software development life cycles. Education and licensing are also required.
- Education: Jobs in this field usually require at least a bachelor’s or master's degree in software design, engineering, or computer science. Approximately 70% of those working as QA engineers have at least a bachelor's degree.
- Experience: Prior practical experience can be valuable, so you might consider working a series of internships while in school. Gain an understanding of software QA methodologies, tools, and processes, knowledge of SQL and scripting, working experience in software development and software quality assurance, and keep current with current trends and latest advancements. The state of the art in computer programming can change rapidly.
- Licensing: There is no license or certification required for this position.
Software Quality Assurance (QA) Engineer Skills & Competencies
A software quality assurance engineer must have strong skills in a variety of categories: engineering and technology, math and science, verbal and written communication, problem-solving, reasoning and logic, and practical skills. These can include:
- Communication skills: Clear and accurate written and verbal communication is a must, but a quality software assurance engineer must also have more than a little tact. Your job will be to tell other professionals that they've done something wrong and that the program or app they’ve put time, money, and emotion into creating doesn’t work right. That’s something nobody wants to hear.
- Ability to work as part of a team: You might not be the only software quality assurance engineer at your company, and you'll certainly be working with other programmers and members of other departments. You must understand and appreciate their goals and objectives and, in some cases, explain problems and necessary solutions.
- Time management skills: Part of working on a team means working within other people’s timelines and finishing your work within reasonable deadlines. You won’t know when a problem might arise, so keeping on schedule can require strong time management skills.
Job growth in this field is expected to be about 5% to 9% through 2026. It's expected that more than 22,000 jobs should be added from 2016 through 2026.
Software quality engineers work in a variety of fields. You might find them assessing whether an airplane's control system meets required performance standards, designing a plan to test potential human errors in an automated system for drug delivery, or making sure a video game won't crash just when you're about to take out the bad guy.
You'll spend some of your time alone, on the computer, analyzing information and solving problems, but this isn't to say that you'll work in a human void. Approximately 85% of those working in this position report that they have face-to-face contact with others every day. About 77% say that they spend the vast majority of their days seated, however.
This is generally a full-time position, but it can depend on the company. Some smaller firms might not have needs that require a full-time staff in this capacity.
Comparing Similar Jobs
While most similar jobs are in the technology industry, others are not.
Source: U.S. Bureau of Labor Statistics, 2017