Role Description:

At Hermeus, you'll have the opportunity to drive the development of flight software for high-speed (hypersonic) point-to-point vehicles. You will be encouraged to question traditional methods and requirements for aerospace flight software. Always be thinking about how you can build safe, testable, deployable and flexible software. This position will report directly to the COO.

Responsibilities:

  • Own the full-stack of embedded flight software, including codebase, architecture, algorithms, hardware selection and interfaces, performance, safety/reliability/certification
  • Develop internal policy, procedure, and infrastructure regarding unit testing, configuration management, and hardware-in-the-loop and software-in-the-loop testing
  • Support rapid prototyping activities with quick development cycles
  • Develop embedded software for multi-node communication architectures
  • Troubleshoot and solve technical problems related to hardware-software interactions
  • Optimize software performance for multi-threaded applications
  • Support and collaborate with flight and test engineers in order to efficiently and effectively collect data necessary to determine system performance under test and operation
  • Develop and utilize software tools to support formatting and visualizing flight test data to answer system performance and operational measures

Required Skills & Experience:

  • Experience analyzing requirements and decomposing them to software requirements
  • 5+ years of software engineering with recent embedded flight software experience
  • Recent background in flight software development with specific recent experience in the following languages and operating systems: C, Python, Linux, VxWorks/Integrity
  • Experience with device driver development and software/hardware interfaces for both custom and commercial hardware
  • Advanced knowledge of principles, theories, concepts and techniques in developing, modifying, debugging, releasing and maintaining real-time and embedded software systems for mission-critical aerospace applications
  • Experience debugging software/hardware interactions and possible failure modes
  • Experience with multiple communication protocols (I2C, SPI, UART, CAN, Ethernet, etc.)
  • Experience utilizing industry-standard programmers and debugging environments (JTAG, ITM)

Preferred Skills & Competencies:

  • Master’s degree in Computer Engineering, Electrical Engineering, Computer Science, Aerospace Engineering, or similar
  • Experience with propulsion, trajectory, guidance, navigation and control, or aerospace systems engineering
  • Experience designing and implementing graphical user interfaces (GUIs)
  • Experience using DOORs and UML software modelling tools
  • Experience implementing automated software testing
  • Knowledge of RF engineering, digital communication systems, or digital signal processing