Embedded Flight Software & C&DH Engineer

  • Ottawa, ON, Canada
  • Full-Time
  • On-Site
  • 80,000-115,000 CAD / Year

Job Description:

Location: Ottawa, Ontario (On-site at the Ottawa facility with periodic hybrid work options available)
Position Type: Full-Time
Compensation: Salary & Stock Options
Benefits: Comprehensive Health & Dental package, starting 3 weeks paid annual leave
Contact: If you have issues with your application, please email [email protected]

About Obruta

Founded in 2019, Obruta Space Solutions is enabling the in-space economy by developing the advanced autonomy systems required for in-orbit satellite servicing, logistics, and active debris removal. Today’s satellites are single-use assets that cannot be refueled, inspected, or repaired. Obruta is eliminating this barrier with our flagship product: the RPOD Kit—a turnkey, vision-guided Guidance, Navigation, and Control (GNC) subsystem that makes autonomous spacecraft docking commonplace.

Backed by leading venture capital and top-tier space innovation programs, Obruta is executing cutting-edge perception and navigation projects with the Canadian Space Agency (CSA), National Research Council (NRC), and international commercial partners.

The Role

Obruta is seeking an Embedded Flight Software (FSW) & Command and Data Handling (C&DH) Engineer to build and harden the production flight software running on the RPOD Kit's onboard computer (NVIDIA Jetson / ARM architecture).

In this role, you will take ownership of the real-time software execution layer that bridges high-level algorithms and physical spacecraft interfaces. You will design command ingestion, telemetry packetization, inter-process communication (IPC), and interface pipelines connecting our AI computer vision models, MATLAB/Simulink-generated GNC algorithms, Fault Detection, Isolation, and Recovery (FDIR) state machines, and ground control systems.

As Obruta scales, this role serves as the foundation for our core flight software team, positioning you to become our Lead Flight Software Architect for future standalone spacecraft missions.

Key Responsibilities

  • Flight Software Architecture & Real-Time Execution: Develop, optimize, and maintain modular, high-reliability embedded flight software in C/C++ running on Linux/RTOS environments for ARM and NVIDIA Jetson edge-compute platforms.
  • Command & Data Handling (C&DH) Pipelines: Build deterministic command handling, scheduling, and telemetry packetization pipelines complying with standardized space protocols (e.g., CCSDS Space Packet Protocol, XTCE dictionaries).
  • GNC & Autonomy Integration: Integrate MATLAB/Simulink auto-generated C++ code, AI vision pipelines, and hierarchical FDIR state machines into a cohesive, deterministic flight software stack.
  • Inter-Process Communication (IPC) & Middleware: Implement high-throughput, low-latency IPC frameworks (e.g., POSIX shared memory, zero-copy messaging, ROS2/eBPF/micro-middleware) for real-time sensor data streaming and actuator command execution.
  • Ground-to-Space Interface Integration: Build and validate the software communication bridges interfacing the flight computer with NASA Open MCT ground software and Software-in-the-Loop digital twins.
  • Benchtop & FlatSat Hardware Integration: Collaborate with embedded developers and laboratory engineers on profiling CPU/GPU/memory footprints, resolving hardware-in-the-loop communication jitter, and conducting hardware integration tests.
  • Flight Code Quality & Hardening: Enforce flight-grade software engineering practices, including automated unit/integration testing, MISRA C/C++ coding guidelines, continuous integration pipelines, and memory leak profiling.
  • Management: Ensuring team members are effectively working towards the common goals of Obruta.

Required Qualifications

  • Bachelor's degree in Computer Engineering, Electrical Engineering, Software Engineering, Computer Science, or a related discipline.
  • 2+ years of professional embedded software engineering experience developing production-grade C and C++ for ARM, Linux, or RTOS-based embedded systems.
  • Hands-on experience developing real-time communication protocols, device drivers, or middleware on embedded Linux platforms (e.g., NVIDIA Jetson, Raspberry Pi Compute Module, or custom flight computers).
  • Solid understanding of multi-threading, concurrency, memory management, and deterministic inter-process communication.
  • Familiarity with hardware communication buses and protocols (UART, SPI, I2C, CAN bus, RS-422, Ethernet).
  • Applicants must be legally authorized to work in Canada. Successful candidates must able to obtain and maintain a security assessment under the Controlled Goods Program.

Nice-to-Have Qualifications

  • Prior experience developing flight software for CubeSats, SmallSats, drones, or autonomous robotics.
  • Working knowledge of space communication and telemetry standards (CCSDS, XTCE).
  • Experience deploying and profiling auto-generated C/C++ code from MATLAB/Simulink or Embedded Coder.
  • Experience with containerization tools (Docker), embedded build systems (Yocto, CMake), and CI/CD pipelines.
  • Familiarity with mission control frameworks like NASA Open MCT or COSMOS.

Why Join Obruta?

  • Direct Flight Impact: Write the code that executes autonomous proximity and docking maneuvers in orbit.
  • High Technical Ownership: Shape the core flight software architecture and standards for the next generation of spacecraft servicing subsystems.
  • Interplanetary Vision: Work alongside a multidisciplinary team dedicated to making sustainable in-orbit operations and autonomous docking commonplace.


Additional Position and Application Info

This posting is for an existing vacancy. Thank you to all who apply. Candidates who are successfully selected for an interview will be notified by email.

We encourage all qualified applicants to apply, even if they don't check every single box. We recognize the impact of imposter syndrome and value practical capability, initiative, and drive.

If the posted salary range, work location, or anything else does not exactly align with your expectations, please let us know. We'd hate to miss out on the opportunity of working together without a discussion first.

Equity

We are an equal opportunity employer committed to building a diverse and inclusive workplace. We welcome applications from all qualified individuals, including women, Indigenous peoples, persons with disabilities, members of visible minorities, and people of all sexual orientations and gender identities.

Accommodation

If you require accommodation during any stage of the recruitment process, please contact us at [email protected], and we will work with you to meet your needs.

To apply, click the "Apply now" button on this page and fill out the form. Thank you for considering Obruta, we're excited to hear from you!