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 - Stage Ingénieur (Lyon)
Votre profil: en dernière année de cycle ingénieur, de formation informatique ou telecom,
- 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 sur nos technologies (voir "Environnement technique"), ou en mesure de le devenir rapidement
- de bonnes connaissances en réseaux ou en électronique sont également appréciées.
Sujet du stage: dans le cadre de la transition énergétique, de nombreux parcs de véhicules thermiques vont être remplacés par des véhicules électriques, qui ne rejettent que très peu de CO2 par kilomètre. Par conséquent, les propriétaires de stations services privatives seront de plus en plus amenés à installer des bornes de recharge pour véhicules électriques afin de répondre à cette demande croissante.
Si vous souhaitez vous impliquer dans cette transition écologique, votre mission dans le cadre de ce PFE sera de faire évoluer notre solution de suivi de consommation d'énergie pour correspondre à ces nouveaux besoins. Vous serez amenés à travailler sur des sujets tels que :
- La mise en place d'un automate permettant d'accompagner l'installation des bornes de recharge en communiquant avec ces dernières avec le protocole ouvert OCPP.
- La simulation de bornes de recharges électrique pour étendre nos tests.
- La gestion d'une file d'attente de véhicules à charger avec remontée de notifications.
- L'optimisation intelligente de la charge des véhicules (Smart charging).
Vous aurez en charge la conception et le développement de ces fonctionnalités conformément aux exigences de votre formation, et vous travaillerez en collaboration avec les mainteneurs des solutions existantes. Vous serez amené à intervenir sur un spectre technique varié, allant de l'interface utilisateur aux systèmes matériels.
Ce stage de fin d'études, d'une durée minimum de 4 mois, a vocation à déboucher sur un CDI.
Candidature: Envoyez votre CV et une lettre de motivation par e-mail à dev-jobs[at]gir.fr, merci !