Pros and Cons of a Career as a Software Quality Engineer
Software quality engineers are responsible for software development, inspection, implementation, testing, verification and validation. To learn more about this career and determine it it's right for you, take a look at the pros and cons of working as a software quality engineer below.
|Pros of a Software Quality Engineer Career|
|Favorable career prospects (25% growth projected during 2012-2022)*|
|High wages (annual salary between $48,000 to $99,000 as of December 2014)**|
|Opportunities for consulting and telecommuting*|
|Positions in various industries (computer hardware/software, healthcare, telecommunications, wireless technology)**|
|Cons of a Software Quality Engineer Career|
|Considerable education required (bachelor's or master's degree, as well as software testing training)*|
|Continuing software development training needed throughout career*|
|Full-time work can include over-40-hour workweeks*|
|Travel may be required for consultants*|
Source: *U.S. Bureau of Labor Statistics, **PayScale.com.
Job Description and Duties
Software quality engineers create, implement and manage plans for testing software. They also select the testing strategies and tools to be used for testing, including both automated and manual test tools. Testing continues throughout the entire software development and implementation processes. These engineers also plan, lead and perform audits on software to ensure that specific procedures and processes as well as any relevant regulatory requirements in the industry are being followed. When a company is considering new software, the engineer makes recommendations based on quality and performance specifications that fit the organization's needs.
Some software quality engineers are consultants who travel to businesses to work. Both consultants and regular software quality engineering employees may need to work over 40 hours a week. As more quality standards become necessary and new testing tools get released, continuing education is important for keeping skills current.
Career Prospects and Salary
According to the BLS, job growth for computer systems analysts, including professionals who work in software quality assurance, is expected to be faster than average. Overall growth from 2012-2022 is projected to be 25%, and growth in the computer systems design and related services industry is significantly higher, at 35%. In addition to growth in specialized industries, consultants should also see favorable job prospects. The BLS notes that job prospects can improve if you have a business background in addition to technical skills.
Wages for most software quality assurance engineers can range from $48,000 to $99,000, according to the national salary data on PayScale.com. Years of experience, the particular industry and your geographical location affect how much you earn. While a software quality engineer with 0-5 years of experience may earn about $63,000, one with 20 or more years of experience can earn around $91,000. According to the BLS, computer systems analyst jobs in general pay best on the East and West coasts, and the highest levels of employment are found in these areas as well.
What Are the Requirements?
Most employers require that candidates have at least a bachelor's degree in computer science, engineering or information technology. There are some that prefer candidates who have a graduate degree, such as a Master of Business Administration or Master of Science in Computer Science. In some cases, a higher degree may offset part of the experience requirement for jobs. Required technical skills include proficiency in operating systems, project management, database management, desktop and web application development, quality assurance management and risk management. To become a certified software quality engineer, applicants must successfully complete the certification process outlined by the American Society for Quality, but all employers do not require this credential.
Software quality engineers must be adept at solving problems and be quick decision makers. Software issues must either be solved in a timely manner or reported to development engineers so that necessary adjustments can be made. Management skills are also important since this is a lead position. Strong communication and organizational skills are needed for effective project management.
Job Postings from Real Employers
Employers generally look for degree holding, experienced professionals who can do more than test software. They also emphasize skills related to project management. They look for advanced programming experience in various languages, proficiency in web development and expertise in software quality management. While this only represents a small sample of employers, review the following job listings that were open in April 2012:
- A healthcare company in Phoenix is looking for a software quality assurance engineer with at least seven years of related experience and at least a bachelor's degree in a technical area, although an MBA is also acceptable. Required skills include proficiency in Microsoft Office applications, technical writing, risk management, infrastructure technology and leadership. The company prefers candidates who are certified in software quality assurance.
- An engineering/information technology firm in Arizona seeks a software quality engineer with a combination of education and experience, which ranges from a bachelor's degree and at least nine years of experience to a doctoral degree with at least four years of work experience. Some suitable majors include mathematics, engineering, physics and computer science. The company prefers a degree that has Accreditation Board for Engineering and Technology (ABET) accreditation.
- A California e-commerce company advertised for a software quality engineer who knows Unix and Linux, is proficient in software development and testing tools, has experience in databases, web-based applications and software quality engineering and knows how to manage projects. The candidate should also be proficient in the C and C++ programming languages and know how to develop secure applications.
- A business software solutions company in Austin is looking for a senior software quality assurance engineer with a computer science bachelor's degree and eight years of experience in quality assurance. Some required skills include experience with web applications, web services, automated testing tools and project management. Preferred skills include experience scripting in Windows, Unix and Linux, programming in Java and web coding in HTML.
How Can I Stand out?
Related courses, skills, work experience and industry-specific knowledge can help you stand out as a software quality engineer. Consider taking some courses related to software quality assurance and testing if they're available in your degree program or at a nearby technical school. System administration skills such as Windows and Linux scripting can be helpful in the testing process and are a preferred skill for some positions. Work experience in software testing or quality assurance can help you meet the experience requirements for software quality engineer jobs. Finally, knowledge of the security regulations in banking or healthcare can be helpful if you plan to test software for a company in one of these industries.
Earning the Certified Software Quality Engineer (CSQE) certification, a preferred credential for some companies, can give you a way to prove you are skilled in software testing. Offered by the American Society for Quality (ASQ), it is suited for those with at least eight years of work experience in software testing. The organization does waive four years of experience if you have a bachelor's degree or five years of experience if you have a master's. Exam topics include team management, testing methodologies, auditing, legal compliance, quality management systems, leadership skills, systems and software engineering processes, project management, software analysis and configuration management. The content also focuses on how quality engineering is beneficial to the organization as a whole.
Other Careers to Consider
If you prefer a wider variety of work rather than just testing software, you might want to consider a career as a software developer. These developers are involved with the entire software development process and may perform software needs analysis as well as software design, development, documentation and testing. Like software quality engineers, developers typically need a technical bachelor's degree and extensive experience in programming languages. With much faster than average job growth, expected at 30% from 2010-2020, software developers have favorable career prospects and can specialize in applications or systems software. As of May 2011, those who developed systems software earn a mean annual wage of $100,000, which is higher than the $92,000 mean annual wage for applications developers.
IT Project Manager
If you'd like being in charge of a team that develops systems or software, consider a career as an IT project manager. Directing other professionals, the IT project manager determines the proposed system or software requirements, figures out the costs and staff needed, sets goals and plans the actual installation. This career usually requires a technical bachelor's degree or master's degree as well as work experience in the field of information technology. Computer and information systems managers, including those who are IT project managers, should see favorable job prospects with a projected growth of 18% during 2010-2020. In May 2011, the mean annual wage for these professionals was $126,000, according to the BLS's.