Senior Embedded Software Engineer
Role details
Job location
Tech stack
Job description
We are seeking an experienced Embedded Software Engineer to join our Platform team supporting Spacecraft Operations. The successful candidate will play a crucial role in supporting other disciplines by focusing on the embedded software aspects of our satellite systems. The Platform team interfaces directly with many engineering groups to conduct R&D, design, manufacturing, and operations activities, ultimately ensuring all current and future spacecraft systems satisfy their mission.
Ideal candidates will embrace the commercialization of nanosatellite systems and adapt to low-cost, fast-paced systems design, development, and implementation methodologies that set Spire apart from our competition. In this fast-paced environment, the design to launch cycle is measured in weeks and months, not years!
What You'll Do as a Senior Embedded Software Engineer:
- Design, implement and test, deploy and maintain embedded firmware
- Collaborate with other engineering functions on scoping, architecture and system design
- Resolve on-orbit and on-ground issues related to embedded systems
- Implement, optimize and maintain various serial protocols
- Design and develop interface tools to improve abstraction between the embedded system and other satellite components
- Debug and resolve complex embedded systems issues in a timely manner
- Write and maintain technical documentation
Requirements
- Bachelor's degree in Computer Science, Electrical Engineering, or related field
- Mastery of Embedded C programming language
- Proficiency with scripting languages like Python and Bash
- Extensive experience with real-time operating systems (RTOS), specifically FreeRTOS
- Familiarity with serial protocols and implementations
- Strong problem-solving skills, particularly in debugging embedded systems
- Experience with version control systems (e.g., Git)
- Experience developing on Linux (Ubuntu)
- A base level of mathematical knowledge (engineering mathematic or similar)
- Excellent communication and teamwork abilities
Preferred Skills:
- Experience with space systems or satellite technology
- Familiarity working to coding standards and using static analysis tools
- Experience writing Rust for resource constrained environments (embedded Linux)
- Experience with embedded Linux
- Knowledge of control systems and algorithms
Tools and Technologies:
- FreeRTOS for real-time operating system implementation
- GNU ARM Embedded Toolchain for code compilation
- GDB for debugging, complemented by extensive use of serial and/or CAN debugging
- Experience with debugging techniques for systems without JTAG access, particularly for remote issue resolution
- Familiarity with manual testing procedures for embedded interface code
- Experience working with Arm Cortex Microcontrollers
- Version control using Git
Benefits & conditions
Launch Attendance Generous Time Off Policy Education Assistance Program Employee Assistance Program (EAP) Employee Stock Purchase Program (ESPP) Family Leave Fitness Reimbursement Employee Referral Program Healthy snacks & beverages in every office
About Spire
We improve life on Earth with data from space.