Spire Global is a space data company founded in 2012. In less than six years, Spire has built one of the world's largest satellite constellations, and we're just getting started. Working on our satellites offers software developers a chance to interact with the fullest of stacks, and this position can be customized to fit a variety of experiences and skill sets.
As an Embedded Software Engineer, 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, 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)
MIPS/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, GNUradio)