The Software Engineer II role involves designing, developing, and testing software applications for space systems and technologies. This mid-level position requires a strong understanding of programming languages and software development principles, as well as the ability to work both independently and as part of a team. Responsibilities include writing clean, maintainable code, collaborating with team members to understand project requirements, and contributing to the development of innovative software solutions. This role offers the opportunity to work on cutting edge projects in the space industry, stay current with industry trends, and advance in a dynamic and collaborative environment. 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.