The Software Engineer role involves designing, developing, and testing software applications for space systems and technologies. This advanced position requires expertise in at least one programming language, an advanced understanding of software development principles, and the ability to design and architect complex software systems. The role includes writing clean, maintainable code, collaborating with team members to understand project requirements, and contributing to the development of innovative software solutions. Additionally, this position involves mentoring and guiding other engineers, providing technical leadership and support. Our mission is driven by an unyielding commitment to advancing space-based technology in service of our customers and safeguarding national security. We seek individuals who are passionate about innovating beyond boundaries and relentlessly pursuing solutions that protect, preserve and empower – to join us in this critical mission. We’re looking for team members who align with our values, mission and goals – while also meeting the minimum qualifications below. The preferred qualifications are a bonus, not a requirement. Sierra Space’s Defense division focuses on the design, build, and operations of small satellites in support of commercial services and national security space. As a Flight Software Engineer, your primary responsibility will be designing and developing flight software and algorithms solutions for spacecraft missions for both civilian and DoD applications. These designs stem from understanding, analyzing and evaluating satellite and constellation capabilities, mission concepts, and system requirements. Your work will ensure we meet customer requirements by making data-driven decisions in architecting, implementing and testing the design in a testbed prototype and subsequent delivery of the flight code. Along the way, you will contribute to analyses of various architectures that include space vehicles, satellites, sensors, communications, and ground infrastructure, evolving or creating new approaches based on analysis results. You will also contribute to evaluating the mission effectiveness of the candidate approaches, balancing mission objectives against factors such as development and lifecycle costs. The Software Engineer participates in all portions of the software life cycle (concept development, requirements definition, design, development, testing, and deployment) of flight software to support ongoing and future small satellite programs. This individual must have a strong working knowledge of object-oriented design using C++ and must have a strong background in developing flight code on embedded processors. The candidate must also be comfortable working in an Agile Scrum environment.