Senior Firmware Engineer
Spire
Glasgow, United Kingdom
We are seeking an experienced Embedded Software Engineer to join our Platform team (folks looking after the spacecraft). 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 Firmware 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
Key Skills:
- 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
Don't forget to mention Space-Careers when applying.