ENGINEERING: Software Engineer
Software Engineers typically need at least a master’s degree in engineering. However, some positions are available to those with a bachelor’s degree.
The U.S. Bureau of Labor Statistics offers the following information about this career and education pathway:
Computer science degree programs are the most common, because they tend to cover a broad range of topics. Students should focus on classes related to building software to better prepare themselves for work in the occupation. Many students gain experience in software development by completing an internship at a software company while in college. For some positions, employers may prefer that applicants have a master’s degree.
Although writing code is not their first priority, developers must have a strong background in computer programming. They usually gain this experience in school. Throughout their career, developers must keep up to date on new tools and computer languages.
Software developers also need skills related to the industry in which they work. Developers working in a bank, for example, should have knowledge of finance so that they can understand a bank’s computing needs.
- Systems Engineering
- Security Engineering
- Network Engineering
Software engineers are vital members in the software or computer engineering and technology teams, as well as in interdisciplinary groups. These professionals partner with lead engineers to design, code, develop and build secure software applications and interface solutions that power NASA's spacecraft, science instruments, mission control systems, science analysis pipelines, and IT services. Many of these systems must be capable of handling petabyte-scale datasets.
They integrate algorithms and models into software components for production and analysis of mission and enterprise data. They also use a general understanding of the complexity and interdependence involved with integrating multiple applications with complex data sources and deploying the resulting systems at sites worldwide and beyond.
Software engineers play an important role at NASA as this field supports the success of our missions on Earth and beyond. This field will continue to grow as it helps NASA address the many challenges that our agency faces.
This group works with the following groups:
- Autonomous Systems
- Business Systems and Project Management
- Crew and Life Support
- Data and Image Processing
- Data Servers
- Design and Integration Tools
- Electronics and Electrical Power
- Environmental Science
- Materials and Processes
- Structures and Mechanisms
- System Testing
- Vehicle Management
Why is this job Important?
NASA's missions are complex, long-lasting, far-reaching, and each one is unique. We’re constantly developing new mission-specific software.
Job Title NASA Examples:
- Software Systems and Applications Engineer
- Computer Security Engineer
- Computer Systems Engineer
- Configuration Management Engineer
- Database Administrator
- Enterprise Applications Software Engineer
- Enterprise Systems Analyst
- Network Engineer
- Project Information Management Engineer
- Software Assurance Engineer
- Systems Administrator
NASA Career Links:
NASA Professional Profile
Meet Ricky Brown, a software engineer for NASA Langley Research Center's CERES Mission.