Nous recherchons un développeur Java expérimenté avec une appétence, des capacités et de l’expérience autour des algorithmes complexes soupoudrés de mathématique.
L’objectif est de prendre en charge une partie backend importante de notre plateforme : la visibilité opérationnelle.
Les applications à prendre en charge récupèrent et agrègent des données de capteurs sur le terrain (IOT) ainsi que des évènements que nous transmettent les entreprises ferroviaires ou les utilisateurs de notre plateforme afin de fournir à nos clients une visibilité temps réel de l’ensemble de leur flotte de wagons ainsi que de l’avancement de leurs transports ferroviaires. Nous développons des algorithmes (tel que notre Algorithme ETA v2) et parfois des modèles d’Intelligence Artificielle afin de fournir également des informations prédictives opérationnelles. Pour ce faire nous développons notamment GARe (Global Area Repository) un jumeau numérique du réseau ferré européen permettant à notre produit de ce démarquer sur des points tels que la prédiction des itinéraires des transports et les estimations d’heures d’arrivés des transports.
Afin de disposer d’un maximum de données sur lesquelles baser ces informations ou prédictions, plusieurs intégrations de données avec des SI externes sont en places ou à développer. Nous avons notamment développé en ce sens notre brique TDP (Telematic Data Processing), gérant le protocole standardisé ITSS (Plateforme industrielle Télématique et Systèmes de capteurs dans le transport ferroviaire de marchandises)
Ton rôle au sein de l’équipe Engineering (10 personnes) sera de devenir l’expert technique de ce périmètre applicatif et de participer à sa construction et amélioration. Ta mission consistera à :
Apporter ton expertise technique afin de répondre aux besoins métiers en lien direct avec l’équipe Produit
Etre un acteur majeur de la conception technique
Développer de nouvelles fonctionnalités ou capacités sur les fonctionnalités existantes
Assurer le maintient en condition opérationnelle des applications (You build it, You run it)
Optimiser les traitements (simplification d’architecture ou de conception, refactoring, traitement de la dette technique née d’un développement par itérations, etc.)
Produire et maintenir la documentation technique
Si ces sujets te passionne, n’hésite pas à postuler pour nous rencontrer !
Nous recherchons un(e) ingénieur(e) de développement fort(e) de solides compétences et expériences en Java, en algorithmie et en mathématiques appliquées aux sujets de la visibilité temps réel et prédictibilités (géométrie 2D, statistiques, graphes).
La clef de réussite est de comprendre le besoin, le résoudre par une conception intelligente, puis l’implémenter de manière qualitative et efficace dans un environnement technique parfois complexe.
Compétences techniques requises :
Java 17+, Spring-Boot 3.x
Kafka, SQL, Restful API, Apache Camel
Maven, Git, GitLab
Google Cloud Platform (plus particulièrement pour les outils de logs, supervision et alerting)
Docker, Kubernetes
La connaissance de Python est un plus pour comprendre certaines micro applications gravitant autour du domaine.
Qualités requises :
Autonomie, rigueur et capacité à travailler en équipe
Pragmatisme, capacité à porter une simplification par itération.
Volonté naturelle à développer la Qualité du Code & la Qualité Logicielle (Tests, Documentation, Maintenabilité,…)
Une appétence pour l’algorithmie et les mathématiques appliquées à ce domaine
Notre processus de recrutement est le suivant :
Un échange technique autour de problématiques concrètes avec Sébastien et/ou Cédric, respectivement nos Tech Lead Back et Architecte
Une rencontre avec Inas, notre Engineering Manager, pour en savoir plus sur nos méthodes de travail et les attentes au sein de l’équipe Engineering.
Un échange avec Michel, VP of Engineering, autour des challenges à venir et du mindset pour ce poste
Ces entreprises recrutent aussi au poste de “Développement de logiciels et de sites Web”.