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
#J-18808-Ljbffr