As part of a small, passionate, and accomplished team of experts, you will be responsible for architecting, developing, and verifying real-time, safety-critical avionics software for New Shepard human-spaceflight vehicles and ground systems. You will implement deterministic, optimized solutions for data acquisition, actuator control, redundancy and fault tolerance, logging and telemetry, and human-machine interfaces. You will work closely with guidance, navigation, and control engineers, network engineers, electrical engineers, and the vehicle test and operations teams to ensure the avionics software meets all requirements for safe, frequent human spaceflight. You will work in a fast-paced and often uncertain environment, contributing to innovative solutions while demonstrating personal leadership and technical competence. This position will directly impact the history of space exploration and will require your dedicated commitment and detailed attention towards safe and repeatable spaceflight.
- Develop software in C++ to configure, control, and acquire data from a high variety of complex sensors, including GPS/INS devices, range-finding devices, analog transducers and actuators, etc.
- Design and implement (in C#/Python) infrastructure to automatically generate software configurations from interface control documents and other specifications.
- Develop tests to demonstrate software meets requirements and enable code coverage analysis.
- Perform trade studies to identify safe, deterministic, performant, and cost-effective solutions for software architectures that satisfy stakeholder requirements.
- Design architectures for acquiring, telemetering, and logging massive amounts of data for real-time vehicle monitoring and post-flight analyses by engineers throughout the New Shepard program.
- Create rapid prototypes to prove out architecture/design concepts and quantify technical risks.
- Perform hands-on deployment, monitoring, and debugging in the avionics development and Hardware-in-the-Loop (HIL) labs.
- Work with guidance and control engineers to establish and meet latency, data rate, and other requirements impacting vehicle control.
- Work with systems engineers to design solutions meeting fault tolerance, detection, isolation, and recovery requirements.
- Work with electrical engineers to ensure avionics hardware supports the software concept of operations, and vice-versa.
- Minimum of a B.S. degree in computer science, computer engineering, electrical engineering, mathematics, aerospace, or related field
- Demonstrable embedded software development experience
- Strong software development skills, particularly in C/C++
- Excellent written, verbal, and interpersonal communication skills
- Ability to work independently and as part of a team on rapid development programs
- Strong attention to detail
- Must be a U.S. citizen or national, U.S. permanent resident (current Green Card holder), or lawfully admitted into the U.S. as a refugee or granted asylum.
- 1 or more years of experience developing software for real-time embedded systems
- Experience in safety-critical software development
- Experience with networked, distributed systems
- Experience with Python
- Experience with C#
- Familiarity with unit test frameworks (e.g. CppUTest, Google Test)
- Familiarity with static analysis tools
- Familiarity with serial bus protocols (e.g. UART, SPI, I2C)
- Familiarity with schematic interpretation and review
- Familiarity with hardware debugging equipment (e.g. oscilloscope, benchtop power supplies, signal generators)