Au sein d’une squad polyvalente comprenant ingénieur R&D, dataengineer, ingénieur full stack
est responsable de ses sujets de A à Z : de l’idéation à la mise en production, en passant par la conception technique (définition de l’architecture) et l’implémentation,
suit et fait évoluer les standards d’implémentation et les bonnes pratiques d’Explain,
travaille sur des fonctionnalités utilisant des données textuelles, en appliquant les techniques de pointe en matière de LLMs et de NLP
Il est amené à travailler sur des fonctionnalités variées. Quelques exemples de sujets que nous avons mis en production ces derniers mois:
L’implémentation du backend et du frontend d’un système de RAG (Retrieval Augmented Generation) permettant d’interroger des documents pdfs avec un LLM et de permettre la vérifiabilité des réponses,
Le découpage, la vectorisation, et l’indexation dans une base de données vectorielle de chunks de pdfs cohérents sémantiquement (respectant les best practices de chunking),
Des outils permettant aux utilisateurs d’annoter, d’assigner des tâches et des statuts à des documents et de collaborer efficacement avec leurs collègues.
Une fonctionnalité d’autocompletion (type copilot) pour la rédaction d’appel d’offre, à partir d’une API LLM interne .
Impliqué dans les questions produit, l’ingénieur fullstack évalue la faisabilité des projets avec précision. Son recul lui permet de contribuer efficacement aux décisions. Il remet en question les spécifications de manière constructive, propose des alternatives pertinentes et évalue leur viabilité. De plus, il s’engage activement dans la phase de découverte produit et participe à l’idéation de nouvelles fonctionnalités.
Intégration et résultats attendus
Après 1 semaine :
Prise en main de la base de code et des bonnes pratiques,
Onboarding et premiers tickets simples pris en autonomie et mis en production.
Après 1 mois :
Première conception technique réalisée en autonomie,
Prise en main des différents services et composants de notre stack,
Responsable du déploiement et de la mise en production de ses fonctionnalités.
Après 3 mois :
Première fonctionnalité complexe portée du début à la fin,
Contribution à l’amélioration continue des pratiques de l’équipe, via les pull request et les retro.
Contexte du poste
🧭 Principaux enjeux techniques
Le produit Explain est construit autour d’un actif de données textuelles. Ces données sont collectées et traitées quotidiennement via des fournisseurs de données ou par web scraping. Nos principaux enjeux techniques sont :
Mettre en production à l’échelle des fonctionnalité d’IA générative (RAG, aide à la rédaction, agents…)
Apporter de la valeur ajoutée à la donnée et la structurer via des traitements de ML (OCR, Clustering, Catégorisation, Reconnaissance d’entité, architecture serverless, architecture de datalake).
Assurer une collecte robuste et rapide de données non structurées et hétérogènes (web scraping).
Rendre accessible aux utilisateurs la donnée dans un front intuitif (UX/UI, Moteur de recherche, Backend).
🛠️ Stack
Côté FRONT
Côté BACK / DATA
Python (SQL Alchemy, HuggingFace, Alembic, Flask, Sklearn, Spacy, Scrapy)
OpenSearch
PostgreSQL
OpenAI, Mistral, AWS Bedrock
Côté INFRA
AWS
Elasticbeanstalk pour nos microservices
Batch / Lambda / SQS pour nos scripts serverless
S3
Cloudfront
Remote possible jusqu’à 2 ou 3 jours par semaine après la phase d’onboarding.
Conception technique - Notre process de développement comprend une phase de conception technique, sans limite de temps, en amont de la delivery. L’ingénieur propose une architecture technique pérenne, et la discute avec d’autres membres de l’équipe. On limite ainsi les reworks et la dette technique.
Pull request - Elles sont systématiques avec deux reviewers. Elles sont un moyen pour nous de faciliter la montée en compétence et d’assurer la cohérence de notre base de code.
Code coverage - Sur tous les projets back, une pull request ne peut être fusionnée qu’avec 80% de coverage ou plus.
Chaque développeur a accès à une licence Copilot.
Formation continue - nous organisons régulièrement en interne des exercices et formation autour de nos process (relecture de pull requests, tests, debugging…), pour s’assurer que l’on respecte et que l’on améliore nos standards.
Profil recherché
Bac+5 : école d’ingénieur ou master informatique.
2 ans d’expérience (incluant potentiellement des années d’alternance)
Front : connaissance d’un framework JS.
Back : Maîtrise d’un langage back orienté objet.
Intérêt pour la communication avec les métiers non-technique et la compréhension des besoins utilisateurs.
Appétence pour la qualité logicielle et les bonnes pratiques de software engineering.
Maîtrise déjà acquise de Python
Intérêt pour la datascience ou le NLP.
Appétence pour les sujets de société et le produit
Bac+5 : école d’ingénieur ou master informatique.
2 à 4 ans d’expérience: au moins une première expérience solide dans une équipe de bon niveau.
Front : connaissance d’un framework JS.
Back : Maîtrise d’un langage back orienté objet.
Intérêt pour la communication avec les métiers non-technique et la compréhension des besoins utilisateurs.
Appétence pour la qualité logicielle et les bonnes pratiques de software engineering.
Maîtrise déjà acquise de Python
Intérêt pour la datascience ou le NLP.
Appétence pour les sujets de société et la réflexion produit (nouvelles features, compréhension des problèmes clients…).
Entretien filtre avec le CTO (30min): validation du fit et de l’adéquation du profil au poste
Entretien avec CTO et Lead architect (1h30min): cas pratique en live, et passage en revue détaillé des expériences passées.
Demi-journée Explain (1/2 journée): 4 entretiens en personne avec différents membres de l’équipe, et une opportunité pour toi de bien valider qu’Explain te convient 🙂
Appel de références
Ces entreprises recrutent aussi au poste de “Développement de logiciels et de sites Web”.
Voir toutes les offres