Contexte de la mission :
Dans le cadre de l’évolution et de la maintenance d’applications web, vous interviendrez sur la conception, le développement et l’optimisation de services backend en environnement Node.js. Vous contribuerez à la mise en œuvre d’architectures robustes, sécurisées et performantes, en collaboration avec les équipes techniques, Produit et Design.
Missions principales :
- Concevoir, développer et maintenir des services backend en JavaScript ES6+ avec Node.js, notamment sur les versions récentes (Node.js 22+).
- Développer des API REST JSON robustes, sécurisées et performantes.
- Concevoir et faire évoluer des architectures backend à l’aide de frameworks tels que NestJS, Express, Fastify ou Koa.
- Mettre en œuvre des tests automatisés, assurer le suivi de la couverture de code et contribuer à l’amélioration continue de la qualité logicielle.
- Participer à l’industrialisation des développements et à l’utilisation des outils de gestion de versions et d’intégration collaborative.
- Documenter les développements et les choix techniques.
- Collaborer avec les équipes Front-end, Ops, Produit et Design dans un environnement Agile.
- Participer à l’analyse des besoins, à la résolution des problématiques techniques et à l’optimisation des performances.
Compétences requises :
- Développement backend
- Expertise en JavaScript ES6+ côté serveur et expérience confirmée sur Node.js 22 ou une version supérieure.
- Maîtrise d’au moins un framework backend : NestJS, Express, Fastify ou Koa.
- Excellente maîtrise de la conception et de la sécurisation des API REST JSON.
- Bonne connaissance des formats JSON et YAML.
- Tests et qualité logicielle
- Pratique des tests automatisés avec Jest, Mocha, Chai ou Sinon.
- Maîtrise des outils de mesure de couverture de code, notamment Istanbul ou NYC.
Environnement technique et industrialisation :
- Maîtrise de l’environnement Bash sous Linux ou macOS.
- Utilisation des outils NPM, Nodemon et PM2.
- Maîtrise de Git et des workflows collaboratifs sous GitLab.
- Capacité à lire et exploiter une documentation technique en anglais.
Méthodologie et communication :
- Expérience des méthodologies Agiles.
- Capacité à collaborer avec des interlocuteurs techniques et fonctionnels.
- Aptitude à vulgariser des sujets techniques complexes et à produire une documentation claire.
Compétences appréciées :
- Bases de données : MySQL, MariaDB, MongoDB, Redis.
- ORM : Prisma, TypeORM.
- Moteurs de recherche : Elasticsearch.
- Conteneurisation : Docker et Docker Compose.
- Performance et temps réel : Worker Threads, WebSockets, Server-Sent Events (SSE).
- Architecture événementielle : Pub/Sub et bibliothèques de communication événementielle.
- Sécurité : OAuth2, JWT, SSO, CORS et gestion des en-têtes de sécurité HTTP.
- Tests de bout en bout : Cucumber et Gherkin.
- Outils API : Swagger, Postman et curl.
- Documentation et conception : Markdown, Confluence, conception orientée objet et principes de développement structuré.
- Culture web : bonnes connaissances en HTML5 et CSS3.
Profil recherché :
- Minimum de 5 ans d’expérience significative en développement backend Node.js.
- Expertise technique permettant de concevoir et de faire évoluer des services backend dans des environnements exigeants.
- Maîtrise professionnelle du français, à l’oral comme à l’écrit.
- Capacité à travailler en équipe et à intervenir dans un environnement Agile.
Modalités de la mission :
- Présence sur site : au minimum 50 % du temps de la prestation, selon les besoins opérationnels.
- Astreintes : des astreintes ou interventions exceptionnelles en soirée, le week-end ou les jours fériés peuvent être demandées.
- Langue de travail : français, pour les échanges, les réunions et la documentation. Les documents devront être rédigés en français et fournis dans un format éditable.