Le projet
- Concevoir l’architecture des APIs, services backend et workers.
- Définir les stratégies de mise en cache, de résilience et de haute disponibilité.
- Mettre en œuvre des mécanismes de gestion des incidents : retries, circuit breakers, fallbacks, dégradation contrôlée des services.
- Concevoir et déployer des architectures intégrant des modèles de langage (LLM).
- Mettre en œuvre des solutions de :
- Prompt engineering
- Function calling
- Retrieval-Augmented Generation (RAG)
- Embeddings et recherche vectorielle
- Agents IA
- Réaliser et challenger les choix techniques via des prototypes, benchmarks et tests de charge.
- Concevoir des applications capables de traiter des volumes importants de données.
- Optimiser les arbitrages entre :
- Coût d’infrastructure
- Latence
- Débit
- Qualité de service
- Participer à la conception d’architectures synchrones et asynchrones adaptées aux contraintes métiers.
- Développer des APIs robustes et documentées.
- Définir des contrats clairs et versionnés.
- Mettre en œuvre les bonnes pratiques de validation, authentification et gestion des accès.
- Garantir la cohérence et la qualité des interfaces exposées aux équipes clientes.
- Exploiter les mécanismes avancés de concurrence et parallélisme.
- Optimiser les traitements à travers les approches synchrones et asynchrones.
- Développer des systèmes capables de supporter des charges importantes et des pics d’activité.
- Mettre en œuvre le streaming de réponses IA.
- Gérer les problématiques de :
- Timeouts
- Backpressure
- Annulation de requêtes
- Communications temps réel
- Intégrer des solutions de :
- Logs
- Métriques
- Traces distribuées
- Appliquer les principes de sécurité :
- Gestion des secrets
- Zero Trust
- Isolation des jetons d’authentification
- Protection des données sensibles
- Participer à la définition et à la diffusion des standards techniques.
- Favoriser la réutilisation des composants et des bonnes pratiques au sein des équipes.
- Conseiller les équipes produit et développement dans l’intégration des services et plateformes.
- Faciliter l’adoption des solutions mises à disposition.
- Promouvoir :
- Clean Code
- SOLID
- Tests automatisés
- Revues de code
- Qualité logicielle
- Assurer une veille technologique continue autour de l’IA et du développement backend.
- Contribuer à des initiatives de partage de connaissances :
- Communautés techniques
- Conférences
- Meetups
- Articles techniques
- Open source
Profil recherché
- Diplôme d’Ingénieur, Master ou Doctorat en informatique ou domaine connexe.
- Expérience significative en développement backend Python sur des systèmes en production à forte volumétrie.
- Expérience démontrée dans l’intégration et l’industrialisation de solutions d’IA générative.
- Solide compréhension des problématiques de performance, disponibilité et sécurité.
- Python 3.11+ (expertise requise)
- Connaissance de Go et/ou Java appréciée
- FastAPI
- Starlette
- Pydantic
- Uvicorn / ASGI
- asyncio
- httpx
- Multithreading
- Multiprocessing
- Workers distribués
- OpenAI / Azure OpenAI
- LangChain
- Mistral ou solutions équivalentes
- Architectures RAG
- Embeddings
- Agents IA
- AWS et/ou Azure
- Docker
- CI/CD
- PostgreSQL
- Redis
- Kafka
- OpenSearch
- Bases vectorielles (Weaviate ou équivalent)
- Celery
- Pytest
- Tests asynchrones
- Intégration continue