20 Sep
|
Socket.dev
|
Quebec City
20 Sep
Socket.dev
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’idempotence 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, micrologicielles, 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 expérience en ingénierie de la sécurité appliquée aux systèmes distribués (identité des appareils, certificats, autorisation, attestation, modélisation des menaces et auditabilité)
Une expérience en exploitation de plateformes infonuagiques à grande échelle, idéalement dans des architectures multi-régions
Une participation active au développement de systèmes de mise à jour de micrologiciels (firmware), de mécanismes de retour arrière A/B (rollback) ou de pratiques d’ingénierie de résilience
Une solide expérience dans la conception de solutions d’observabilité et de diagnostic pour des environnements distribués
Une expérience de travail avec du matériel à ressources limitées, des déploiements isolés du réseau (air-gapped) ou des systèmes installés sur site (on-premises)
Voilà ce que nous offrons !
Régime de rémunération attrayant
Programme de remboursement des frais de formation
Environnement avec bon niveau de maturité agile
Équilibre entre vie professionnelle et vie privée grâce à un horaire de travail versatile
Café gratuit à volonté
Espace de stationnement gratuit et/ou remboursement du transport en commun
Consultations virtuelles avec notre kinésiologue / rabais sur l’abonnement au gym
Nous savons que la diversité des parcours et des expériences apporte une grande valeur à nos équipes.
We know that diverse backgrounds and experiences bring great value to our teams.
Your team’s dynamic:
We are looking for a Software Developer to help build the next generation of Genetec Edge OS, our operating system for edge appliances, and its remote management ecosystem. You’ll be part of a team building an orchestration and management platform that enables workloads to run securely and reliably on managed appliances - close to the systems and data they serve.
You will design, implement, test, and debug core orchestration components such as embedded daemons and cloud services that power workload execution at the edge.
If you’re curious, enjoy understanding how systems work under the hood,
and are motivated by building robust distributed systems, this role is for you. You should have a strong foundation in operating systems, networking, containerization, and security.
Your day at a glance:
Design, implement, and test software written mainly in Go for our Linux-based appliances
Build cloud services and workflows for device configuration, topology, lifecycle, and update orchestration
Develop networking capabilities enabling secure, resilient inter-device and workload communication
Debug and diagnose issues across daemons, networks, containers, orchestration layers, and cloud services
Improve remote troubleshooting, device health reporting, observability, and automated recovery mechanisms
Collaborate closely with firmware, cloud, security, and platform teams across design, implementation, and code review
What makes you a great fit:
Several years of experience shipping production software in Go, Rust, C/C++, or similar systems languages
Strong Linux development and debugging experience (services, processes, permissions, networking, logs, resource constraints)
Experience building software for embedded systems, edge devices, appliances, or similarly constrained environments
Practical experience with Kubernetes, containers, or orchestration platforms
Strong networking fundamentals (TCP/IP, DNS, routing, firewalls, TLS, HTTP) and hands‑on troubleshooting experience
Ability to design reliable asynchronous systems with clear state management, retries, idempotency, and failure handling
Strong testing mindset, including edge cases and failure scenarios
Clear communicator who enjoys cross‑functional collaboration across software, firmware, cloud, and security teams
Fluent in French and English, both verbal and written (this role requires interaction with our international collaborators and customers)
An asset if you have:
Hands‑on work with K3s, Kubernetes internals, containerd, CNI, CSI, RBAC, network policies, or node lifecycle management
Practical experience in device fleet management (provisioning, enrollment, reconciliation of desired vs. reported state, secure remote access)
Background in security engineering for distributed systems (device identity, certificates, authorization, attestation, threat modeling, auditability)
Production experience operating cloud platforms at scale, ideally in multi-region architectures
Hands‑on involvement with firmware update systems, A/B rollback mechanisms, or resilience engineering practices
Strong track record in building observability and diagnostics systems for distributed environments
Experience working with constrained hardware environments, air‑gapped deployments, or on‑premises systems
Let’s talk perks!
Attractive compensation package
Training Tuition Reimbursement Program
Mature agile environment
Work‑life balance with a flexible working schedule
Free, unlimited coffee
Free parking for all employees and/or reimbursement on public transport
Virtual consultations with our kinesiologist / discount on your gym membership
We know that diverse backgrounds and experiences bring great value to our teams.
#J-18808-Ljbffr
📌 Développeur(euse) logiciel / Software Developer - Edge Platform (Edge OS)
🏢 Socket.dev
📍 Quebec City