What You'll Do- Contribute directly to the design, development, integration, test, and operation of spacecraft software, including flight software, embedded and real-time systems, autonomy, simulation, mission software, and ground systems.
- Own well-scoped software engineering problems from requirements and architecture through implementation, unit and integration testing, debugging, documentation, deployment, and closure with support from senior engineers.
- Work hands-on with flight and embedded software, Linux environments, C/C++ and Python codebases, simulators, hardware-in-the-loop systems, networking, telemetry, logs, test infrastructure, and real spacecraft interfaces rather than operating only at the documentation layer.
- Participate in design and code reviews, software integration, simulation campaigns, hardware-in-the-loop testing, anomaly investigations, mission-readiness activities, and operational support; communicate software behavior, risks, assumptions, and decisions clearly.
- Collaborate across GNC, electrical, mechanical, propulsion, systems, mission operations, and test teams to understand software interfaces and system-level impacts on spacecraft behavior and mission performance.
- Build engineering judgment by comparing expected software behavior, simulations, interface assumptions, timing, telemetry, and test results against hardware-in-the-loop, integration, and operational data, identifying discrepancies, and iterating toward reliable mission software.
- Document requirements, assumptions, interfaces, architecture, code behavior, test results, procedures, and technical decisions so others can review, reproduce, maintain, test, and integrate the work.
- Take increasing ownership as technical capability grows, progressing from supervised implementation and test tasks toward independent feature-, service-, interface-, or subsystem-level responsibility.
- Support spacecraft mission execution by helping translate mission objectives and constraints into credible software architectures, algorithms, interfaces, test approaches, operational tools, and mission-support capabilities.
What We're Looking For Required - Bachelor's degree completed, or expected before start date, in Computer Science, Computer Engineering, Software Engineering, Electrical Engineering, Aerospace Engineering, Robotics, Applied Math, or a closely related technical field.
- Strong academic or project-based grounding in data structures, algorithms, computer architecture, operating systems, embedded or real-time software, networking, software design, controls/autonomy software, or related software engineering fundamentals, with the ability to explain technical reasoning from first principles.
- Demonstrated hands-on software engineering experience through internships, research, student spacecraft or robotics teams, capstone projects, personal projects, open-source work, laboratories, competitive programming, or prior employment.
- Ability to break down ambiguous software problems, identify assumptions and interfaces, design appropriate architectures or algorithms, make reasonable implementation tradeoffs, and validate work through unit tests, simulation, integration testing, hardware-in-the-loop, telemetry, or data.
- Clear written and verbal technical communication, including the ability to explain what was personally architected, coded, integrated, tested, deployed, or debugged versus what was completed by a team.
- Comfort learning new spacecraft software architectures, interfaces, embedded platforms, tools, protocols, test methods, and mission concepts quickly in an environment where responsibilities may evolve with program needs.
- Ability to collaborate closely with GNC, electrical, mechanical, propulsion, systems, test, and mission-operations engineers and accept direct technical feedback without losing ownership of the problem.
- Ability to comply with applicable export-control requirements and customer-access restrictions.
Your Ideal Background Preferred - Internship, research, co-op, or project experience in spacecraft, aerospace, robotics, autonomy, embedded systems, real-time software, defense technology, high-reliability software, or another technically demanding environment.
- Experience taking a software feature, embedded application, autonomy component, simulation, service, or interface from concept and design into implementation, integration, test, deployment, or operation and using the results to drive changes.
- Exposure to C/C++, Python, embedded or real-time software, Linux, networking, testing, simulation, robotics, autonomy, hardware-in-the-loop environments, flight software, or mission / ground software.
- Additional Requirements: Must be willing to work hands-on in the office, lab, integration, or test environment as required and to support occasional extended hours during critical test or mission activities.
Compensation and Benefits: Your base salary will be determined on a case-by-case basis and may vary based on the following considerations: job-related knowledge and skills, education, and experience. The anticipated salary range for this role is $80,000 - $105,000 annually.
Base salary is just one part of your total rewards package at Katalyst. You will also be eligible for long-term incentives, in the form of the Employee Stock Option and Equity Plan, as well as a relocation bonus and other discretionary bonuses. You will also receive access to comprehensive medical, vision, and dental coverage, and unlimited Paid Time Off.