As a Firmware Engineer your core responsibility will be to work with our Avionics, GNC and Propulsion engineers to develop mission critical embedded systems code. You will develop firmware for Impulse’s flight vehicles and ground testing. You will have the opportunity to contribute to the full product life cycle including development, testing and operational support to critical mission success.
Responsibilities:
- Develop bare-metal code to run on custom-built avionics hardware
- Define hardware (processors, etc.) that will be at the core of Impulse’s compute systems
- Work in a clean-sheet environment with a new processor family, implementing functions such as controls of peripherals and setup of communication interfaces
- Support revisions/changes from flight to flight
Basic Qualifications:
- Bachelor’s degree in Computer Science or a related technical field
- 4+ years’ experience developing software/firmware for critical applications
- Proficient in algorithms and data structure
- To be successful in this role, you should be someone who thrives in ambiguity and is able to lead their own projects into completion
- Demonstrated experience working collaboratively across teams
- Ability to communicate technical challenges, explain rationale and/or resolve concerns
Preferred Skills and Experience:
- Master’s degree in Computer Science or another related technical field
- Experience implementing motor control algorithms
- Experience implementing digital filters
- Experience implementing closed-loop control of physical processes
- Experience working on space-related development efforts (launch vehicles, satellites, etc.)
- Experience in a startup or agile development environment
Additional Requirements:
- Flexible schedule and willing to travel as needed