About the Role
The Role
Osprey Systems is building Canada’s sovereign counter-drone capability. Our distributed detection and interception system is designed for the environments where everything else fails: extreme cold, GPS-denied, and network-degraded conditions. We serve critical infrastructure operators and defense customers with a single product line, built in Canada.
We are a small founding team backed by a clear funding pathway through Canadian defense innovation programs and paid civilian deployments.
What You'll Do
- Build and own the embedded Linux platform on edge GPU hardware: images, provisioning, services, watchdogs, recovery.
- Design networking between distributed devices: peer discovery, routing, and graceful degradation when links or backhaul fail.
- Implement peer-to-peer time synchronization independent of satellite reference.
- Build staged, atomic OTA updates with automatic rollback for remote customer sites.
- Own power and thermal management in software on solar and battery budgets through extreme Canadian winters.
- Build fleet telemetry, remote diagnostics, and logging for distributed deployments.
- Integrate the engineering team’s work into a coherent, resource-budgeted system on the device.
- Help shape engineering culture, tooling, and hiring as the team grows.
Who You Are
- 5+ years systems or embedded software engineering on Linux.
- Strong C++ plus scripting fluency.
- Networking depth below the socket API, including unreliable links.
- Experience shipping remote unattended devices where a bad update means a truck roll.
- Whole-stack ownership: kernel config through application services through CI.
- Reliability mindset: design for failure and test for failure.
Bonus Points
- Edge AI platforms; mesh networking or LoRa; PTP and time-sync internals; Rust; Yocto or Buildroot; power-constrained systems; early-stage hardware startup experience.
Requirements
Embedded Linux experience
You should have over 5 years of experience in systems or embedded software engineering on Linux.
C++ proficiency
Strong fluency in C++ and scripting languages is required.
Networking knowledge
Depth in networking below the socket API, including handling unreliable links, is essential.
Reliability engineering
A reliability mindset to design and test for failure is crucial.
Nice to Have
Experience with edge AI platforms is a plus.
Familiarity with Rust is beneficial.
Experience with power-constrained systems is advantageous.