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 EuroTechJobs when applying.