Software engineering is an engineering approach to software development. A practitioner, a software engineer, applies the engineering design process to develop software.