Software Data Engineer F/H

Lianeo
Paris, France
yesterday

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
French
Experience level
Senior
Compensation
€ 55K

Job location

Paris, France

Tech stack

Airflow
Business Logic
Unit Testing
Continuous Delivery
Continuous Integration
Python
PostgreSQL
Machine Learning
Raw Data
Ansible
SQL Databases
SQLAlchemy
Data Streaming
Data Processing
Containerization
Gitlab-ci
Integration Tests
Vertica
Docker

Job description

Vous travaillerez au sein d'une Startup française healthtech B2B qui applique le Machine Learning et l'IA aux données hospitalières pour automatiser et revaloriser le codage des séjours, avec une cible prioritaire côté Départements d'Information Médicale et hôpitaux.

Objectif : Aider à l'intégration des données pour les hôpitaux.

  1. Migration et Développement de Pipelines Python "Low-Memory"

Le candidat est chargé de construire les ponts entre l'ancienne et la nouvelle stack en utilisant Python comme moteur principal.

  • Ingestion optimisée : Développer des scripts d'extraction depuis PostgreSQL vers Clickhouse en utilisant des générateurs et du streaming (via psycopg2 ou SQLAlchemy en mode stream) pour ne jamais charger plus de quelques Mo en RAM.
  • Traitement asynchrone : Utiliser Python pour paralléliser les tâches d'ingestion sans saturer le CPU, en gérant finement les pools de connexion.
  • Formatage Clickhouse : Préparer les données au format optimal pour Clickhouse pour maximiser la vitesse d'insertion tout en minimisant l'usage CPU.
  1. Modélisation et Transformation avec dbt & Clickhouse

C'est le cœur de la nouvelle stack analytique.

  • Développement dbt : Écrire les modèles SQL dans dbt pour transformer les données brutes en tables finales exploitables par les Data Scientists.
  • Optimisation Clickhouse : Choisir les bons moteurs de table (ex: MergeTree, ReplacingMergeTree) et définir les clés de tri/partitionnement pour garantir des requêtes ultra-rapides malgré un espace mémoire restreint.
  • Logique métier : Traduire les règles complexes du codage médical en requêtes SQL performantes et modulaires.
  1. Orchestration avec Dagster
  • Pipeline Design : Créer les "Jobs" et "Ops" dans Dagster pour ordonnancer les transformations d'une étape à l'autre.
  • Observabilité : Implémenter des capteurs (Sensors) et des vérifications de données (Asset Checks) pour s'assurer que si une donnée est corrompue, le pipeline s'arrête avant d'impacter la production.
  • Gestion des ressources : Configurer Dagster pour qu'il limite la consommation de ressources des jobs en parallèle.
  1. Industrialisation, CI/CD et Déploiement
  • Conteneurisation : Créer des images Docker légères pour minimiser l'empreinte disque et mémoire sur les serveurs.
  • Automatisation Ansible : Écrire les playbooks Ansible pour déployer la stack (Clickhouse, Dagster, etc.) de manière reproductible sur les différents environnements (Dev, Staging, Prod).
  • GitLab CI : Configurer les pipelines de CI/CD pour automatiser les tests unitaires, les tests d'intégration d'infrastructure et le déploiement continu.

Requirements

Bonus : Expérience significative dans le secteur de la santé et/ou médical sur le traitement, l'analyse et le stockage des données hospitalières.

Apply for this position