Embedded Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
Job description
As an Embedded Software Engineer your core responsibility will be to write code that runs on custom avionics hardware for executing flight and ground test functions. You will work with avionics hardware engineers, GNC engineers, propulsion engineers, and others to develop performant and maintainable solutions. You will have the opportunity to contribute to many aspects of spacecraft development, including architecting new systems, doing quick prototypes, doing rigorous flight projects, and controlling flight hardware during ground tests., * Implement and improve low-level processor functions such as controls of peripherals, and setup of communication interfaces.
- Implement and improve functions such as closed loop control of physical processes, and detection/response algorithms for failures such as broken sensors or radiation upsets.
- Provide technical input on new system developments from an embedded software perspective.
- Write scrappy code to support development testing of avionics and propulsion devices.
- Write rigorous, reviewed, and tested code to support manufacturing and flight.
Requirements
- Bachelor’s degree in computer science, engineering, math, or scientific discipline; OR 2+ years of professional experience building software in lieu of a degree
- 1+ years’ writing C/C++ code for an embedded system or vehicle of some kind (robot, car, drone, or spacecraft)
Preferred Skills and Experience
- Experience using oscilloscopes, logic analyzers, hardware debuggers, and source-level debuggers to troubleshoot problems at all layers of the stack.
- 2+ years of demonstrated knowledge of and experience with communication protocols including I2C, CAN, SPI, UART, etc.
- 2+ years of demonstrated knowledge of microprocessors and microcontrollers, with an understanding of components such as caches, buses, memory controllers, and DMA.
- 2+ years of demonstrated experience developing low-level drivers for camera modules (e.g., MIPI CSI-2, USB, SPI, I2C).
- Understanding of sensor communication protocols and interfacing with custom or commercial image sensors.
- Experience interfacing with motor drivers, power electronics, and sensor feedback systems, including encoders and current sensors.
Additional Information:
Compensation bands are determined by role, level, location, and alignment with market data. Individual level and base pay is determined on a case-by-case basis and may vary based on job-related skills, education, experience, technical capabilities and internal equity. In addition to base salary, for full-time hires, you may also be eligible for long-term incentives, in the form of stock options, and access to medical, vision & dental coverage as well as access to a 401(k) retirement plan.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Best Countries for Software Engineers
Is Software Engineering Hard?
How Much Does a Software Engineer Make? Realistic Software Engineering Salaries
What Jobs Can You Get with a Software Engineering Degree?