Spire Global is a space-to-cloud analytics company that owns and operates the largest multi-purpose constellation of satellites. Its proprietary data and algorithms provide the most advanced maritime, aviation, and weather tracking in the world. In addition to its constellation, Spire’s data infrastructure includes a global ground station network and 24/7 operations that provide real-time global coverage of every point on Earth.
As an Embedded Software Engineer at Spire Global, you will help develop our world-class spacecraft and their terrestrial support systems. This role requires a close working relationship with hardware and manufacturing engineers to design, build and test new systems, troubleshoot complex issues both in spacecraft manufacture an in-orbit, and support maintenance of existing systems.
You will have the opportunity to work across the whole range of our software stack, from bare metal implementation through to in-orbit automated scripting, to high-level telemetry analysis and monitoring using our cloud-based data analytics warehouse. To highlight a few aspects of the role:
Core systems: Design and implement flight software and firmware that runs onboard our spacecraft. Making improvements to our existing codebase to enhance functionality, usability, robustness, performance, and writing and testing new code to integrate new technology
Communications and radio: Leverage innovations in radio design by implementing new communication protocols and new processing approaches, and integrating new radio hardware
Satellite application platform: Build frameworks for the automated execution of work on the satellite to meet customer requirements or changing operational needs
Extensive experience with embedded C: interrupt handlers, concurrency, etc.
Strong Linux skills: extensive CLI/scripting familiarity, kernel mods, drivers, etc.
Experience with sensor integration over I2C, SPI, CAN, UART, etc.
Software Design with memory, processor, and real-time constraints
Embedded Operating Systems (FreeRTOS, Yocto Embedded Linux)
Scripting Familiarity: Python, Bash, etc.
Power optimization experience
Experience with board bring up
Strong candidates will also possess skills in one or more of the following areas:
General hardware skills (EE, PCBs, ECAD or MCAD)
ARM/RISC profiling and optimizations
Networking (ISO, IP, protocol design)
Experience in a high-reliability industry (Automotive, Aerospace, Defence, Medical)
Domain Knowledge (Space, Attitude Control, Radio Communications, Power Control)