Ingénieur logiciel back-end (Scala) H/F
IAV Maroc fait partie du groupe IAV, un partenaire mondial en ingénierie et technologie comptant plus de 7 500 experts dans le monde entier. IAV soutient les principaux constructeurs et fournisseurs automobiles dans le développement de technologies de pointe pour les véhicules du futur. Dans le cadre du développement de nos plates-formes dorsales pour les services connectés et les architectures de véhicules définies par logiciel, nous recherchons un ingénieur logiciel dorsal (Scala) pour concevoir, mettre en œuvre et maintenir des services évolutifs et axés sur les événements qui alimentent de nouvelles fonctionnalités commerciales.
Vous êtes passionné par la programmation fonctionnelle, les systèmes événementiels et l’ingénierie backend de haute qualité ? Rejoignez nos équipes !
Description du poste
En tant qu’ingénieur logiciel back-end, vous jouerez un rôle clé dans la conception, le développement et la maintenance de services back-end robustes, contribuant ainsi à l’ensemble du cycle de vie du logiciel, de l’architecture à la mise en production. Vos principales responsabilités seront les suivantes :
- Développement
- Concevoir et implémenter des services backend dans Scala (http4s, CATS-Effect) pour de nouvelles fonctionnalités métier.
- Construire et maintenir les consommateurs et les producteurs de Kafka, y compris les contrats thématiques et les flux de gestion des erreurs.
- Modélisez et optimisez les modèles d’accès aux données Cassandra pour le débit et la fiabilité.
- Développer et maintenir des points de terminaison REST et des intégrations sortantes (API sttp, JSON).
- Implémenter et faire évoluer les schémas de messages et de données (Avro, Protobuf) en gardant à l’esprit la rétrocompatibilité.
- Rédiger et maintenir des tests automatisés (unité, intégration, contrat et chargement si nécessaire).
- Maintenir les environnements de développement et de test locaux basés sur Docker et prendre en charge la préparation à la publication et au déploiement.
- Refactoriser les modules hérités et réduire la dette technique tout en conservant la stabilité du service.
Vous avez une solide expérience du développement backend avec Scala et la programmation fonctionnelle, et vous êtes à l’aise avec les systèmes événementiels et distribués.
Formation et expérience
- Diplôme d’ingénieur en informatique, en génie logiciel ou dans un domaine connexe.
- Minimum 3 ans d’expérience dans le développement de logiciels dorsaux.
- Solide expérience dans la construction de services de production avec Scala et la programmation fonctionnelle.
- Expérience des processus de développement agiles.
Compétences techniques requises
Vous avez une expérience pratique des technologies et concepts suivants :
Programmation et cadres :
- Solide expérience en développement backend Scala (Scala 2,13+, SBT).
- Programmation fonctionnelle en production (CATS-Effect, http4s).
Technologies de données et de gestion des événements :
- Systèmes événementiels avec Apache Kafka (consommateurs, producteurs, conception de sujets et de messages).
- Modélisation de données Cassandra et modèles de requête.
API et intégration :
- Développement et intégration d’API REST (API sttp, JSON).
Outillage et flux de travail :
- Workflows locaux et de développement basés sur Docker.
- Tests automatisés (unité et intégration ; ScalaTest, mUnit, Mockito, WireMock).
Les compétences suivantes seraient appréciées :
- Messagerie et contrats basés sur un schéma (Avro, Protobuf).
- Expérience CI (Jenkins Pipelines, construction et dépannage de test).
- Expérience d’intégration OAuth2 / JWT.
- Expérience de pile d’observabilité (SLF4J, Logback, OpenTelemetry, Prometheus).
- Analyse statique et outils de qualité (SonarQube, Scover, Scapebouat, Scalastyle, contrôles de dépendance).
- Solides compétences en analyse et en résolution de problèmes.
- Excellentes capacités de communication et de collaboration.
- Aptitude à travailler dans un environnement international et multiculturel.
- Sens aigu de la propriété et de la responsabilité technique.
- Approche structurée et rigoureuse de la qualité du code, des tests et de la documentation.
- Capacité à interagir avec plusieurs parties prenantes, y compris les équipes logicielles, les ingénieurs système, les chefs de projet et les clients.
- État d’esprit proactif et intérêt pour l’innovation au sein de l’industrie automobile.
- Anglais : niveau minimum B2 requis.
- Allemand : A2 serait apprécié mais n’est pas obligatoire.
- Français : niveau minimum B2 requis
Un environnement international et dynamique : vous rejoindrez un groupe international reconnu dans l’industrie automobile pour ses solutions innovantes d’ingénierie et de technologie. Vous travaillerez sur des projets stimulants liés aux véhicules connectés, aux plateformes backend, aux véhicules définis par logiciel et à la mobilité future.
Chez IAV Maroc, vous évoluerez dans une structure en pleine croissance avec un fort esprit d’équipe, où la collaboration, le partage des connaissances et l’initiative sont encouragés.
Travail hybride et flexibilité : nous proposons un modèle de travail flexible combinant présence au bureau et travail à distance, en fonction des besoins du projet et de l’organisation de l’équipe.
Nous croyons que l’autonomie et la flexibilité contribuent à créer les meilleures conditions de performance, de motivation et d’équilibre entre vie professionnelle et vie privée.
Une rémunération complète : nous offrons une rémunération attrayante adaptée à votre profil, vos compétences et votre expérience.
Rejoignez-nous et contribuez à l’avenir de la mobilité !
