Frontmatec développe des solutions d’automatisation personnalisées et des produits hygiéniques de renommée mondiale pour l’industrie de l’alimentation et l’industrie des services publics. Nous
sommes particulièrement reconnus pour nos systèmes de qualité supérieure, déployés dans l’ensemble de la chaîne de valeur l’industrie de la viande : du classement des carcasses aux lignes
d’abattage, de découpe et désosse, en passant par les produits hygiéniques, les systèmes de contrôle, la logistique et l’emballage.
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).
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
Développeur logiciel et DevOps - R&D