Engineers use STEM disciplines (science, technology engineering, and math) to design and build useful, functional products. Engineers who focus on the design and build of software are software engineers. According to O*NET OnLine, additional titles, those in this field may have include, application integration engineer and software development engineer.
How to Become a Software Engineer
To become a software engineer, you will want to seek a bachelor’s degree in a related field such as computer science, information technology, or software development/engineering. Software Engineers would not only be able to program software just like software developers do, but they also have additional training in engineering principles that enable them to systematically design, maintain, test, and evaluate that software. According to O*NET OnLine, 80% surveyed reported holding a bachelor’s degree while under 20% held a master’s degree or higher.
If interested in this career field, it’s important to understand that your education will not stop after graduating from college. Technology is ever-changing and these engineers must keep up with the latest languages, trends, and best practices in order to stay relevant in the workforce.
Job Description of a Software Engineer
To get an idea of the job description of a software engineer, let’s look at a job posting on USAjobs.gov by the National Aeronautics and Space Administration. The responsibilities of the candidate they are looking for include:
- Perform multiple functions which may include: planning, research, design, development, test and evaluation, cost analyses, program, and project management.
- Work alongside contract computer engineers to perform various duties to incorporate new technologies, improve reliability, extend the life of an aerospace vehicle, or reduce total ownership costs.
- Responsible for software systems (including operating systems) used to operate or control aerospace, aeronautical, space science and/or earth science vehicles, spacecraft and/or instruments.
- Support equipment and/or experiment systems, software systems for in-flight data handling, flight-borne software systems, and ground system command, control, and data acquisition/and processing operations.
- Design, developments, and controls the software development process and software development tools, and analyzes issues relating to ground/flight software and data system tradeoffs.
If you have students who are interested in learning more about Software Engineering, they can watch this 1 hour video on the History of Software Engineering on youTube by Grady Booch.
National Center for O*NET Development. 15-1132.00. O*NET OnLine.
Parnas, D.L. Annals of Software Engineering (1998) 6: 19. Software engineering programs are not computer science programs.