As part of a small, passionate and accomplished team of experts, you will be responsible for designing, implementing, integrating, and verifying board support packages, real-time operating systems, math libraries, network stacks, input output drivers, boot, flashing, and other code on the hardware software boundary for embedded microcontrollers and microprocessors for various spaceflight systems. You will share in the team’s impact on all aspects of safety critical platform development and delivery. You should be comfortable working in fast-paced and often uncertain environment, contributing to innovative solutions while demonstrating personal leadership, technical competence, and attention to detail. 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 BSP components including bootloader, flash memory, RAM, interrupt, clock, and recovery subsystem configuration
- Develop IO drivers for ADC, DAC, SPI, I2C, UART, and network peripherals
- Provide review and feedback of new hardware designs from a software perspective
- Develop initial software for board bring-up
- Debug issues at the hardware and software boundary
- Define requirements, then design, develop, and verify very low level software for safety critical avionics
- Create rapid prototypes to prove out the architecture/design concepts and quantify technical risks
- Minimum of a B.S. degree in computer engineering, electrical engineering, computer science, mathematics, physics, aerospace, or related field
- Demonstrable software development experience at the hardware software boundary
- Strong software development skills, particularly in C/C++
- Superior written, verbal, and interpersonal communication skills
- Ability to work independently and as part of a team on rapid development programs
- 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.
- M.S. or other advanced degree in computer engineering, computer science, or related field.
- 5 or more years’ experience shipping multiple products to customers
- Experience writing the first boot code on multiple new boards
- Experience in real-time and/or safety-critical software development
- Experience with networked distributed systems