Software Designer / Concepteur(trice) logiciel
Ville Saint-Laurent, Quebec, CA
Les technologies en télécommunications évoluent rapidement, et EXFO vise à être parmi les premiers à offrir des solutions de test et de validation pour le segment Manufacturing, Lab and Research (MDR). Pour soutenir cette ambition, l’équipe R&D de cette division poursuit sa croissance et recherche un Développeur Logiciel Full Stack polyvalent, curieux et passionné par les technologies émergentes.
Résumé du poste
En tant que Développeur Logiciel Full Stack, vous développerez des fonctionnalités tant au niveau du back-end que du front-end pour nos produits MDR. Vous serez également amené à créer des prototypes et preuves de concepts afin d’évaluer de nouvelles technologies, faciliter des démonstrations et soutenir l’innovation continue.
Responsabilités principales
Développement logiciel (Full Stack)
- Concevoir, développer, maintenir et améliorer des fonctionnalités logicielles pour nos produits MDR.
- Contribuer au développement côté back-end (APIs, services, protocoles, intégrations bas niveau) et côté front-end (interfaces utilisateurs).
- Comprendre, analyser et modifier du code existant pour y ajouter de nouvelles capacités ou améliorer sa structure.
Preuves de concepts (PoC) et innovation
- Développer rapidement des prototypes pour valider de nouvelles technologies ou concepts liés aux réseaux, aux interfaces ou aux puces électroniques.
- Participer à des évaluations techniques avec les équipes R&D HW, FPGA et SW.
- Réaliser ou participer à des démonstrations internes et externes.
- Intégrer, lorsque pertinent, les PoC prometteurs aux produits existants ou futurs.
Interaction avec le matériel
- Interagir avec des puces électroniques via leurs interfaces de configuration (ex. drivers, API bas niveau).
- Comprendre les limitations technologiques, les capacités matérielles et leurs impacts sur le software.
- Collaborer avec les équipes matérielles HW, FPGA et ingénierie de systèmes pour résoudre des problèmes complexes.
Compétences techniques
- Expérience pertinente en développement logiciel sur des produits matériels, idéalement dans le domaine des télécommunications.
- Excellentes compétences back-end : C/C++/C# (exigé).
- Compétences front-end : Flutter (exigé), TypeScript, Angular (atouts).
- Connaissance de Python.
- Expérience avec les API REST.
- Connaissance de Git/Gitlab, CI/CD, tests unbitaires (atouts)
- Intérêt marqué pour le hardware , notamment :
- lecture et compréhension de documentation technique de puces électroniques
- Interaction avec leurs interfaces de configuration (drivers)
- À l’aise avec les technologies émergentes, peu documentées ou en évolution.
- Expérience avec des environnements de communication réseau (atout).
Aptitudes personnelles
- Excellente collaboration avec des équipes multidisciplinaires (ingénieurs systèmes, HW, FPGA, SW, équipe QA, production).
- Aime travailler avec des équipes locales et à distance
- Très grande polyvalence; capable d’intervenir à différents niveaux du produit.
- Débrouillard, autonome, apprend rapidement.
- Curiosité naturelle pour les nouvelles technologies.
- Enthousiasme à l’idée de contribuer à la mise en marché de produits innovants.
Exigences
- Expérience : 5+ années en développement logiciel.
- Langues : Français et anglais (parlé et écrit).
- Formation : Baccalauréat en informatique, génie logiciel, génie électrique ou domaine connexe.
- Statut : Citoyen canadien ou résident permanent.