What Is Software Engineering?

The "engineering" part of Software Engineering

"The engineering field has taken on many new disciplines as our scientific knowledge has grown. The latest discipline is software engineering. According to the Institute of Electrical and Electronics Engineers (IEEE), software engineering means applying the principles of engineering to the software development field. Software engineering differs from other branches of engineering in that professionals are building an intangible structure and not a tangible one. Since software is embedded in the machines used in various industries, though, malfunctioning software can actually have tangible effects. With software used in everything from medical equipment to airplanes, the end result of faulty software can indeed be loss of life." (Softwareengineerinsider.com)


The main thing that makes software engineers is that, they are all programmers, but not all programmers are software engineers. What software engineers do that make them so different, is implementing an engineering side to programming. "Computer software engineers apply the principles and techniques of computer science, engineering, and mathematical analysis to the design, development, testing, and evaluation of the software and the systems that enable computers to perform their many applications." (Tryengineering.org)


"Software engineers are involved in the design and development of many types of software, including software for operating systems and network distribution, and software for compilers (which convert programs for execution on a computer). In programming, or coding, software engineers instruct a computer, line by line, how to perform a desired function. Software engineers must possess strong programming skills, but are often more concerned with developing algorithms and analyzing and solving programming problems than with actually writing code.Typically software engineers, working in applications or systems development, analyze first the needs of the user. They then design, construct, test, and maintain computer applications software or systems to meet these needs." (Tryengineering.org)

Sources

-Software Engineer Insider
-Try Engineering