Software engineering is the field of technology that is related to the application of theoretical approaches to the development, operation and maintenance of software. It not only pertains to the simple and rather stereotypical knowledge of only writing code for programs but it is also the study of how these approaches actually work in the real world based on different factors and engineering them accordingly to reach the desired goals.