‹ All jobs
Software Engineer - Yocto/Linux
<p>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&nbsp;crucial role in developing software for our satellite systems, contributing to the&nbsp;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!</p>
<p><br><strong>What You’ll Do as a Embedded Linux/Software Engineer:</strong></p>
<ul>
<li>Maintain and develop daemons that interface with embedded systems using&nbsp;low-level protocols and higher-level protocols for business logic</li>
<li>Implement communication interfaces between embedded systems and higher-level processes</li>
<li>Integrate C libraries for specific hardware interfaces</li>
<li>Contribute to the design and implementation of fault-tolerant systems</li>
<li>Collaborate closely with the Electrical Engineering team to ensure optimal&nbsp;software-hardware integration</li>
<li>Spin up new designs and maintain existing products with Yocto - focused on&nbsp;Xilinx MPSoC systems, but we also support number of other systems</li>
</ul>
<p><strong><br>Key Skills:</strong></p>
<ul>
<li>C/C++, Bash and Python</li>
<li>Proficiency working with the Yocto framework: (for application design and base OS modifications including kernel modules)</li>
<li>Knowledge of a Linux-based development environment (Ubuntu)</li>
<li>Experience with real-time communication protocols (low level: CAN/UART/SPI/I2C)</li>
<li>Experience with inter-process communication protocols (higher level mostly IP based)</li>
<li>Understanding of electronics and ability to communicate effectively with hardware engineers (especially for board bring up and test)</li>
<li>Excellent documentation skills</li>
</ul>
<p><strong><br>Preferred Skills: </strong></p>
<ul>
<li>Working knowledge or Rust would be a bonus</li>
<li>Familiarity with safety-critical embedded systems in any industry</li>
<li>Knowledge of version control systems, particularly Git and GitHub</li>
<li>Familiarity with CI/CD pipelines</li>
<li>Experience with project management tools</li>
<li>Understanding of cybersecurity principles for embedded systems</li>
<li>Knowledge of telemetry and command systems</li>
<li>Experience with formal verification methods for critical software components</li>
<li>Experience in implementing Fault Detection, Isolation, and Recovery (FDIR) systems for embedded applications</li>
</ul>
<p><br><strong>Tools and Technologies:</strong>&nbsp;</p>
<ul>
<li>C, C++</li>
<li>Scripting languages (Bash/Python)</li>
<