La société
GIR/Klervi est une PME industrielle basée à Villeurbanne, qui conçoit et fabrique des systèmes de gestion pour les flottes de véhicules. L'entreprise commercialise des solutions clé en main, allant des automates terrain jusqu'aux logiciels centraux, à destination d'une clientèle B2B (collectivités locales, transporteurs routiers, travaux publics...):
- suivi des consommations d'énergie sur stations services privatives. Les systèmes sont commercialisés en direct et via un réseau de revendeurs sous les marques GIR (Europe, Afrique) et GIR-NA (USA, Canada). Historiquement centrée sur le suivi du carburant, cette activité évolue pour accompagner la transition énergétique (biocarburants, véhicules électriques...).
- systèmes d'autopartage de véhicules, commercialisés en direct sous la marque GIR (France). Principalement destiné aux collectivités locales, le système permet la réservation de véhicules par les agents, et la distribution automatisée des clés par des armoires électroniques.
L'entreprise dispose d'une forte culture technique (dirigeant ingénieur), et de son propre service R&D, la société Klervi, entièrement constituée d'ingénieurs.
Nous concevons en interne la totalité de nos systèmes, des microcontrôleurs embarqués jusqu'aux logiciels serveurs, et sommes dans une démarche d'amélioration continue de nos produits, pour proposer à nos clients les meilleures solutions possibles dans nos domaines.
Nous tenons particulièrement à la qualité et à la fiabilité de nos produits: la durée de vie typique d'un automate GIR sur le terrain est de plus de dix ans (mises à jour logicielles possibles à distance), avec une disponibilité 24h/24, et un "uptime" atteignant couramment plusieurs mois.
Environnement technique
Notre environnement vous plaira si:
- vous aimez le bas niveau (le C, les LEDs qui clignotent), tout étant capable d'intervenir sur de l'UI (front-end web, apps mobiles).
- vous êtes à l'aise avec la ligne de commande sous Linux.
- vous souhaitez vous impliquer à long terme dans un environnement technique exigeant (mais avec des horaires raisonnables).
Notre environnement vous conviendra moins si:
- vous souhaitez une grande autonomie dans le choix de vos langages et outils: nous ne sommes pas fermés à ce sujet, mais nous devons garantir une certaine cohérence technique à long terme. Dans notre équipe, l'autonomie est plutôt au niveau des choix de conception, d'implémentation, et même de gestion produit (les ingénieurs participent aux spécifications fonctionnelles).
- vous souhaitez vous spécialiser sur un nombre limité de technologies: chaque membre de notre équipe a bien sûr ses spécialités, mais tout le monde est également polyvalent.
- vous souhaitez vous spécialiser dans la conception, le développement ou le contrôle qualité: nous restons une petite structure, et attendons de chaque ingénieur qu'il puisse prendre en charge tous ces aspects, et traduire un besoin métier en un livrable opérationnel.
Notre équipe R&D intervient sur un spectre technique large et varié:
- Applications web: front-end (JavaScript/AngularJS 1.x et TypeScript/Preact), back-end (C/Lua/Python), base de données (SQLite)
- Systèmes embarqués: Linux/ARM, microcontrôleurs (C/Lua)
- Applications mobiles iOS et Android (Swift et Java)
- Infrastructure et protocoles réseaux (serveurs SaaS, communication serveurs-automates, périphériques tiers)
Notre base de code est de l'ordre de 1.5 millions de lignes, gérée sous git, pour une taille d'équipe typique entre 5 et 10 personnes. L'environnement de développement est sous Linux (Ubuntu/Debian) ou MacOS, typiquement avec Vim, Emacs ou VSCode.
Les applications serveur sont déployées sur les plateformes Linux et Windows, en SaaS ou chez nos clients. Les automates fonctionnent avec une unité principale Linux embarqué (ARM), et un réseau de microcontrôleurs équipant des cartes électroniques conçues en interne.
Nous sommes attachés à:
- la qualité du code: nous tenons à ne pas sacrifier la qualité logicielle au profit des délais. Ce qui ne nous empêche pas de tenir les délais la plupart du temps, en établissant des plannings réalistes et dans lesquels les développeurs sont impliqués.
- la pérennité technique: nos logiciels sont conçus pour fonctionner de manière stable à long terme (10 ans ou plus).
- des principes pragmatiques comme KISS et DRY.
Nous développons sur des cycles de quelques semaines inspirés de Scrum/Agile mais sans dogmatisme ni "sprint", et pratiquons des peer reviews et du peer programming lorsque nous l'estimons nécessaire.
Notre "Joel Test score" est de 10/12:
Do you use source control?
Can you make a build in one step?
Do you make daily builds?
Do you have a bug database?
Do you fix bugs before writing new code?
Do you have an up-to-date schedule?
Do you have a spec?
Do programmers have quiet working conditions?
Do you use the best tools money can buy?
Do you have testers?
Do new candidates write code during their interview?
Do you do hallway usability testing?
Description du poste - Ingénieur Développeur Full Stack / Embarqué (Lyon)
Votre profil: ingénieur de formation BAC+5 ou équivalente, débutant(e) ou avec expérience,
- vous avez un goût prononcé pour le développement logiciel et une solide culture technique,
- vous êtes créatif et rigoureux,
- vous êtes opérationnel, ou en mesure de le devenir facilement, sur tout ou partie des technologies suivantes:
- Langages: JavaScript/TypeScript, C. Bonus pour Python, Lua
- Front-end: HTML, CSS (Bootstrap), idéalement AngularJS ou React
- Base de données et back-end: SQL/SQLite, idéalement au moins un framework web (Django, Zend, Rails...)
- Outils: GNU/Linux, Bash, Git, Node.js. Bonus si vous écrivez parfois vos propres outils, sans toutefois vous laisser absorber par ceux-ci
- Des compétences dans le domaine embarqué (Linux ou microcontrôleur) ou l'électronique sont également appréciées.
- vous êtes prêts à prendre la responsabilité de mise en production de votre code, et à corriger les problèmes quand il y en a.
Le poste: vous aurez en charge la conception, le développement et la maintenance de projets composant nos applications, et serez amené à intervenir sur un spectre technique large, incluant l'interface utilisateur et le back-end du logiciel central, les applications mobiles, ainsi que l'application embarquée sur l'automate.
Le poste est basé dans nos locaux à Lyon, le télétravail étant possible au cas par cas, selon votre niveau d'autonomie et les contraintes d'accès au matériel. Le télétravail à temps plein est réservé aux profils expérimentés et autonomes sur leurs projets.
Vous intégrerez une équipe très technique, à taille humaine, où vous pourrez travailler sur des projets motivants et de long terme.
Candidature: Envoyez votre CV et une lettre de motivation par e-mail à dev-jobs[at]gir.fr, merci !