Description

Rapidly reusable space systems require highly operable, configurable, and reliable software. As the Flight Software Engineer at an early-stage start-up, you will own all elements of the software that glues together nearly every subsystem of a flight vehicle.

Your work will include software system architecture, requirements definition, development, rigorous test, and support of launch operations. Your solutions will have a foundational impact on the success of the organization and your work will be at the forefront of space technology. You must be ready to stay focused, move fast, self-direct, and learn on the fly.

Qualifications

  • Exceptional command of fundamentals
  • Experience creating codebase and software architecture from the ground up
  • Demonstrated skills in high level application development in C and C++
  • Proficiency in writing software for the UNIX/Linux platform
  • Experience writing software directly for hardware and interfacing with hardware (e.g., sensors, microprocessors, FPGAs)
  • Familiarity with scientific programming languages such as MATLAB, R, and Python
  • Familiarity with the fundamentals of the TCP/IP stack and developing software for network devices
  • Knowledge of systems engineering fundamentals, from requirements definition through verification
  • Ability to lead
  • Ability to follow
  • Excellent written and verbal communication
  • Bachelor’s degree in computer engineering, or similar

Responsibilities

  • ‍Gather, define, and document software requirements to meet existing and anticipated needs across the launch system
  • Perform and lead the flight software system development, deployment, and testing
  • Develop software capabilities such as algorithms for actuator control, sensor interfaces, mission sequencing, etc.
  • Develop, analyze, and review data to validate requirements and verify the software meets the design intent
  • Ensure system quality and performance through rigorous test
  • Write test plans and testing cases. Lead and execute unit/integration/systems level verification and validation
  • Collaborate closely with Guidance Navigation and Control engineers to implement their algorithms in flight software
  • Support launch operations and integrated test for the vehicle and its subsystems
  • Collaborate with Avionics engineers to design and develop the integrated test bed or Hardware in the Loop (HIL) for use in software development, verification, and operations
  • Develop capabilities for failure detection and failure management.