Chez Campus, le/la développeur Scala senior sera en charge d’assurer le bon fonctionnement et le développement de la brique logicielle de générateur d’entraînement, ainsi que des différents micro-services Scala mis en place. Il/elle sera amené à auditer et refactoriser du code déjà existant, d’assurer le maintien des fonctionnalités en place, mais également de développer de nouvelles fonctionnalités, en collaboration avec les équipes produit et les autres équipes techniques (backend/frontend).
Tes missions
Prendre en main les fonctionnalités actuelles du back-end API à disposition du front-end Web et Mobile
Assurer la maintenance de ces APIs
Apporter un regard critique sur l’architecture du service et potentiellement en revoir des parties
Apporter un regard critique sur l’architecture des différents micro-services Scala/Python, et potentiellement la revoir et/ou déployer de nouveaux micro-services si cela est nécessaire
Expérience : Tu as 3 ans ou plus d’expérience en tant que Développeur Backend, Software Engineer ou sur un poste similaire.
Compétences techniques :
Maîtrise en profondeur de Scala/Java:
Programmation fonctionnelle en Scala
Expérience avec les frameworks Akka, Play
Optimisation des performances
Programmation concurrente et asynchrone
Bonnes pratiques de gestion de projet logiciel
Maîtrise des process de CI/CD
Utilisation en profondeur de Git/GitHub
Maîtrise des bases de données et optimisation de leurs performances
Personnalité :
Autonomie : Tu es capable de travailler de façon indépendante, d’identifier les besoins et de proposer des solutions adaptées sans supervision constante. Tu es organisé et force de proposition.
Communication : Tu sais expliquer des concepts complexes de manière simple et claire à des équipes non-techniques.
Flexibilité : Tu es adaptable, et capable de prendre en charge plusieurs sujets simultanément.
Prise d’initiative : Tu n’hésites pas à proposer des améliorations techniques et fonctionnelles, à anticiper les problèmes potentiels et à mettre en œuvre des solutions proactives. Tu sais identifier les opportunités d’optimisation et d’innovation dans l’architecture existante sans attendre qu’on te le demande.
Entretien 1 : connaissance avec CTO / Head of Engineering
Entretien 2 : test technique avec CTO / Head of Engineering
Entretien 3 : entretien administratif
Entretien 4 : test de personnalité