About the Role
About The Role
We are looking for an Embedded Software Development Engineer to build and scale - VirtSat (Leo's Virtual Satellite Simulation platform). VirtSat enables developers and pipelines across Leo to create, provision, and test virtual satellites, ground gateways, customer terminals, and TT&C antennas on EC2 bare-metal infrastructure running KVM/QEMU.
As part of role, you will own the Graviton virtualization layer, managing VM lifecycle, LRU boot, subsystem provisioning, and software deployment for every virtual entity in the constellation. You will work at the intersection of cloud infrastructure, embedded Linux, and satellite operations building the platform that every Leo satellite software release is tested on before launch.
What You'll Work On
- Own the Graviton bare-metal virtualization layer — KVM/QEMU VM management, subsystem start/stop, health monitoring, and fault recovery.
- Develop embedded software in Rust, C, C++, or other modern languages for the virtualization and emulation layer.
- Write device drivers and system applications for the various satellite systems running on virtual hardware.
- Write software to interact with micro-controllers and emulated hardware peripherals (FPGA, HSM, sensors).
- Build and maintain the custom AMI pipeline that pre-configures all satellite dependencies, reducing provisioning time and preventing dependency drift.
- Develop and optimize provisioning scripts that deploy satellite software (LEP images, firmware, certificates) onto emulated LRUs via SSM.
- Implement plugin framework extensions for new LRU types (satellites, GGMAs, GTMAs, customer terminals) on the Graviton host.
- Build network virtualization between VMs — WireGuard tunnels, inter-entity networking, and TT&C link emulation.
- Optimize boot-time and provisioning latency for QEMU-based satellite instances.
- Debug and resolve issues at the intersection of host OS (Ubuntu/ARM64), guest OS (LEP/Yocto), and QEMU emulation.
- Develop fidelity improvements — HSM crypto emulation, EFUSE emulation, CAN bus simulation, and error injection frameworks.
- Work closely with other software and hardware teams to support board bring-up and integration testing.
Basic Qualifications
- 3+ years of non-internship professional software development experience.
- Experience with Linux systems programming (C, Rust, Python, or Bash).
- Experience with virtualization or emulation (KVM, QEMU, Docker, or similar).
- Familiarity with embedded Linux (boot process, systemd, device drivers, or Yocto/Buildroot).
- Experience with shell scripting and system automation.
- BS in Computer Science, Electrical Engineering, or equivalent.
Preferred Qualifications
- Experience with ARM64 architecture or Graviton instances.
- Experience with QEMU device emulation, QMP protocol, or custom QEMU plugins.
- Experience writing device drivers or interacting with micro-controllers.
- Experience with network virtualization (WireGuard, bridge networking, TAP/TUN interfaces).
- Familiarity with satellite systems, hardware test environments, or simulation platforms.
- Experience with EC2 bare-metal instances and SSM for remote commanding.
- Experience with AMI/image building pipelines (EC2 Image Builder, Packer).
- Familiarity with certificate provisioning, secure boot, or HSM interfaces.
- Experience with Python packaging (pip, virtualenv).
Requirements
Linux systems programming
Experience with programming in C, Rust, Python, or Bash on Linux systems.
Virtualization or emulation
Familiarity with KVM, QEMU, Docker, or similar technologies.
Embedded Linux
Knowledge of the boot process, systemd, device drivers, or Yocto/Buildroot.
Shell scripting
Experience with shell scripting and system automation.
Professional experience
At least 3 years of non-internship professional software development experience.
Nice to Have
Experience with ARM64 architecture or Graviton instances.
Experience with QEMU device emulation, QMP protocol, or custom QEMU plugins.
Familiarity with network virtualization technologies like WireGuard.
Knowledge of satellite systems, hardware test environments, or simulation platforms.
Benefits
Health insurance
Comprehensive health insurance plans.
Remote work
Flexible remote work options.
Learning budget
Budget for professional development and learning.