Software Engineer
Company Details

Astro Digital designs, builds, and operates a diverse range of small satellite systems supporting space-based turnkey missions for several business applications, including earth observation, communications, in-orbit demonstrations, risk reduction opportunities, in addition to various science and exploration applications. Astro Digital is headquartered in Santa Clara, California with infrastructure around the globe.
Position Summary
As a Software Engineer you are responsible for designing, developing and implementing innovative satellite flight software solutions across a variety of satellite subsystems and at the system level. You are responsible to program and project managers for software development and testing for customer programs and internal R&D efforts. You will also research and advise on the state of industry’s software best practices, tools, and products in support of company software strategy.
Primary Duties and Responsibilities
- Develop and implement simple, reliable, and fault tolerant software for a variety of SoC’s and microcontrollers in C/C++, MicroPython and Python
- Participate in driver development, bring up hardware enablement on Linux, and other real time operating systems
- Test software in simulation and hardware-in-the-loop environments, including the development of comprehensive unit and regression tests
- Work with the team to establish software requirements and architecture including supporting software related business development tasks
- Support the Satellite Operations team in satellite commissioning, operations automation, anomaly investigation and mitigation.
Minimum Qualifications
- B.S. in computer science or equivalent practical experience
- 5+ years of related experience developing C/C++ software for high-performance embedded devices
- Demonstrated ability to develop and debug firmware
- Familiar with one or more cross compile build environments
- Highly motivated, self-starting, and able to perform duties autonomously without supervision
- Hands on experience with satellites, robotic systems, or similar
- Experience with build system, package manager and SW analysis tool
- Experience with bootloader, linux kernel and buildroot
- Experience with FPGAs a plus
- Experience with RF systems a plus
- Experience with real-time operating systems (FreeRTOS and TI-RTOS a plus)