Développeur; euse) logiciel/Software Developer - Edge Platform; Edge OS
Location: Quebec City
La dynamique de votre équipe:
Nous sommes à la recherche d’un(e) développeur(euse) logiciel pour contribuer à la prochaine génération de Genetec Edge OS, notre système d’exploitation destiné aux appareils en périphérie (edge), ainsi qu’à son écosystème de gestion à distance.
Vous ferez partie d’une équipe qui développe une plateforme d’orchestration et de gestion permettant d’exécuter des charges de travail de façon sécuritaire et fiable sur des appareils gérés, au plus près des systèmes et des données qu’ils desservent.
Dans ce rôle, vous concevrez, développerez, testerez et déboguerez des composants essentiels d’orchestration, tels que des services embarqués (daemons) et des services infonuagiques qui assurent l’exécution des charges de travail à la périphérie.
Si vous êtes curieux(se), aimez comprendre en profondeur le fonctionnement des systèmes et êtes motivé(e) par la création de systèmes distribués robustes, ce poste est fait pour vous. Vous possédez une solide compréhension des systèmes d’exploitation, des réseaux, de la conteneurisation et de la sécurité.
Votre journée en un coup d'oeil :
- Concevoir, développer et tester des logiciels principalement écrits en Go pour nos appareils basés sur Linux
- Développer des services et processus infonuagiques permettant la configuration des appareils, la gestion de leur topologie, de leur cycle de vie et de leurs mises à jour
- Développer des capacités réseau favorisant des communications sécurisées et résilientes entre les appareils et les charges de travail
- Diagnostiquer et résoudre des problèmes touchant les services système, les réseaux, les conteneurs, les couches d’orchestration et les services infonuagiques
- Améliorer les outils de dépannage à distance, la surveillance de l’état des appareils, l’observabilité et les mécanismes automatisés de reprise après incident
- Collaborer étroitement avec les équipes de micrologiciel (firmware), d’infonuagique, de sécurité et de plateforme lors des phases de conception, d’implémentation et de révision de code
Ce qui fait de vous un excellent candidat :
- Plusieurs années d’expérience dans la livraison de logiciels en production développés en Go, Rust, C/C++ ou dans d’autres langages de programmation système similaires
- Solide expérience du développement et du débogage sous Linux (services, processus, permissions, réseautique, journaux système et contraintes de ressources)
- Expérience dans le développement de logiciels pour des systèmes embarqués, des appareils en périphérie (edge), des appliances ou d’autres environnements présentant des contraintes similaires
- Expérience pratique avec Kubernetes, les conteneurs ou des plateformes d’orchestration
- Excellente maîtrise des concepts fondamentaux de réseautique (TCP/IP, DNS, routage, pare-feu, TLS, HTTP) et expérience concrète en dépannage
- Capacité à concevoir des systèmes asynchrones fiables avec une gestion claire des états, des mécanismes de reprise (retries), l’idem potence et une gestion robuste des défaillances
- Fort souci de la qualité logicielle et de la couverture des scénarios limites et des cas d’échec
- Excellentes aptitudes en communication et intérêt pour la collaboration multidisciplinaire avec les équipes logicielles, micro logicielles, infonuagiques et de sécurité
- Maîtrise du français et de l'anglais, tant à l'oral qu'à l'écrit (ce poste nécessite des interactions avec nos collaborateurs et clients internationaux)
Un atout si vous avez :
- Une expérience pratique avec K3s, les composantes internes de Kubernetes, containerd, CNI, CSI, RBAC, les politiques réseau ou la gestion du cycle de vie des nœuds
- Une expérience concrète en gestion de flottes d’appareils (approvisionnement, enrôlement, réconciliation entre l’état désiré et l’état rapporté, accès distant sécurisé)
- Une…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).