Design and develop reliable, high quality software related to:
On board software for our next generation of satellites.
Embedded Linux for both space and ground systems
Firmware and drivers IoT modules
Writing thorough tests and documentation
Participating in software design review and code review processes
Work with electrical, digital design, and operations teams to identify required features and solidify the system architecture
Provide technical leadership and mentorship to junior engineers
Identify shortcomings in existing software components and direct future development efforts
Requirements:
5+ years of embedded software development experience Bachelor's degree in Computer Science or equivalent
Strong software design and development skills, including algorithms, testing and debugging
Proficiency in C/C++, especially in embedded topics such as interrupt handlers, concurrency, memory mapped peripherals, and hardware interfaces (SPI, I2C, CAN)
Experience with embedded operating systems and build systems, including OpenEmbedded/Yocto and FreeRTOS Embedded Linux experience including writing kernel modules, device trees, and drivers