Software engineering is the study and an application of engineering to the design, development, and maintenance of software. Typical formal definitions of software engineering are: "the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software".
These engineers should have a background in computer science and mathematical analysis. A bachelor's degree and work experience are also important qualifications for many positions, while other jobs might require a master's degree. Key Skills Analytical, problem-solving, teamwork and communication skills as well as creativity and attention to detail. Computer Skills Familiarity with database management, development environment, program testing and other related software.