Software Engineer (Yocto/Linux)
Posted Updated
- We are seeking an experienced Embedded Linux/Software Engineer to join our Platform team (folks looking after the spacecraft)
- The successful candidate will play a crucial role in developing software for our satellite systems, contributing to the expansion and enhancement of our space-based data collection capabilities
- 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!
- You’ll maintain and develop daemons that interface with embedded systems using low-level protocols and higher-level protocols for business logic
- Implement communication interfaces between embedded systems and higher-level processes
- Integrate C libraries for specific hardware interfaces
- Contribute to the design and implementation of fault-tolerant systems
- Collaborate closely with the Electrical Engineering team to ensure optimal software-hardware integration
- Spin up new designs and maintain existing products with Yocto - focused on
- Xilinx MPSoC systems, but we also support number of other systems
Benefits
- Name your own satellite: Be remembered throughout time by choosing a name for a LEMUR satellite.
- Family Leave: Family is important. Our parental and family leave is designed to let you make the most of those precious moments.
- Learning & development: Spire more than encourages and supports ongoing personal improvement and a growth mindset, we welcome it!
- Launch Attendance: One of the perks from launching satellites into space is that Spire often has VIP access to view the launch.
- Generous time off policy: Take the time you need. Our flexible time-off policy promotes a positive work-life balance.
- Employee Assistance Program (EAP): Our EAP makes sure you have access to support and counseling sessions whenever you need it.
- Employee Stock Purchase Program (ESPP): Our ESPP provides eligible employees with an opportunity to purchase Spire shares through accumulated contributions.
- Fitness Reimbursement: Spire encourages fitness activity to promote employee well-being with reimbursed gym membership expenses.
- Employee Referral Program: Spire is always looking for outstanding people to join our team, and you can help and be awarded a referral bonus.
- Healthy snacks & beverages: To help our employees to be as productive as possible, we provide healthy snacks and beverages in each of our offices.
- Experience with real-time communication protocols (low level: CAN/UART/SPI/I2C)
- Excellent documentation skills Preferred Skills: Working knowledge or Rust would be a bonus
- Understanding of electronics and ability to communicate effectively with hardware engineers (especially for board bring up and test)
- Knowledge of a Linux-based development environment (Ubuntu)
- Experience with inter-process communication protocols (higher level mostly IP based)
- C/C++, Bash and Python
- Proficiency working with the Yocto framework: (for application design and base OS modifications including kernel modules)
- Knowledge of telemetry and command systems
- Familiarity with safety-critical embedded systems in any industry
- Experience with project management tools
- Experience with formal verification methods for critical software components
- Knowledge of version control systems, particularly Git and GitHub
- Familiarity with CI/CD pipelines
- Understanding of cybersecurity principles for embedded systems
- Experience in implementing Fault Detection, Isolation, and Recovery (FDIR) systems for embedded applications Tools and Technologies: C, C++
- Version control using Git We value adaptability and a willingness to learn new tools and technologies as needed for the role
- Ubuntu (development environment)
- Access to US export-controlled software and/or technology may be required for this role. If needed, Spire will arrange the necessary licenses—this is not something candidates need to have before applying. #LI-MI
- Scripting languages (Bash/Python)
- Yocto, Bitbake