Nous recrutons un·e Senior Software Engineer qui aime résoudre des problèmes réels : transformer un besoin métier à clarifier (hypothèses, contraintes, données) en solution simple, robuste, observable et maintenable.
On aime les approches structurantes (DDD, CQRS, architecture hexagonale, event-driven…), quand elles clarifient le domaine et réduisent le risque. Le reste du temps, on privilégie une solution simple qui tient dans la durée, livrée par itérations, avec le bon niveau de sécurité (tests, instrumentation, déploiement progressif).
Notre boussole : l’impact en production (itérations, feedback utilisateur, fiabilité).
Au quotidien, tu alternes entre exploration et exécution — du POC au MVP, puis à la mise à l’échelle :
• Clarifier le problème avec PM/Design : poser les bonnes questions, comprendre le métier, challenger les hypothèses.
• Découper un sujet ambigu en étapes livrables (baby steps), livrer tôt, mesurer, itérer.
• Concevoir et implémenter des évolutions dans un produit en production : fonctionnalités, refactorisation, migrations, performance, fiabilité.
• Prendre des décisions d’architecture pragmatiques : modular monolith vs microservices, synchrone vs asynchrone, simplicité vs flexibilité.
• Garder un œil sur la prod : logs/metrics/traces, incidents, alerting, post-mortems, amélioration continue.
Exemples de sujets : fiabiliser une intégration, refondre un domaine, réduire le temps de résolution sur un incident récurrent.
Comment on travaille :
• Collaboration étroite avec PM/Design : compromis explicites, challenger les hypothèses et livrer des itérations utiles.
• Équipe autonome : on attend de l’autonomie et de la responsabilité.
• Pair/mob régulièrement pour partager la connaissance, accélérer les décisions et réduire le bus factor.
• Qualité pragmatique : petites PR, feedback rapide, standards explicites, revue de code utile.
• IA au quotidien : on utilise des assistants de code (dont Claude Code) pour accélérer l’exploration, la refactorisation et l’écriture de tests — sans compromis sur la qualité (petites PR, revue, tests, déploiement progressif).
• Shadow sessions : on écoute régulièrement des échanges support / utilisateurs pour garder un feedback direct.
Pour ce rôle on vise un niveau senior (build + prod + collaboration). On cherche des signaux observables :
• Tu sais aller vite sans casser : tu sécurises le bon niveau (tests, instrumentation, déploiement progressif).
• Tu as du recul sur les patterns (DDD / Hexa / CQRS / event-driven) : tu sais quand ça apporte de la clarté, et quand ça devient du dogme.
• Tu as déjà opéré en production : incidents, dette, perf, migrations — et tu sais arbitrer entre valeur, risque et complexité.
• Tu es à l’aise avec le métier : comprendre, expliquer, simplifier, viser l’impact.
• Tu contribues à élever le niveau de l’équipe (mentoring, revue, partage, exemplarité sur qualité & prod).
On ne cherche pas un profil parfait, on valorise surtout la qualité des décisions en production et la progression rapide.
Contexte technique :
• Langages : C# 10 (.NET), Angular 20, TypeScript
• Architecture : Modular Monolith, microservices quand ça a du sens, Clean Architecture / Hexa, CQRS, architecture pilotée par événements (event-sourcing sur certains domaines)
• BDD : SQL Server & PostgreSQL
• CI/CD : GitHub Actions, livraison et déploiement continus (mise en production quotidienne)
• Cloud : GCP
• Philosophie : DDD orienté impact métier & business, responsabilité de bout en bout en production
👉 Podcast Thomas PIERRAIN (VP of Engineering) à propos de notre rapport à l’autonomie: https://career.agicap.com/article/podcastartisandevthomaspierrain/
👉 Talk: La scale-up, l’autonomie et le sous-marin nucléaire (Thomas PIERRAIN et Pauline JAMIN):https://www.youtube.com/watch?v=FPZw6gy04T4