At Heart Aerospace we are developing the ES-30, a regional hybrid-electric airplane with a capacity of 30 passengers, an electric zero-emission range of 200 km and an extended hybrid range of 400 km. Heart is targeting type certification of the ES-30 by the end of the decade.
Your mission
As a Software Engineer on the Flight Software Team, you are responsible for all aspects the development of the software on the aircraft. You will interface with other engineers to develop and understand requirements, architect and writing high quality code, build tests and test infrastructure, documentation, and provide support through the software lifecycle. You will report to the Manager of Flight Software and collaborate with other engineers as part of a multi-functional team. As an early software hire within the organization, part of your responsibility will be to lay the technological foundation for the aircraft software and supporting systems, including but not limited to implementing aircraft control functions on embedded systems, developing aircraft models and simulation tools, implementing critical fault tolerance mechanisms, and building hardware and software test systems.
You'll Bring These Qualifications:
- Bachelor's or above in computer science, electrical engineering, or similar engineering discipline.
- 3+ years professional experience writing safety-critical code for vehicles, or similar applications.
- Excellent verbal and written communication skills in English.
- Passion for aircraft and Heart’s mission.
These Qualifications Would Be Nice to Have:
- Significant experience writing software in Rust, Python, C, C++, or a similar systems language.
- Experience writing code for execution in an embedded environment (microcontrollers, bare metal, RTOS, embedded OS).
- Experience modeling cyber-physical systems (6 DoF Simulators, Monte Carlos, Battery Pack Models).
- Strong systems design fundamentals. Experience architecting software systems (and contributing requirements to hardware design) for vehicle systems. Experience with various approaches to fault tolerance and fault mitigation.
- Significant experience with software and hardware test development. Experience with unit tests, CI/CD, integration testing, data collection and management, report generation, fuzzing and other advanced automated test methods.
- Experience developing software under a functional safety compliant process (for example, compliant to IEC 61508, ISO 26262, DO-178C, or similar). Strong understanding of functional safety and how to apply it to software development.