dominion%20dynamics
Software Engineer Fullstack
At a Glance
- Location
- Ottawa Office, Canada
- Employment
- FULL_TIME
- Experience
- 2–4 years
- Department
- Dominion Dynamics
- Posted
- 2026-07-13
Key Requirements
Required Skills
Domain Knowledge
- Defense
- Embedded Systems
- Engineering
Requirements
Senior candidates: 5+ years building production backend/frontend systems; Mid candidates: 2-4 years.
Strong production experience in Python and JavaScript/TypeScript; comfort writing clean, testable code.
Experience with SQL and relational data modeling; familiarity with Go and/or C++ is a strong advantage.
Practical experience with web frameworks and libraries (Flask or similar), dashboarding/visualization tools, and testing frameworks (PyTest, etc.).
Experience with one or more of: Android, ATAK/TAK plugin development, AWS services (ECS, EKS, Lambda, S3).
Proficiency with Git, JSON/YAML config, containerization, and CI/CD tooling.
Compensation & Benefits
Building 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.
Responsibilities
You will drive development across platform layers - from backend ingestion and data processing to frontend visualization and embedded integrations - working closely with hardware and embedded system teams.
This role centers on designing, testing, and operating resilient telemetry and interface systems for constrained, forward-deployed environments.
Design and implement backend services and APIs that ingest, normalize, and serve telemetry and mission data.
Build frontend interfaces and dashboards that surface critical system state and analytics for operators.
Integrate software with sensors, embedded systems, and edge compute nodes; ensure robust data flows and fault-tolerant behaviour.
Write and maintain automated tests, CI/CD pipelines, and deployment tooling to ensure repeatable, auditable releases.