Développeur logiciel embarqué (contrôle optique) – poste basé à Ottawa / Embedded Software Developer (Optical Control) (Ottawa based role)
Nous recherchons un(e) ingénieur(e) logiciel embarqué pour développer des logiciels qui contrôlent et stabilisent directement des composants optiques de couche 0 (Layer 0) dans des systèmes DWDM avancés. Vous développerez des logiciels en temps réel ou quasi temps réel responsables de la gestion des lasers, de la puissance optique et du comportement du signal, afin d’assurer des performances élevées et une grande fiabilité des équipements de transport optique. Il s’agit d’un rôle concret, à l’intersection des systèmes embarqués, de la logique de contrôle et du matériel photonique.
Ce poste est à temps plein, en présentiel à Ottawa, et nécessitera une relocalisation.
We are looking for an Embedded Software Engineer to develop the software that directly controls and stabilizes Layer 0 optical components in advanced DWDM systems. You will build real-time and near-real-time software responsible for managing lasers, optical power, and signal behavior, ensuring high-performance and reliable operation of optical transport equipment. This is a hands-on role at the intersection of embedded systems, control logic, and photonic hardware.
This role is full-time on-site in Ottawa and will require relocation to Ottawa.
Ce que vous ferez / What you'll do
- Concevoir et développer des logiciels embarqués pour des systèmes de contrôle optique de couche 0
- Développer et optimiser des boucles de contrôle pour la puissance optique, la stabilisation des longueurs d’onde et la qualité du signal
- Interagir directement avec des composants matériels tels que les lasers, VOAs (atténuateurs optiques variables), amplificateurs et capteurs
- Mettre en œuvre des systèmes de rétroaction en temps réel ou quasi temps réel pour la calibration et le contrôle optique
- Développer des pilotes bas niveau et des couches d’abstraction matérielle (I2C, SPI, etc.)
- Collaborer avec les architectes systèmes afin de traduire le comportement optique en fonctionnalités logicielles
- Contribuer aux mécanismes de détection de pannes, de protection et de restauration dans les réseaux optiques
- Exposer les fonctionnalités du système via des interfaces de gestion (ex. : API REST, télémétrie)
- Déboguer des problèmes complexes couvrant le matériel, le firmware et le logiciel
- Participer à l’intégration, à la mise en service et à l’optimisation des performances des systèmes
- Optimiser les logiciels pour la performance, la fiabilité et l’évolutivité dans des environnements de qualité opérateur (carrier-grade)
- Rédiger du code propre, maintenable et bien documenté
- Design and implement embedded software for Layer 0 optical control systems
- Develop and optimize control loops for optical power, wavelength stabilization, and signal quality
- Interface directly with hardware components such as lasers, VOAs, amplifiers, and sensors
- Implement real-time or near-real-time feedback systems for optical calibration and control
- Develop low-level drivers and hardware abstraction layers (I2C, SPI, etc.)
- Collaborate with system architects to translate optical behavior into software functionality
- Contribute to fault detection, protection, and restoration mechanisms in optical networks
- Expose system functionality via management interfaces (e.g., REST APIs, telemetry systems)
- Debug complex issues across hardware, firmware, and software layers
- Participate in system bring-up, integration, and performance tuning
- Optimize software for performance, reliability, and scalability in carrier-grade environments
- Write clean, maintainable, and well-documented code
Ce qui'il vous faut pour réussir / What you'll need to get the job done
- Solide expérience en programmation en C/C++ et/ou Rust
- Expérience avec Linux embarqué ou le développement bas niveau
- Expérience pratique avec l’interfaçage matériel et le développement de pilotes
- Bonne compréhension des systèmes de contrôle ou des boucles de rétroaction
- Expérience avec les systèmes temps réel ou multithread
- Expérience en débogage à l’interface logiciel/matériel
- Connaissance des systèmes télécom ou réseaux (l’expérience en optique est un atout important)
- Expérience avec les systèmes de gestion de versions (Git) et les pratiques modernes de développement
- Excellentes aptitudes en résolution de problèmes et capacité à travailler en équipe multidisciplinaire
- Strong programming experience in C/C++ and/or Rust
- Experience with embedded Linux or low-level systems programming
- Hands-on experience interfacing with hardware and developing drivers
- Understanding of control systems or feedback loop implementation
- Experience with multi-threaded or real-time software systems
- Familiarity with debugging across software and hardware boundaries
- Exposure to telecom or networking systems (optical experience is a strong plus)
- Experience with version control (Git) and modern development workflows
- Strong problem-solving skills and ability to work in cross-functional teams
Ce qui vous démarquera vraiment / What will make us REALLY love you
- Expérience avec des systèmes DWDM, ROADM ou de transport optique
- Connaissances en théorie du contrôle, traitement du signal ou systèmes physiques
- Expérience dans la mise en œuvre de mécanismes de protection et de restauration en couche 0
- Familiarité avec les modèles de gestion réseau (YANG, OpenConfig, NETCONF)
- Experience working on DWDM, ROADM, or optical transport systems
- Background in control theory, signal processing, or physics-based systems
- Experience implementing Layer 0 protection and restoration mechanisms
- Familiarity with network management models (YANG, OpenConfig, NETCONF)
Related jobs
Are we your next great career match?
We are a global team of engineers present in eight countries and three continents. Together with our world-leading partners, we create tomorrow's technology in telecom, automotive, industrial, defence, and medtech.