Software Engineer - Yocto/Linux
Develops and maintains embedded Linux software for satellite systems using Yocto, C/C++, and real-time protocols, collaborating with hardware engineers in a fast-paced aerospace environment.
- Compensation
- Not disclosed
- Location
- Glasgow, Scotland, United Kingdom
- Work setup
- Hybrid
- Seniority
- Not specified
- Employment
- Not specified
- Experience
- Not specified
- Category
- Software engineering
- Posted
Skills
Nice to have
- Working knowledge or Rust would be a bonus
- Familiarity with safety-critical embedded systems in any industry
- Knowledge of version control systems, particularly Git and GitHub
- Familiarity with CI/CD pipelines
- Experience with project management tools
- Understanding of cybersecurity principles for embedded systems
- Knowledge of telemetry and command systems
- Experience with formal verification methods for critical software components
- Experience in implementing Fault Detection, Isolation, and Recovery (FDIR) systems for embedded applications
Full description
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!
What You’ll Do as a Embedded Linux/Software Engineer:
- 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
Key Skills:**
- C/C++, Bash and Python
- Proficiency working with the Yocto framework: (for application design and base OS modifications including kernel modules)
- Knowledge of a Linux-based development environment (Ubuntu)
- Experience with real-time communication protocols (low level: CAN/UART/SPI/I2C)
- Experience with inter-process communication protocols (higher level mostly IP based)
- Understanding of electronics and ability to communicate effectively with hardware engineers (especially for board bring up and test)
- Excellent documentation skills
Preferred Skills: **
- Working knowledge or Rust would be a bonus
- Familiarity with safety-critical embedded systems in any industry
- Knowledge of version control systems, particularly Git and GitHub
- Familiarity with CI/CD pipelines
- Experience with project management tools
- Understanding of cybersecurity principles for embedded systems
- Knowledge of telemetry and command systems