Previous Job
Embedded Software Engineer
Ref No.: 17-00897
Location: Pasadena, California
Start Date / End Date: 08/31/2017 to 02/28/2018
 Support Flight Software development for a planetary mission. Perform software engineering activities associated with the delivery of embedded flight software (FSW) products for large-scale project. This assignment will include implementation of functional spacecraft capability that fall in areas of spacecraft command, communication, data management, fault protection, etc. All areas of spacecraft development are needed. The engineer will work under a lead software engineer to understand the required capabilities of the functional area. This work includes software level peer reviews, and will also include formal testing of peer-developed capabilities.
Work Activities:
Work with systems engineers, FSW peers and FSW architects to understand requirements allocated to a specified module and develop a design approach for the module.
Provide requirements feedback and functions specs feedback to systems engineers.
Develop and review implementation approaches.
Develop the associated code following project coding guidelines process requirements.
Develop, execute and analyze unit tests verifying satisfaction of module requirements, proper implementation of interfaces and code coverage.
Create sandbox builds of the module integrated with other modules and execute using a simulated spacecraft environment in both workstation and hardware in the loop test beds.
Required Qualifications:
Six years of software engineering with 4 years of recent embedded flight software experience.
Recent background in flight software development with specific recent experience in the following languages and operating systems:  C, Linux, GreenHills.
Recent experience with distributed computing and inter-process communication (IPC) mechanisms.
Recent experience with device driver development and software/hardware interfaces for both custom and commercial hardware.

Desired Qualifications:
Advanced knowledge of principles, theories, concepts and techniques in developing, modifying, debugging, releasing and maintaining real-time and embedded software systems for mission-critical aerospace applications.
Debugging software/hardware interactions and possible failure modes.
Strong verbal and written communication, presentation, and interpersonal skills with ability to work in a team environment.
Strongly prefer space flight experience.
Required Education:
Bachelor's degree in a computer related engineering field with a 5 to 8 years of recent related experience.