About the role
Responsabilités
En tant que contributeur senior, en renfort d'une équipe expérimentée, vous :
- Réduisez la dette technique (respect strict de la Clean Architecture, élimination des any, refactoring de use cases legacy)
- Optimisez les performances (requêtes Prisma/SQL Server, pipeline RabbitMQ, projections CQRS)
- Contribuez au développement backend de nouvelles fonctionnalités (NestJS, Prisma, événements)
- Maintenez et faites évoluer les intégrations SI (API Gateway: Dungeon/IAM, Medlink, CTIME/Chronotime) et le pipeline event-driven (RabbitMQ → Change Detector → projections)
- Participez activement à la transition DevOps :
- Préparation et exécution de la migration vers Kubernetes (manifests, Helm, probes, HPA, RBAC)
- Automatisation du provisionnement VMware (Terraform / Ansible / AWX)
- Durcissement des pipelines GitLab CI/CD (templates, cache, parallélisation, scans sécurité, stratégie de tags)
- Observabilité (Elastic APM, Elasticsearch/Kibana, Prometheus, alerting)
- Améliorez les pratiques de tests et de livraison (Jest, pipelines, environnements éphémères)
- Collaborez étroitement avec les développeurs, le tech lead et les équipes métier
- Une contribution ponctuelle sur le frontend Angular est possible mais ne constitue pas le cœur du rôle. La mission privilégie un profil backend + DevOps à un profil purement fullstack.
Environnement technique
Stack applicative
- Backend : Node.js 18 / NestJS / TypeScript strict (pas de Java)
- ORM : Prisma (multi-bases : Planet + Totem)
- Base de données : SQL Server (schéma event-sourcing : Projection, Planning_Event, Configuration...) + PostgreSQL sur certains périmètres
- Messaging : RabbitMQ (pipeline Change Detector, DLX, event-driven CQRS)
- Temps réel : Server-Sent Events (SSE), Socket.io
- Moteur d'optimisation : algorithmes C++ propriétaires (containers Docker dédiés algo-opti, communication via RabbitMQ)
- API externes : API Gateway— Dungeon (IAM/SSO), Medlink (TSA, clients, collaborateurs), CTIME/Chronotime (horaires, absences)
- Frontends (secondaires pour ce rôle) : Angular 14 (Web, NgRx, Material) + Angular 19+ (Mobilité, standalone, signals)
Architecture
- Clean Architecture stricte (4 couches : Controllers / Use Cases / Domain / Infrastructure)
- Event Sourcing + CQRS (projections, checkpoints, replay)
- Monorepo pnpm (3 apps : API, Web, Mobilité — packages partagés @planet/*)
- Architecture distribuée, plusieurs services derrière API Gateway
Infrastructure, DevOps & Observabilité
- Actuel : Docker sur VMs (on-premise), orchestration via Ansible / AWX, images publiées dans registry GitLab
- Cible : Kubernetes (POC en cours), provisionnement VMware automatisé (Terraform / vSphere)
- CI/CD : GitLab CI/CD — pipelines multi-stages, images Docker dédiées (chrome-pnpm, node-prisma, ubuntu-cpp-rabbitmq...), stratégie de tags, jobs de scan
- Réseau : environnements segmentés (DEV / INT / PREPROD / PROD), proxys sortants, accès SSH bastion, certificats internes, DNS interne
- Observabilité : Elastic APM + Elasticsearch/Kibana (logs structurés, correlation IDs), Prometheus (métriques), Grafana
Qualité
- Tests : Jest (backend), Karma/Jasmine (frontends), Playwright (E2E)
- Coverage : ≥ 60 % sur use cases et entités
- OpenAPI/Swagger pour génération de SDK clients
- GitFlow + conventions Angular commit
Profil recherché
Compétences techniques indispensables
- Excellente maîtrise de TypeScript (typage strict, generics, zéro any) — pas de profil Java cherchant à transitionner
- Solide expérience NestJS (modules, DI, pipes, guards, interceptors, decorators, tests Jest)
- Maîtrise d'un ORM typé — idéalement Prisma (schéma, migrations, $transaction, performance)
- Expérience confirmée SQL Server et optimisation de requêtes (plans d'exécution, indexation, schémas event-sourcing)
- Architecture event-driven : RabbitMQ (exchanges, DLX, retry, idempotence), patterns CQRS et event sourcing
- Architectures distribuées et intégrations SI (API Gateway, OAuth/SSO, webhooks, batch)
- Systèmes à forte volumétrie et contraintes temps réel (SSE, streams)
- Docker (images, compose, multi-stage builds, debugging runtime)
- GitLab CI/CD avancé (templates, includes, rules:, artefacts, cache, parallélisation, needs: DAG)
- Maîtrise du debugging distribué (Elasticsearch/Kibana, correlation IDs, traces APM)
Compétences DevOps & infrastructure très valorisées (fortement différenciantes)
Ces compétences sont prioritaires sur la maîtrise frontend, compte tenu de la transition infra en cours.
- Kubernetes : manifests, Helm, probes, HPA, RBAC, NetworkPolicies, Ingress, secrets management, ArgoCD ou GitOps
- Provisionnement VMware : Terraform (provider vSphere), templates, cloud-init, packer pour les images de base
- Automatisation infrastructure : Ansible / AWX (playbooks, rôles, inventaires dynamiques, idempotence)
- Réseau : segmentation VLAN, pare-feu, proxys sortants, reverse-proxy (Nginx / Traefik), certificats X.509, DNS interne, troubleshooting L4/L7 (tcpdump, curl -v, dig, nc)
- Linux administration (systemd, journald, tuning, sécurité)
- Secrets management (Vault, secrets GitLab, sealed-secrets)
- Observabilité avancée : Prometheus (exporters, alerting rules), Grafana (dashboards), Elastic (ingest pipelines, ILM)
- Sécurité applicative : scans SAST/DAST, dépendances (npm audit, Renovate/Dependabot), durcissement images Docker
- Industrialisation : stratégies de tags/images, environnements éphémères, promotion inter-envs, rollbacks
Compétences senior attendues
- Capacité à reprendre rapidement un existant complexe (monorepo 3 apps, intégrations multiples, pipeline event-driven, infra on-prem)
- Regard critique constructif sur qualité de code, choix techniques et infrastructure
- Expérience concrète en gestion de dette technique (refactoring progressif, migrations infra)
- Approche pragmatique : prioriser impact vs effort, livrer par incréments sûrs, éviter les big-bangs
- Forte autonomie tout en s'intégrant dans une équipe
- Excellent niveau en debugging applicatif ET infrastructure (logs, traces, kubectl, docker, métriques, réseau)
- Résistance au stress (environnement production critique, exploitation)
Skills
AnsibleAngularAPI GatewayAPMArgoCDAWXC++Change DetectorClean ArchitectureCQRSDockerElastic APMElasticsearchEvent SourcingGitLab CI/CDGrafanaHelmIAMJestKubernetesLinuxMaterialMedlinkMonorepoNestJSNginxNode.jsNPMOAuthOpenAPIPlaywrightPrometheusPrismaRabbitMQRBACRenovateSQL ServerSSOSwaggerTerraformTraefikTypeScriptVaultVMwarevSphereWebhooks
Don't send a generic resume
Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.
Get started free