Spacecraft Flight Software Engineer
UbiquitiLink is a space communications venture with a novel idea for a constellation of nanosatellites dedicated to telecommunications services. Founded by experienced commercial space entrepreneurs, the company is looking for a Spacecraft Flight Software Engineer who can help design and test the satellite bus flight software needed to fly and operate our cell towers in orbit.
The Spacecraft Flight Software Engineer at UbiquitiLink will be developing a variety of embedded flight software applications for commanding and controlling ground and space payloads. This includes developing our satellite command and data handling system software, in addition to software for both it’s primary (payload) and secondary radio communications functions. The software will initially be tested on the satellite prototype in a lab environment that simulates orbit operations and the software engineer will also be responsible for implementing methods of data acquisition to ensure successful testing, verification, and validation.
We build spacecraft fast! So, the perfect candidate for this role will have significant previous experience designing, developing, and testing software for many small spacecraft and particularly on rapid time lines. We are looking for engineers that enjoy a challenge and have a track record of creative thinking to solve unconventional problems.
The Spacecraft Flight Software Engineer will be responsible for design, development, and testing of all spacecraft flight software including that for our spacecraft Command & Data Handling, Power, Communications, and Guidance, Navigation, & Control Systems. This includes:
Developing Linux applications that implement the major functions required by our satellite flight system
Creating device drivers and other embedded software to interact with satellite devices/electronics using I2C, SPI, RS-422, RS-485, Ethernet, etc. protocols
Implementing inter-application coordination and communications using standard Inter-process communication (IPC) mechanisms available in Linux
Developing test software and drivers to support unit, integration, and system testing of all flight software functions
Writing this software in C, C++, or other languages in a Linux or Windows environment
A Bachelor’s degree (or better) in Software, Electrical, Aerospace, or related field.
At least five years of recent real-time embedded flight software experience
Previous experience developing and testing embedded software for SmallSats / CubeSats is desired
Demonstrated experience working with multiple programming languages (C, C++, Python), operating systems, and development environments
Experience with device driver development and software/hardware interfaces
Experience with Inter-process communication (IPC) mechanisms
Past experience with Hardware-in-the-loop integration and testing desired
US Citizenship required
Job Location: Washington, DC area.
To apply, forward a cover letter and resume to Careers@ubiquitilink.com stating the position of interest in subject line.