Développeur logiciel et DevOps - R&D
Skills
About the role
Tu es passionné par la vision artificielle, l’intelligence artificielle et le développement logiciel? Rejoins notre équipe R&D et mets ton talent au service de projets innovants en haute technologie. En tant que Développeur logiciel et DevOps, tu contribueras à concevoir des architectures solides, à coder avec rigueur et créativité, et à faire avancer des solutions de pointe dans un environnement Agile et collaboratif. Ici, chaque idée compte et chaque projet te permet de repousser les limites de l’innovation.
Le Poste:
En tant que passionné du développement logiciel, de l'architecture applicative et des pratiques DevOps, le titulaire du poste agit à titre d'expert technique responsable de la qualité, de la structure et de la pérennité des développements logiciels du département de recherche et développement. Au delà de la réalisation d'applications performantes (notamment en C++), il a pour mandat de définir et de faire évoluer l'architecture logicielle, de structurer le code existant (legacy) selon les règles de l'art et de mettre en place les
environnements de tests, de versionnage et d'intégration/déploiement continus (CI/CD). Il travaille au sein d'une équipe multidisciplinaire d'experts en développement de produits de haute technologie, en complément de l'expert en vision artificielle et intelligence artificielle ainsi que des développeurs d'applications, selon l'approche Agile et les développements pilotés par les tests (TDD).
Nous offrons…
Des horaires variables
Plusieurs possibilités d’avancement
Une salle d’entrainement accessible et gratuite
Des formations à l’interne
Des possibilités de voyager
Et encore bien plus…
Quelques responsabilités:
Développer et introduire en usine des solutions logicielles embarquées pour des procédés de transformation alimentaire sur des plateformes robotisées, automatisées et connectés (IIoT)
Développer des applications et solutions logicielles embarquées performantes et maintenables (principalement en C++) pour des procédés de transformation alimentaire sur des plateformes robotisées, automatisées et connectées (IIoT)
Définir, documenter et faire évoluer l'architecture logicielle (modulaire, microservices, multiplateforme) en collaboration avec l'équipe, en appliquant les bons principes de conception (patrons de conception, SOLID, découplage)
Structurer, refactoriser et fiabiliser le code existant (legacy) afin d'en améliorer la qualité, la lisibilité et la maintenabilité
Définir et mettre en place la stratégie de tests : tests unitaires, tests d'intégration, tests de non régression, et accompagner l'équipe dans l'adoption du TDD
Établir et maintenir les environnements et bonnes pratiques de gestion de code source (stratégie de branches Git, revues de code, conventions de codage)
Concevoir, automatiser et maintenir les chaînes d'intégration et de déploiement continus (CI/CD) ainsi que les pratiques DevOps (et MLOps en soutien aux applications d'IA)
Mettre en place et maintenir les systèmes de construction (build) multiplateforme (CMake), de même que la gestion des dépendances et des versions
Outiller l'équipe, diffuser les meilleures pratiques de développement et encadrer techniquement les développeurs (dont les profils juniors)
Collaborer avec l'expert en vision artificielle et IA afin d'intégrer ses algorithmes dans une architecture applicative robuste et industrialisable
Participer à la conception et au développement de plateformes technologiques et de systèmes, et alimenter les cahiers de spécifications
Participer à l'établissement des requis et des échéanciers en collaboration avec les gestionnaires de projets
Rédiger des documents techniques en collaboration avec le rédacteur technique et former les équipes de service et de mise en route des systèmes
Identifier les opportunités d'amélioration continue et d'optimisation et proposer des solutions
Participer à la résolution des problématiques liées à ses projets en proposant des solutions innovatrices
Planifier au niveau logiciel le FAT (Factory Acceptance Test) et le SAT (Site Acceptance Test) et coordonner les actions qui peuvent en découler s'il y a lieu
Participer, au besoin, à l'installation et à la mise en marche des prototypes à l'international
Effectuer, à la fin du projet, un rapport des différentes opportunités à prendre en considération pour les projets futurs, dans un but d'amélioration continue
S'assurer de l'application, lors des chantiers et en usine, des normes santé-sécurité de Frontmatec et des normes et lois en vigueur (OSHA, LSST et autres dans le domaine)
Expériences et compétences:
Baccalauréat ou DEC en génie logiciel (ou informatique) jumelé à 5 à 8 ans d'expérience pertinente
Expérience démontrée en architecture logicielle et en structuration de projets de développement
Expérience concrète de mise en place d'environnements de tests, de versionnage et de chaînes CI/CD
Expérience de modernisation / refactorisation de bases de code existantes (legacy) — un atout important
Maîtrise approfondie du C++ moderne (C++11/14/17 et plus) et de la programmation orientée objet et générique
Solide expérience en architecture logicielle : conception modulaire, microservices, multiplateforme, patrons de conception et principes SOLID
Maîtrise des stratégies de gestion de code source et de versionnage (Git, stratégies de branches, revues de code)
Maîtrise des pratiques et outils DevOps et d'intégration/déploiement continus (CI/CD : GitLab CI, Jenkins, GitHub Actions ou autres ; conteneurisation Docker)
Maîtrise des concepts et cadriciels de tests unitaires, d'intégration et de non-régression, ainsi que du TDD
Expérience en conteneurisation et orchestration (Docker, Kubernetes)
Expérience avec le système de construction (build) multiplateforme CMake
Maîtrise des environnements Linux et Windows
Maîtrise d'au moins une plateforme de documentation et de suivi (Jira, Confluence, GitLab ou autres)
Bonne approche système et capacité avérée à structurer et fiabiliser une base de code existante (legacy)
Gestion de projets Agile
Bonne capacité de communication, d'analyse et de vulgarisation technique
Capacité à encadrer techniquement et à diffuser les bonnes pratiques au sein de l'équipe
Anglais intermédiaire (à l'oral et à l'écrit pour parler et échanger par courriel avec les clients anglophones)
Créativité
Autonomie
Curiosité intellectuelle
Jugement
Sens des priorités
Agir à titre d'ambassadeur Frontmatec
Particularité liée au poste:
Voyagement (voyager entre 5 à 10 fois par année à l’international, environ 1 sem. par voyage)
Posséder un passeport et un permis de conduire valide
Obtenir un visa/document nécessaire de visiteur pour les États-Unis
Avantages :
Assurance Dentaire
Assurance Invalidité
Assurance Maladie Complémentaire
Assurance Vie
Assurance Vision
Congés payés
Cotisation égale au RÉER
Événements d'Entreprise
Gym sur place
Heures d’arrivée et de départ flexibles
Programme d'Aide aux Employés
Programmes de Bien-être
Régime de retraite
Stationnement sur place
Tenue Décontractée
Travail à domicile
Formation:
Baccalauréat (Obligatoire)
Lieu du poste : Télétravail hybride à Saint-Anselme, QC
Questions about this role
Want AI Applyd to auto-apply to roles like this?
We tailor your resume per posting, fill the forms, and track replies for you.