Pros and Cons of a Software Test Engineer Career
Software test engineers, also known as QA engineers, both use preexisting and design new testing tools to ensure programs work. To determine whether this career is right for you, take a look at the following pros and cons of being a software test engineer.
Pros of a Software Test Engineer Career |
---|
High salary ($103,000 median systems software engineer salary in 2014)* |
Job growth (22% increase through 2022)* |
No graduate degree requirements* |
Variety of job possibilities* |
Cons of a Software Test Engineer Career |
---|
Potential for high-stress work environment at times* |
Long work hours (most work 40+ hour weeks)* |
Continuously changing technologies make it necessary to stay on top of new developments* |
Continuing education required to stay abreast of new technologies* |
Source: *U.S. Bureau of Labor Statistics
Essential Career Information
Job Description and Duties
Software test engineers are often called 'QA engineers' because they provide quality assurance for computer applications or system software. Test engineers use preexisting testing tools or design new tools to ensure that programs work before they are used by internal or external clients. Test engineers are generally involved in all stages of the development of a program.
During the design phase of a project, they may bring knowledge gained by testing previous programs to help new releases be compatible with older versions. This allows for a smooth transition from the program's testing to use phases. During the development phase, they may test parts of programs, seeking to provide solutions for any problems raised as the project is coded.
Once a project moves out of the development phase, they test it to ensure that it meets functional and performance specifications and is compatible with all aspects of existing operating systems, computer hardware and network components. They establish quality standards, design testing methodologies and often determine when a program is ready for release.
When systems deployed into the field fail to perform, test engineers work as part of support teams that work to fix problems. They may also document problems and prepare reports about how to troubleshoot and fix issues in the field. This part of the job may require travel to a client's site, and will involve the ability to work creatively under pressure in order to resolve issues.
Test engineers frequently work overtime during testing cycles and as when a program is about to be released. In this position, to find and explain software bugs, you will need excellent analytical and communications skills. You should also be highly detail-oriented, have top-notch technical skills and the ability to work collaboratively to solve problems. To keep current with technical developments in the field, most testing engineers read technical journals and attend conferences or web-based seminars.
Salary Information
According to the U.S. Bureau of Labor Statistics (BLS), in 2014, software engineers working in systems software earned median salaries of $103,000, while those working in applications software earned $96,000 (www.bls.gov). This is a field with great growth potential; the BLS projects job opportunities to increase 22% through 2022.
Requirements
Educational Requirements
Most software engineers have bachelor's degrees in computer or electrical engineering, computer software engineering or computer science. These degrees all require coursework in advanced mathematics, such as calculus, differential equations, as well as probability and statistics. Additionally, you will take courses in programming and machine languages, data structures and algorithm design and analysis. Traditional engineering classes such as physics and chemistry may be required, and electrical circuitry coursework will likely be included in computer and electrical engineering classes.
While graduate degrees are not required to work in the field, continuing education is necessary to keep up to date with changes in the field. Lower-level testing jobs in this field can be obtained if you have an associate's degree in computer science with relevant experience. In this type of role, you would typically work under the supervision of a senior test engineer. Associate's programs include computer programming, operating systems management, system administration and math coursework as well.
Job Requirements
Recent job postings for computer test engineers sought people who were self-motivated, able to work as part of a team and willing to work extended hours. The ability to work well with customers and be up to date on the latest technologies was also requested. Jobs in this field were available in a wide variety of industries across the country. A sampling of job postings available in April 2012 are:
- A California IT and software solutions company advertised for an entry-level software test engineer with a bachelor's degree and 0-2 years of experience, or six years of related experience without a degree. The candidate needed to be able to write and execute test cases/script under supervision and maintain test data. Knowledge of configuration management concepts and tools was desired.
- A Pennsylvania pharmaceuticals company sought a senior software test engineer with 2-5 years of experience. Experience with validating systems was essential; experience with automated testing tools such as TestComplete or MS Test and Lab Manager was preferred.
- A Virginia aerospace and defense company posted an opening for a software test engineer to work with senior testers developing and executing automated test scripts to ensure the correct running of software programs on multiple platforms. Knowledge of Solaris/Linux/Windows was required. A bachelor's degree plus the ability to obtain security clearances were required. Travel was possible.
- A Salt Lake City employer advertised for an associate engineer to test datalink and networking software. The candidate would write test plans and descriptions, execute tests and write up defect reports. A bachelor's degree and a year of experience were required. C/C++ skills were also required.
How Do I Stand Out in the Field?
Network and Get Certified
There are various conferences and educational opportunities for software testers. Annually, the Quality Engineered Software and Testing (QUEST) Conference is held in an Expo format with classes and opportunities to network. Attending these conferences allows for networking with other engineers in the field and staying abreast of technological developments. Networking may lead to job opportunities, and, because many employers seek employees with up-to-date knowledge of the field, staying abreast of developments may make you more attractive to potential employers.
You may also consider becoming certified. Certification is available through the American Software Testing Qualifications Board, Inc., which administers a test for the international board (ITQSB) to people who want to be certified as testers at the foundational (CTFL) level or advanced level (CTAL). Certification demonstrates your commitment to the field and advanced knowledge of the practices normally performed by a software test engineers.
General Skills
The ability to work with others was noted in several recent job ads, as was the ability to work with clients. In some jobs, you would work with a product support team, which may mean that you will have direct contact with clients in a support function. The ability to relate and listen to the needs of customers, understand what isn't working well and communicate solutions is immensely valuable to employers. Coursework in communications or psychology might help you to develop these skills.
Alternative Career Paths
Mathematician
If a career as a software test engineer doesn't quite interest you, you might consider a career as a mathematician. Mathematicians seek to develop new mathematical principles and solve problems for a variety of industries using mathematical analyses and technologies, including software and computer companies. According to the BLS, in 2011 mathematicians earned $101,000. Positions in the field may require a master's degree, but mathematicians and computer engineers use many of the same math skills and personal abilities in performing their job tasks.
Computer Support Specialist
You can also work as a computer support specialist. Support specialists troubleshoot networking and computer issues either over the phone for consumers or in house for an employer. Computer support is a field which the BLS projects will grow 18% through 2020. The BLS reports that the 2011 median earnings for these professionals was $48,000. Some college is generally required to work in these positions, and on-the-job training is often offered.
Computer Programmer
Another potential career is that of a computer programmer. Computer programmers code the programs designed by software engineers. This field requires an associate's or bachelor's degree. Programmers earned $73,000 annually in 2011, according to the BLS. The BLS projects that programming jobs will grow 12% through 2020.