A software QA (Quality Assurance) engineer tests software to discover any points of weakness or defects. To do this you must be able to design test plans, carry out the tests, and properly report any bugs or defects you may come across. This position requires you to be thorough and creative when designing and enacting test plans.