# software engineer .net
Détails
Informations
Vous intégrerez l'équipe Metering et interviendrez sur un produit multi-tenant traitant d'importants volumes de données en séries temporelles.
Dans un environnement applicatif partiellement legacy, vous contribuerez à améliorer les performances, la maintenabilité et la capacité de montée en charge d'applications distribuées. Vous travaillerez en étroite collaboration avec les Software Engineers, les équipes DevOps et les équipes Produit.
Les principaux chantiers concernent la modularisation de l'architecture applicative, l'évolution de l'accès aux données et des pipelines, le renforcement de l'observabilité ainsi que l'industrialisation des développements.## Vos principales missions;
- Analyser les besoins et contribuer à la définition des spécifications techniques ;
- Concevoir et développer des composants backend en C#/NET ;
- Faire évoluer la couche d'accès aux données et les ORM en tenant compte des enjeux de performance ;
- Optimiser le traitement de volumes importants de données en séries temporelles ;
- Concevoir et faire évoluer les mécanismes de messaging basés notamment sur RabbitMQ ;
- Améliorer les performances, la scalabilité et la résilience des applications distribuées ;
- Mettre en place une observabilité de bout en bout reposant sur les métriques, les logs et les traces ;
- Développer, assembler et maintenir des composants logiciels réutilisables ;
- Élaborer et exécuter les tests unitaires, d'intégration et de non-régression ;
- Mettre en place des tests de performance sur les composants repris ;
- Contribuer aux chaînes CI/CD et à l'automatisation des déploiements ;
- Participer au diagnostic des incidents de production et aux analyses post-incident ;
- Assurer la maintenance corrective et évolutive des applications ;
- Produire et maintenir la documentation technique et architecturale.
- Des composants coeur livrés progressivement et versionnés sémantiquement ;
- Des notes de version claires et directement exploitables ;
- La documentation d'architecture associée aux développements ;
- Des ADR formalisant les choix techniques structurants ;
- Les tests unitaires, d'intégration et de non-régression ;
- Les tests de performance portant sur les composants repris.
Compétences indispensables :
- Expertise en développement backend C#/NET ;
- Maîtrise confirmée de Kubernetes ;
- Expérience de la conception et de l'évolution d'applications distribuées ;
- Capacité à intervenir sur un existant complexe et à le faire évoluer progressivement.
- PostgreSQL et bases de données en séries temporelles ;
- Conception et optimisation de couches d'accès aux données et d'ORM ;
- RabbitMQ et architectures orientées messaging ;
- Gestion de fortes volumétries et optimisation des performances.
- CI/CD ;
- Infrastructure as Code ;
- Automatisation des déploiements ;
- Métriques, logs et traces.
- Formation Bac+5 en informatique, école d'ingénieurs ou équivalent ;
- Au moins 6 ans d'expérience en développement backend .NET ;
- Expérience significative chez un éditeur logiciel ou sur une plateforme produit ;
- Expérience de l'optimisation d'une couche d'accès aux données ou d'un ORM ;
- Contribution à une stratégie d'observabilité de bout en bout ;
- Français courant et anglais professionnel indispensables.
Une double compétence en Software Engineering et en Data ou Intelligence artificielle constituera un atout différenciant, sans être un prérequis.