Flight Software Engineer

Lynk

$90K — $130K *
Aerospace & Defense
Less than 5 years of experience
Job Overview by Ladders

Qualifications

  • Proficient in systems programming languages (C, C++, Rust) with demonstrable experience.
  • Willingness to learn and utilize the Rust programming language.
  • Familiar with Linux and operating system principles.
  • Experience with hardware interaction and a systems-oriented mindset.
  • Understanding of the software development lifecycle phases.
  • Experience in writing automated tests for software.
  • Familiarity with Git and CI/CD fundamentals.
  • Bachelor's degree or higher in a relevant engineering field or equivalent experience.

Responsibilities

  • Design and develop flight software systems for spacecraft operations.
  • Execute the software development lifecycle in a small, agile team.
  • Participate in design and code reviews to uphold best coding practices.
  • Support Operations and Payload teams' software needs related to satellite flight systems.
  • Create embedded software to interface with satellite devices using various protocols.
  • Implement IPC mechanisms for inter-application communication in Linux.
  • Develop testing software for unit, integration, and system testing of flight software.
  • Build telemetry and instrumentation for data capture and validation during tests.

Benefits

  • Opportunity to work in a fast-paced, innovative environment.
  • Ownership of projects from the ground up within a small team.
  • Supportive team of experienced engineers for collaboration and mentoring.
  • Flexibility for candidates across all experience levels, including new graduates.
  • Potential for advancement in title, scope, and compensation based on experience.
Full Job Description
Job Summary

The Flight Software Engineer at Lynk will be developing 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. You will also be responsible for building the telemetry and instrumentation needed to capture data during tests and ensure successful verification and validation.

We build spacecraft fast! So, the ideal candidate enjoys designing, developing, and testing software on rapid timelines. We are looking for engineers who enjoy a challenge and have a track record of creative thinking to solve unconventional problems. This is a small team, so you will work alongside experienced engineers and take ownership of systems early.

Experience with satellites is not a requirement for this position. We welcome candidates across experience levels, from exceptional new graduates to seasoned engineers; title, scope, and compensation scale with experience. If you've built embedded or autonomy software in an adjacent domain - robotics, automotive, drones, or similar - you'll find much of your experience translates directly. If you are a systems-minded software engineer eager to take on an unfamiliar domain, we want to hear from you.

Core Responsibilities

You will contribute to the design, development, and testing of spacecraft flight software systems, including those that implement our spacecraft Command and Data Handling; Power; Communications; and Guidance, Navigation, and Control Systems. This includes:
  • Contributing to the design of software solutions critical to the operation of our spacecraft, and developing these as Linux applications that run on satellite flight systems.
  • Working in a small, agile team to execute the software development lifecycle (requirements definition, design, implementation, test, and verification) across many individual projects.
  • Participating in design and code reviews, and collaborating with the team to uphold best practices for the flight software codebase.
  • Supporting Lynk's Operations and Payload teams, who each bring unique demands on the satellite flight systems.
  • Creating embedded software to interact with satellite devices and electronics using CAN, I2C, SPI, RS-422, RS-485, and other 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.
  • Building the telemetry, instrumentation, and data-capture tooling used to verify and validate flight software on our flatsat.


Basic Qualifications
  • Proficiency in at least one systems programming language such as C, C++, or Rust, demonstrated through professional work, significant academic/personal projects, or open-source contributions.
  • A willingness to work in the Rust programming language.
  • Familiarity with Linux and operating system principles.
  • Experience building software that interacts with hardware devices, or a strong systems background and eagerness to work close to hardware.
  • An understanding of the phases of the software development life cycle.
  • Experience writing automated tests for software you build.
  • Familiarity with Git and the fundamentals of CI/CD systems.
  • A Bachelor's degree or higher in Software, Computer, Electrical, Aerospace, or a related engineering field, or equivalent practical experience.


Preferred Qualifications
  • Several years of professional software engineering experience.
  • Network and socket programming experience, particularly for telemetry or commanding interfaces.
  • Experience with inter-process communication (IPC) mechanisms.
  • Advanced knowledge of the Rust programming language.
  • Familiarity with embedded Linux systems, including the Yocto/OpenEmbedded project.
  • Experience developing and testing software for SmallSats / CubeSats.
  • Experience with hardware-in-the-loop integration and testing.
  • Experience with Protocol Buffers, ZeroMQ, gRPC, and Systemd.


ITAR Requirements

To comply with U.S. Government export control regulations (ITAR), applicants must be one of the following: (i) a U.S. citizen or national, (ii) a lawful permanent resident (green card holder), (iii) a refugee under 8 U.S.C. a7 1157, or (iv) an asylee under 8 U.S.C. a7 1158. Individuals who do not meet these criteria must be eligible to obtain the necessary authorizations from the U.S. Department of State. For more information, please refer to the ITAR guidelines.

Learn about ITAR here.

Job Location

Chantilly, VA

Similar Jobs

More Jobs at Lynk

More Aerospace & Defense Jobs

Find similar Flight Software Engineer jobs: