Job description
About Spire:
Spire is a space-powered data and analytics platform that offers unique insights and powerful solutions about Earth from the ultimate vantage point – space – so organizations can act now and plan for the future with confidence, accuracy and speed. Leveraging its proprietary multi-purpose satellite constellation and sophisticated predictive analytics, Spire gives commercial and government organizations an unprecedented competitive advantage to solve their toughest challenges, empowered with knowledge from space.
The Role:
Working on our satellites offers software developers a chance to interact with the fullest of stacks, and this position provides the opportunity for a talented software engineer to really push themselves and develop their skills further.
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 and 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.
Responsibilities:
- 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.
- Satellite application platform: Build frameworks for the automated execution of work on the satellite to meet customer requirements or changing operational needs.
- Communications and radio: Leverage innovations in radio design by implementing new communication protocols and new processing approaches and integrating new radio hardware.
Basic Qualifications/Experience:
- Extensive experience with embedded C: interrupt handlers, concurrency, etc.
- Extensive experience with build systems like CMake
- High level of Linux skills: extensive CLI/scripting familiarity, kernel mods, drivers, etc.
- High level command of development tools like git, Github, CI/CD tools.
- 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.
Preferred Qualifications/Experience:
- 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).
- FPGA expertise (Verilog, VHDL).
- RF programming (SDR, USRP, GNU radio).
Spire is Global and our success draws upon the diverse viewpoints, skills and experiences of our employees. We are proud to be an equal opportunity employer and are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, marital status, disability, gender identity or veteran status.