Why Software Engineering
Software Engineering, according to IEEE, is applying the principles of engineering to software development. In other words it applies well-defined principles and methods of engineering to develop a high quality software. On the other hand, a Software engineer is a person whose main responsibility is applying Software engineering principles to analyze, design, develop and maintain the software (Software life cycle).
Some people get confused between software engineering and computer science. One thing should be clear; they both require programming skills. Computer science focuses on “computing”, such as algorithms, programming languages, artificial intelligence and hardware design. While Software engineering focuses on all aspects of building high quality software.
Every industry, company or organization today depends on software systems, which makes the software engineering profession in demand everywhere. Software based companies, which has the most influence on the world, tend to follow software engineering principles especially since current software systems have become much more complex.
In Software development work environment, software engineers could work on different fields including requirements analysis, design, quality assurance, and programming. Software engineers are familiar with most aspects related to the software development lifecycle.