Senior Software Engineer - Backend
Reports to: Director of Software
Type: Full-Time
Location: Ottawa or Toronto
LocationAura Net is Dominion Dynamics' mesh networking platform for autonomous assets working in contested and disconnected environments. It has to move data securely and in real time over links that aren't conventional wired networks, where bandwidth is scarce, connections drop, and the cloud may not be reachable ping that working is the job.
You'll design and build the backend systems behind Aura Net in Python and Rust, across distributed systems, networking and security. You'll own an area of Aura Net or a project built on it, and move to where the work matters most as priorities shift. We're a small team building sovereign Canadian capability for the people who use it in the field.
We value engineers who make good decisions quickly, ship quality work, and set the bar for the engineers who join after them.
Design and build backend services in Python and Rust for data ingestion, processing and real-time distribution across Aura Net.
Build and tune networking for low-latency, end-to-end encrypted communication over mesh, intermittent and non-cloud links.
Bring a security-first approach to the platform, including authentication, PKI and encrypted transport, and add depth to the team's security work.
Package and deploy services in containers that run reliably on edge hardware with limited connectivity.
Integrate backend systems with autonomous platforms, flight stacks and simulation environments as the work requires.
Shape platform architecture and engineering standards through design reviews, code reviews and mentoring.
Move across Aura Net and related projects as priorities change, picking up whatever needs to ship next.
Senior or Staff-level experience designing and shipping distributed systems in production.
Strong backend engineering in Python and/or Rust, and willingness to work in both.
Solid networking fundamentals: TCP/IP, UDP, and publish/subscribe architectures.
Working knowledge of security concepts, including end-to-end encryption, PKI, authentication and authorization.
Hands-on experience with containers and deploying services outside a standard cloud environment.
Sound judgment, and you move fast without cutting corners on quality.
Low ego and a get-it-done attitude. You're comfortable owning your work and changing focus when the team needs it.
Eligibility for Canadian security clearance.
Experience with mesh networking, tactical or degraded networks, or radio and satellite communications.
Familiarity with Zenoh or similar messaging technologies.
Experience integrating with robotics, UAV or autonomous platforms (MAVLink, Ardu Pilot).
Exposure to simulation environments such as Gazebo or Unreal Engine.
Background in security engineering or a security-focused role.
Experience in defence or another regulated environment.
No defence background required.
We've hired people who didn't tick every box.
Why Join UsBuilding something meaningful starts with the right people.
At Dominion Dynamics, you’ll:
Shape Canada’s future by building real defence capability for the CAF and our allies.
Make decisions that ship in a high-trust environment with short feedback loops and rapid iteration.
Move fast, field faster, and work directly with the operator — our systems are in the field with the CAF now.
Have an impact from day one with equity, responsibility, and direct access to leadership.
If you’re curious, hands-on, and driven by the opportunity to make a difference, this is where you belong!
Compensation & BenefitsCompetitive base salary and company equity*
Comprehensive health benefits
Additional equity granted based on impact*
We use AI tools to support parts of the hiring process, including screening and reviewing responses. Final hiring decisions are always made by people and follow all applicable privacy and employment laws in Canada.
* Equity awarded to full time employees only.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).