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. 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.