Ingénieur Senior Base de données

Il y a 1 jour

Montpellier, Occitanie, France AL7925 Grid Solutions SAS Temps plein

Job Description Summary

Nous recherchons un ingénieur Backend et Base de données hautement qualifié pour mener l'évolution de notre couche de persistance des données. Vous ne vous contenterez pas d'écrire des requêtes ; vous concevrez la couche d'abstraction qui découple notre logique métier des technologies de stockage sous-jacentes. Vous serez responsable de définir la manière dont notre plateforme interagit avec des bases de données hétérogènes (PostgreSQL, SQL Server, MongoDB) tout en garantissant une performance, une fiabilité et une observabilité de premier ordre dans un environnement Kubernetes.

We are seeking a highly skilled Database & Backend Engineer to lead the evolution of our data persistence layer. You will not just be writing queries; you will be designing theAbstractionLayerthat decouples our business logic from underlying storage technologies. You will be responsible for defining how our platform interacts with heterogeneous databases (PostgreSQL, SQL Server, MongoDB) while ensuring top-tier performance, reliability, and observability within a Kubernetes-native environment.

Responsabilités principales

  • Architecture d'abstraction: Concevoir et maintenir une couche Repository/Unit-of-Work qui abstrait l'implémentation du stockage, nous permettant de changer de fournisseur de base de données sans impacter nos domaines métier.
  • Gestion multi-moteurs: Gérer le cycle de vie de divers moteurs de données. Vous définirez l\"Interface Standardisée\" via laquelle les microservices accèdent à ces moteurs.
  • Ingénierie de performance: Optimiser les requêtes complexes, définir des stratégies d'indexation et implémenter des modèles CQRS/Read-Model pour garantir une latence inférieure à 100ms sur les tableaux de bord.
  • Opérations natives Kubernetes (K8s): Piloter l'automatisation de la maintenance des bases de données (sauvegardes, restauration à un point dans le temps, mises à jour de schéma) via des Opérateurs ou des flux de travail Helm.
  • Résilience et scalabilité: Implémenter des modèles de Circuit Breaker pour l'accès aux données et concevoir des stratégies de mise à l'échelle horizontale.

Compétences et expérience requises

  • Expertise en persistance: Expérience approfondie des bases de données relationnelles (PostgreSQL, SQL Server) et NoSQL (MongoDB). Vous maîtrisez les compromis entre conformité ACID et cohérence éventuelle.
  • Modèles d'abstraction: Maîtrise des modèles Repository, Unit-of-Work et CQRS. Expérience dans la création de bibliothèques internes d'accès aux données masquant les complexités des ORM/drivers.
  • Data Ops Cloud-Native: Expérience dans la gestion d'instances au sein de Kubernetes et utilisation d'opérateurs pour le cycle de vie des bases de données.
  • Optimisation des performances: Aptitude à diagnostiquer et résoudre les goulots d'étranglement (plans d'exécution, verrous, indexation, pooling de connexions).

Ce dont vous serez propriétaire

  • Le SDK de données: Propriétaire de la \"Core Data Library\" utilisée par toutes les équipes.
  • Fiabilité du système: Définition des RTO et RPO pour les données critiques.
  • Architecture évolutive: Pilotage des efforts de migration \"Strangler Fig\" vers notre nouvelle architecture découplée.

Pourquoi nous rejoindre?

  • Décisions architecturales: Implication directe dans le choix des outils (RDBMS vs NoSQL spécialisé).
  • Impact plateforme: Votre travail sera la fondation de notre architecture événementielle pour la télémétrie à grande échelle.
  • Maturité technologique: Un projet axé sur la modernisation de l'accès aux données pour la prochaine génération.

Stack Technique:

  • Langages d'abstraction: C#, TypeScript
  • Modèles (Patterns): CQRS, Unit-of-Work
  • Opérations K8s: PostgreSQL / TimescaleDB IaC : Crossplane
  • Résilience: Circuit Breakers
  • Performances: Redis (Read-Models)
  • Observabilité: OpenTelemetry

Core Responsibilities

  • Architecting Abstraction:Design and maintain a Repository/Unit-of-Work layer that abstracts storage implementation, enabling us to swap database providers without impacting core business domains.
  • Multi-Engine Management:Manage the lifecycle of diverse data engines (PostgreSQL, SQL Server, MongoDB). You will define the \"Standardized Interface\" through which microservices