Job Responsibilities:

The Software Simulation and Test Environments Group at the organization designs and builds high-fidelity workstation-based and hardware-in-the-loop simulators for supporting the development and testing of the avionics systems. It is a part of the organization’s Autonomous Systems Division that designs, builds, and pilots spacecraft to explore remote destinations in our solar system. Looking for an experienced and self-driven software engineer with a passion for writing simulation and ground support equipment software. As a software engineer in this group, you will design, build, and test software that simulates complex avionics hardware and physical environments.

Specific responsibilities include:

• Working with the project lead, system engineers, and product users to generate software requirements and design for the simulation and ground support equipment software components

• Implementing software components in C/C++ and Python per the requirements and design

• Developing embedded real-time application programs utilizing Real-Time Operating Systems

• Testing software and verifying requirements and design by using well-established unit testing and functional testing methodologies

• Preparing and conducting requirements reviews, design reviews, code reviews, and test reviews throughout the software development cycle

Required Skills:

• Bachelor’s degree in Computer Science, Computer Engineering, or related field

• 3+ years of software engineering experience using C/C++ and Python

• In-depth knowledge of Object-Oriented Programming concepts

• Knowledge and hands-on programming experience in writing simulation software

• Experience with low-level software/hardware interfaces

• Experience with developing and debugging real-time embedded software systems

• Good understanding of concurrent programming, multithreading, and inter-process communication mechanisms

• Strong verbal and written communication, presentation, and interpersonal skills with ability to work in a team environment

• Experience with continuous integration and modern source configuration control

Desired Skills:

• Background in dynamics simulation and integration methods

• System engineering experience in generating, tracking, and proving successful implementation of requirements

• Experience with driver development for real-time embedded applications

• Hands on experience in developing embedded real-time application programs using the Green Hills Integrity RTOS and the associated software tool chain

• Experience with continuous integration and modern source configuration control