Flight Software Engineer
OVERVIEW: Axiom Space is the commercial leader in human spaceflight and on-orbit research & manufacturing services, steered by a team of experts and guided by the vision of a thriving home in space that benefits every human, everywhere. Axiom provides unprecedented access to the International Space Station today while building and operating its successor – the world’s first international commercial space station – to improve life on Earth and foster possibilities beyond it.
Our mission-driven team is seeking a bold and dynamic Software Engineer who is preoccupied with big questions: Where do we go from here? What are the limits of innovation and exploration? How do we continue to evolve as a species?
SUMMARY: Our team is looking for an experienced Avionics Software Engineer to develop embedded flight software for our safety-critical human-rated system that will become the world’s first commercial space station.
DUTIES & RESPONSIBILITIES:
- Work with a team to design, develop, and test embedded flight software in alignment with our competency of teamwork
- Build functional, efficient, dependable, secure, and maintainable software in alignment with our core value of integrity
- Collaborate with hardware engineers on board-level firmware in alignment with our competency of problem solving
- Give and receive productive feedback during collaboration and in design and code reviews aligned with our competency of communication
- Execute avionics test plans and procedures in Hardware-in-the-Loop testbeds and support test automation platforms to facilitate CI/CD initiatives.
- Collaborate effectively with avionics engineers to integrate hardware simulation and fault injection solutions into real-time software
- Support NASA milestone reviews such as PDR, CDR, and SDR
- At least 2 years of experience in Linux embedded software development for safety-critical software
- Experience can be for aerospace vehicles, commercial or high-performance aircraft, satellites, or in other industries such as oil and gas
- Strong C and C++ programming skills and experience on Linux OS
- Must have experience in the entire software life cycle
- Requires the ability to manage multiple priorities and make decisions with minimal supervision
- Must be a highly responsible, collaborative, punctual individual with a strong work ethic
- To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions
Education & Experience
- Bachelor’s degree from an accredited college or university in Electrical Engineering, Computer Science, Computer Engineering, or another related technical discipline
- 3-6 years of experience using C++ in an embedded Linux environment
- Experience with microcontroller programming in C
- Experience with Bitbucket or Gitlab and Jenkins software tools, and Agile software development processes
- Familiar with containerization supporting Continuous Development/Continuous Integration pipelines on Linux Systems
- Work Environment: An office environment but can involve inside or outside work depending on the task.
- Must be able to complete a U.S. government background investigation.
- Management has the prerogative to select at any level for which the position is advertised.
- Proof of U.S. Citizenship or US Permanent Residency is a requirement for this position.
- Work may involve sitting or standing for extended periods (90% of the time). May require lifting and carrying up to 25 lbs. (5% of the time).
- Equipment and Machines
- Standard office equipment (PC, telephone, printer, etc.).
- Excellent people skills, with the ability to collaborate productively with others.
- Excellent organizational and punctuality skills, and ability to take the initiative.
- Result oriented personality with a creative approach to problem solving.
- Ability to work full-time in an in-office environment.
Competencies: To perform the job successfully, an individual should demonstrate the following competencies:
- Ethics - Treats people with respect; keeps commitments; inspires the trust of others; works with integrity and principles; upholds organizational values.
- Problem Solving - Identifies and resolves problems in a timely manner; gathers and analyzes information skillfully; develops alternative solutions; works well in group problem solving situations; uses reason even when dealing with emotional topics.
- Organizational Support - Follows policies and procedures; completes administrative tasks correctly and on time; supports organization's goals and values; benefits organization through outside activities; supports affirmative action and respects diversity.
- Communications - Expresses ideas and thoughts verbally; expresses ideas and thoughts in written form; exhibits good listening and comprehension; keeps others adequately informed; selects and uses appropriate communication methods.
- Cost Consciousness - Works within approved budget; develops and implements cost saving measures; contributes to profits and revenue; conserves organizational resources.
- Teamwork - Eager and able to work in a collaborative and cross-disciplinary fashion in a fast-paced, dynamic and deadline-oriented environment.