Titre du poste : Tech leader Java
Référence : 26-04-7711-001
Lieu : Genève
Date de début souhaitée : Février 2027
Taux d'occupation : 80 à 100%
Rémunération : à partir de 149'000 CHF / an (base 100%)
Description du poste et contexte :
Nous recherchons pour un client, une administration publique à Genève, un(e) tech leader Java afin de renforcer l'expertise technique de son service de développement sur mesure auprès des équipes produit qu'il soutient, sur des applications Java mises à disposition de différents services de l'administration.
La personne retenue interviendra en appui de plusieurs équipes : expertise technique, garantie des choix techniques, diffusion des pratiques de qualité logicielle et de sécurité applicative, contribution aux communautés de pratiques et à la filière Java. Elle jouera également un rôle clé dans le traitement transverse de l'obsolescence d'applications très variées (diagnostic, plan de migration, réalisation ou pilotage des migrations), avec une exigence forte de confidentialité des données et un usage maîtrisé des outils d'IA d'assistance au développement. Mission de longue durée (jusqu'à 5 ans).
Responsabilités :
- Apporter une expertise technique aux équipes produit : problèmes complexes, composants critiques, choix de conception.
- Garantir les choix techniques des solutions et transmettre les décisions des architectes ; veiller à ce que les équipes comprennent et appliquent les principes d'architecture.
- Porter la qualité logicielle dans les équipes : revues de code, stratégie de tests et automatisation, documentation conforme au plan qualité logicielle, suivi des indicateurs SonarQube, traitement de la dette technique.
- Intégrer la sécurité applicative dans le cycle de développement : revues orientées sécurité, remédiation des vulnérabilités, protection des données personnelles et sensibles.
- Traiter l'obsolescence de manière transverse : diagnostic (composants obsolètes, dépendances, vulnérabilités), plan de migration priorisé, réalisation ou pilotage des migrations en garantissant la non-régression.
- Développer les compétences des équipes (coaching, ateliers, partage de connaissances) ; animer les communautés de pratiques et la filière Java ou y contribuer.
- Contribuer à la stratégie open source et inner source : préparation du code à la publication, réutilisation de composants existants avant de refaire.
- Promouvoir un usage responsable des outils d'IA d'assistance au développement et partager les retours d'expérience.
- Assurer une veille technologique, contribuer à la surveillance de l'obsolescence et remonter les risques techniques.
Formation :
- Diplôme HES ou licence en informatique, diplôme d'ingénieur EPF ou diplôme fédéral.
Compétences primordiales :
- 6 années d'expérience et plus dans la fonction.
- Maîtrise de Java, JEE / Jakarta EE et de l'écosystème Spring (Boot, MVC, Security, REST), y compris sur des versions anciennes encore en production.
- Maîtrise de l'artisanat logiciel et de la qualité : Clean Code, architecture hexagonale, DDD, TDD / BDD, patterns d'intégration et de conception, stratégie de tests, dette technique.
- Expérience démontrée du traitement de l'obsolescence : montées de version majeures (Java, JEE, Spring, Hibernate), remplacement de composants dépréciés, reprise de legacy peu documenté ou peu testé.
- Sécurité applicative et confidentialité des données démontrées : OWASP Top 10, remédiation de vulnérabilités (SAST / DAST / SCA), sécurisation des API (OAuth2 / OIDC, SAML), protection des données personnelles (LIPAD, LPD).
- Maîtrise de la chaîne DevOps et des outils qualité : Maven, NPM, GitLab CI, SonarQube.
- Expérience du rôle de tech lead dans plusieurs équipes ou contextes ; esprit analytique et capacité à identifier les causes racines d'un problème complexe.
Compétences importantes :
- 3 années d'expérience et plus dans la fonction.
- Maîtrise de SQL (Oracle 19), d'Hibernate / JPA et de la messagerie asynchrone (JMS).
- Expérience confirmée de référent technique en environnement Agile, dans une équipe d'au moins 5 développeurs.
- Capacité à s'intégrer rapidement dans des équipes différentes, en environnement matriciel, avec plusieurs interventions en parallèle ; capacité à apprécier la criticité d'une situation et à décider ou escalader.
Compétences optionnelles :
- Expérience de publication de code en open source : licence, hygiène de dépôt, documentation, nettoyage des secrets et des données avant publication.
- Pratique de l'IA dans le développement logiciel (génération de code et de tests, revue, migration) avec discernement : validation des résultats, protection des données, respect des règles d'usage.
- Connaissance des démarches AppSec et du plan qualité logicielle (PQL) ; indicateurs de qualité et de flux (DORA).
- Expérience de migration vers des environnements conteneurisés (Docker, Kubernetes / OpenShift).
- Connaissances de Dynatrace, Splunk et RabbitMQ.
Qualités requises :
- Communication : s'adapter aux interlocuteurs, vulgariser, être synthétique.
- Leadership et coaching technique : mener l'équipe vers l'excellence, influencer et convaincre sans lien hiérarchique.
- Curiosité et partage : veille technologique, apprentissage rapide, diffusion des connaissances.
- Esprit d'équipe, transparence sur les risques et les problèmes, ouverture au changement.
- Autonomie et sens des responsabilités : prendre des initiatives, prioriser sans supervision constante.
- Rigueur et discrétion dans le traitement des informations confidentielles.
- Pragmatisme : intervenir sur du code dont on n'est pas l'auteur et choisir la solution la plus sûre plutôt que la plus élégante.