Software engineers develop the applications that allow people to do specific tasks on a computer or other device.
A software quality analyst or 'QA Analyst' is responsible for ensuring software development adheres to all standards of best practice.
A software engineer creates computer systems which provide digital solutions. The role involves logic, problem solving, analysis and creativity to ensure development of an effective system.
A software tester conducts automated and manual tests to ensure the software created by developers is fit for purpose.This generally occurs during the quality assurance stage of a development process.