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. Software Engineering is applying the principals of engineering to software development. ~ Institute of Electrical and Electronics Engineers (IEEE)
Even non-embedded software impacts many areas of our lives. We routinely trust software with our financial information and passwords. We use it to run our businesses and conduct our work activities. Yet it’s far from foolproof. There may be hackers or system overloads. Then there are the times that the software works from a technical standpoint, but fail to give a good user experience. Too often, routine software is designed from a “code and fix” model when sounder principles at the front end would alleviate problems. Here, too, it’s important to have a thorough grasp of the purpose of the structure and of the many things that structure may be called upon to withstand.
Software engineering often does involve writing code, but this is only one stage in the process. True software engineering has a well-articulated life cycle.
The Software Engineering Process
What Types of Software Require Engineering?
A systematic and disciplined approach isn’t necessary for every endeavor. You don’t need engineering training to design a simple game or a program that teaches your child to read. You do need it, though, to create high stakes software for the defense department.
Businesses also employ software engineers to create customized software and address vulnerabilities before they happen. This makes sense when we think of the complexity of the tasks that the average professional carries out, tasks like holding meetings in real time with collaborators oceans away. Even when engineering principles aren’t necessary for safety, sound design can increase efficiency and decrease costs.
You’ll find a diverse group of employers advertising for true software engineers. Disney Interactive Media is among the companies seeking software developers who are familiar with the software development life cycle.
Education and Job Prospects for Software Engineers
There are two main branches of software engineering. Applications software engineers create and maintain computer applications. Systems software engineers analyse technical needs department by department and create or maintain appropriate systems. Setting up and maintaining intranet systems would fall under their scope.
Software engineers typically hold at least a baccalaureate degree. A master’s is necessary for some positions. The focus is on acquiring a core of software development knowledge that will remain relatively stable across a span of years, even as new languages are developed and others go out of favour.
Software engineering is a growing field, even during difficult economic times. There are exciting opportunities for those with an educational background in software engineering, computer science, software development, computer engineering and similar disciplines. Check out some of the potential career paths.