Lynk Inc
Satellite Flight Software Engineer
Lynk Inc, Virginia Beach, Virginia, us, 23450
Job Summary:
The Satellite Flight Software Engineer at Lynk will be developing a variety of embedded flight software applications for commanding and controlling our satellites. This includes developing our satellite command and data handling system software, in addition to supporting software for both its primary (payload) and secondary radio communications functions. The software will initially be tested on the satellite prototype in a lab environment (“flatsat”) that simulates orbit operations. 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 on rapid timelines. We are looking for engineers that enjoy a challenge and have a track record of creative thinking to solve unconventional problems.
Core Responsibilities:
The Satellite 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
Working in a small, agile team to manage the software development lifecycle (requirements definition, design, implementation, test, and verification) for individual projects
Creating embedded software to interact with satellite devices/electronics using CAN, I2C, SPI, RS-422, RS-485, etc. protocols
Implementing inter-application coordination and communications using standard inter-process communication (IPC) mechanisms available in Linux
Developing test software to support unit, integration, and system testing of all flight software functions
Writing this software in C, C++, Rust, or other languages in a Linux environment
Required Qualifications:
A Bachelor’s degree (or higher) in Software, Electrical, Aerospace, or in a related engineering field.
3-5 years of software engineering experience
Demonstrated experience working with multiple programming languages (C, C++, Python, Rust), operating systems, and development environments
Demonstrated experience with all phases of the software development life cycle
Experience with developing software to interact with hardware devices
Experience with inter-process communication (IPC) mechanisms
Experience with the following: Linux, Git, CI/CD
Desired Qualifications:
Experience developing and testing software for SmallSats / CubeSats
Experience with hardware-in-the-loop integration and testing
Experience with the following: CMake, Protocol Buffers, ZeroMQ
ITAR Requirements
The U.S. Government space technology export regulations, includingthe International Traffic in Arms Regulations (ITAR) require the person in this position to be a U.S. citizen, lawful permanent resident of the U.S., protectedindividual as defined by 8 U.S.C. 1324b(a)(3), or eligible to obtain the required authorizations from the U.S. Department of State. To learn more about ITAR, please visit Understand ITAR.
The Satellite Flight Software Engineer at Lynk will be developing a variety of embedded flight software applications for commanding and controlling our satellites. This includes developing our satellite command and data handling system software, in addition to supporting software for both its primary (payload) and secondary radio communications functions. The software will initially be tested on the satellite prototype in a lab environment (“flatsat”) that simulates orbit operations. 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 on rapid timelines. We are looking for engineers that enjoy a challenge and have a track record of creative thinking to solve unconventional problems.
Core Responsibilities:
The Satellite 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
Working in a small, agile team to manage the software development lifecycle (requirements definition, design, implementation, test, and verification) for individual projects
Creating embedded software to interact with satellite devices/electronics using CAN, I2C, SPI, RS-422, RS-485, etc. protocols
Implementing inter-application coordination and communications using standard inter-process communication (IPC) mechanisms available in Linux
Developing test software to support unit, integration, and system testing of all flight software functions
Writing this software in C, C++, Rust, or other languages in a Linux environment
Required Qualifications:
A Bachelor’s degree (or higher) in Software, Electrical, Aerospace, or in a related engineering field.
3-5 years of software engineering experience
Demonstrated experience working with multiple programming languages (C, C++, Python, Rust), operating systems, and development environments
Demonstrated experience with all phases of the software development life cycle
Experience with developing software to interact with hardware devices
Experience with inter-process communication (IPC) mechanisms
Experience with the following: Linux, Git, CI/CD
Desired Qualifications:
Experience developing and testing software for SmallSats / CubeSats
Experience with hardware-in-the-loop integration and testing
Experience with the following: CMake, Protocol Buffers, ZeroMQ
ITAR Requirements
The U.S. Government space technology export regulations, includingthe International Traffic in Arms Regulations (ITAR) require the person in this position to be a U.S. citizen, lawful permanent resident of the U.S., protectedindividual as defined by 8 U.S.C. 1324b(a)(3), or eligible to obtain the required authorizations from the U.S. Department of State. To learn more about ITAR, please visit Understand ITAR.