06 Sep
|
Metropolitan Technologies
|
Ottawa
06 Sep
Metropolitan Technologies
Ottawa
Embedded Software Developer
About Metropolitan Technologies
Metropolitan Technologies is building the secure digital backbone for the world’s critical infrastructure.
Our technology helps organizations connect, protect, and direct mission-critical data across operational technology (OT) environments — from the tactical edge to cloud and enterprise systems.
We are developing a Zero Trust Data Mesh platform designed for demanding environments across energy & utilities, transportation, industrial systems, cities, mining, and defence & security.
Our technology is built secure by design and by default, combining zero-trust architectures, data-centric security, quantum-safe encryption, resilient peer-to-peer connectivity, and formally verified software.
As we continue to grow, we’re looking for an Embedded Software Developer to help build the high-assurance software and hardware at the edge of our platform.
The Opportunity
As an Embedded Software Developer, you’ll work on software that connects and secures devices and systems operating across the most consequential critical infrastructure environments.
This is a hands-on engineering role for someone who enjoys working close to the hardware while thinking about the broader system — including security, reliability, connectivity, and how distributed devices communicate in real-world environments.
You’ll collaborate closely with a small technical team and have the opportunity to contribute to architecture and design decisions as Metropolitan continues to develop and scale its platform.
What You’ll Do
- Design, develop, prove, test, and maintain embedded software for high-assurance systems.
- Build reliable software that interfaces directly with hardware, sensors, devices, and other operational technology.
- Develop and maintain device drivers and lower-level interfaces.
- Work with embedded processors and architectures such as ARM and RISC-V.
- Contribute to system architecture and technical design decisions.
- Develop software designed to operate reliably in constrained, distributed, low-bandwidth, or disconnected environments.
- Debug complex hardware/software and networking issues and perform root-cause analysis.
- Contribute to secure software development practices, including authentication, access control, encryption, and secure communications.
- Participate in code reviews, testing, documentation, and continuous improvement of engineering practices.
- Collaborate with the broader engineering team to move technology from development and prototyping into real-world deployments.
What We’re Looking For
We’re looking for a strong embedded software developer who combines hands-on technical ability with curiosity, sound engineering judgment, and an interest in solving complex security and infrastructure problems.
Ideally, you bring:
- 4+ years of skilled software development experience, with meaningful experience in embedded systems.
- Strong programming skills in C, C++, Ada, Rust, or equivalent.
- Experience with embedded processors and architectures such as ARM or RISC-V.
- Experience developing software that interfaces with hardware, including device drivers and low-level interfaces.
- Strong debugging and root-cause analysis skills.
- Experience with concurrent, distributed, or networked systems.
- Understanding of software architecture, design patterns, and maintainable software design.
- Familiarity with networking and communication protocols.
- Understanding of security fundamentals such as cryptography, authentication, authorization/access control, and secure software development.
- Experience with Git, automated testing, and modern software development workflows.
- A degree in Computer Engineering, Electrical Engineering, Computer Science, or a related technical discipline — or equivalent practical experience.
Nice to Have
You don’t need to check every box, but experience in any of the following would be valuable:
- SPARK / Ada
- QNX or seL4
- DDS / MQTT / Zenoh / ROS2
- Embedded Linux
- Yocto or Buildroot
- Firmware development
- Formal methods or formally verified software
- Wireshark and network-level debugging
- Secure boot or hardware-rooted security
- Cryptographic systems
- IoT/OT environments
- Defence, aerospace, transportation, energy, telecommunications, or other critical infrastructure environments
Why Metropolitan?
You’ll be joining a small team working on technically challenging problems where security, reliability, and resilience aren't afterthoughts — they're fundamental to the product.
Metropolitan’s platform is designed to securely connect disparate and isolated systems, protect operational data, and enable mission-critical information to reach the users and applications that need it — even in challenging environments.
Our technology combines zero-trust architectures, data-centric security, quantum-safe protection, decentralized connectivity, and formally verified software to help organizations modernize critical infrastructure without compromising security.
If you enjoy building technology where software meets hardware, cybersecurity, networking, and real-world infrastructure, we’d love to hear from you.
Learn more about Metropolitan Technologies: metropolitan.tech
📌 Embedded Developer (Ottawa)
🏢 Metropolitan Technologies
📍 Ottawa