A complete application in a minute
Tailored resume and cover letter, ready to send.
PVLabs in Burlington, ON, is seeking an Embedded Software Designer to build real-time software for airborne imaging platforms. You will design, implement, verify, and support software that controls stabilized gimbals and ISR payloads in a modular, testable architecture.
You will work with Systems, Electrical, FPGA, Controls, Mechanical and Optics teams to resolve hardware/software decisions. Hybrid or onsite work is available in a demanding, hardware‑focused environment.
**Please note that to be considered for any position at PV Labs, all candidates must be eligible to meet the requirements of the Canadian Controlled-Goods Program of the Defense Production Act and be able to hold and maintain a Canadian Security Clearance. If you are not clear about your eligibility, please consult the Government of Canada website HERE**
As an Embedded Software Engineer at PVLabs, you design and build real-time software systems that sit at the core of our airborne optical platforms. Your work spans the full lifecycle—architecture, design, implementation, verification, debug, deployment, and long-term evolution—of software that directly controls stabilized gimbals and ISR payloads.
We treat software as a product, not a by-product. Our architecture is modular, component-driven, and intentionally designed for change. You’ll work on distributed, multi-processor real-time systems via micro-controllers where clarity, testability, and long-term maintainability matter just as much as raw performance.
You’ll collaborate very closely with systems, electrical, mechanical, and optical engineers—not as support, but as a peer—bringing software judgment to the table as we solve difficult problems in stabilization, sensing, motion control, and imaging within demanding operational environments.
If you enjoy designing clean software systems that interact with complex hardware and real-world physics, you’ll feel at home here.
You’ll own a significant embedded software subsystem for one of our stabilized airborne imaging platforms. You’ll take it from requirements and design through implementation, hardware integration, verification, release and field support.
The software you build helps control how gimbals stabilize, how sensors and actuators respond, and how imaging payloads operate in demanding environments.
This is a hands-on engineering role. You’ll write and debug real-time C++ and C on distributed, multiprocessor systems and make subsystem design decisions within the product architecture. You’ll work directly with Systems, Electrical, FPGA, Controls, Mechanical and Optics engineers to resolve the hardware and software decisions that shape how the product behaves.
Turn system requirements into modular software, clear interfaces and testable acceptance criteria. Document decisions about timing, concurrency, resource limits and fault handling.
Lead subsystem bring-up and integration on target hardware. Measure real-time behaviour, diagnose faults across processor and hardware boundaries, and verify fixes under realistic operating conditions.
Define and execute verification for normal operation and failure conditions, including startup, degraded operation and recovery. Maintain traceability from requirements through test results and defect closure.
Apply secure coding and configuration controls so builds and release packages are reproducible. Improve automated tests, hardware-in-the-loop testing or diagnostics to catch defects earlier and make field issues easier to isolate.
Lead design and code reviews, coach less experienced engineers and coordinate work across interfaces. Give program and technical leads credible estimates, raise risks early and bring evidence and a recommendation when decisions affect the wider product.
At PVLabs, how we work matters as much as what we build.
You typically:
You’ll work on fielded airborne systems alongside the people who design, build and test them.
Depending on the program, your work may touch high-speed motion control, cameras and lenses, image processing, real-time video, distributed I/O or laser-enabled payloads. You may be asked to join a flight-test to provide real-time system support while airborne.
Above all, you’ll have the autonomy to make subsystem decisions and see how those decisions hold up on real hardware.