Software engineering
Software engineering is an engineering approach to software development. A practitioner, called a software engineer, applies the engineering design process to develop software.
The terms programmer and coder overlap software engineer, but they imply only the construction aspect of typical software engineer workload.