A QA engineer is responsible for the creation of tests to identify issues with software before the product launch. Duties include identifying and analyzing any bugs and errors found during the test phase and documenting them for review after. Other tasks include developing and running new tests, reporting on the results and collaborating with software developers to fix program issues. Depending on the internal organizational structure, QA engineers may progress to a managerial or executive position.
Expected proficiency in computer programming languages such as Java, Python, SQL, C++ and XML. Strong working knowledge of Linux and Microsoft Windows is a must along with extensive experience in software development and testing. Due to the nature of the job, a QA engineer must be able to sit in front of a computer for long hours at a time.