❓ FAQ
Questions fréquemment posées sur le Bootcamp Data Engineering
Posez votre question dans les GitHub Discussions ou utilisez les commentaires Giscus en bas de chaque page.
📚 Questions Générales
Qu’est-ce qu’un Data Engineer ?
Un Data Engineer conçoit, construit et maintient les infrastructures et pipelines de données qui permettent aux entreprises de collecter, stocker, transformer et analyser leurs données à grande échelle.
Data Engineer = Architecte + Développeur + DevOps pour la Data
Responsabilités principales :
- Construire des pipelines de données (batch et streaming)
- Concevoir des architectures data (Lakehouse, Data Mesh)
- Optimiser les performances et les coûts
- Garantir la qualité et la gouvernance des données
Quelle est la différence entre Data Engineer, Data Scientist et Data Analyst ?
| Rôle | Focus | Outils | Salaire (FR) |
|---|---|---|---|
| Data Engineer | Infrastructure & Pipelines | Spark, Kafka, Airflow, K8s | 45-90K€ |
| Data Scientist | Modèles & Prédictions | Python, ML, TensorFlow | 45-80K€ |
| Data Analyst | Insights & Reporting | SQL, Power BI, Tableau | 38-60K€ |
| Analytics Engineer | Transformation & Modélisation | dbt, SQL, Looker | 45-75K€ |
À qui s’adresse ce bootcamp ?
| Profil | Niveau recommandé | Prérequis |
|---|---|---|
| Étudiant / Débutant complet | 🟦 Niveau 1 | Motivation uniquement |
| Développeur Python/Java | 🟦 Niveau 1 (rapide) ou 🟩 Niveau 2 | Bases programmation |
| Analyste BI / SQL | 🟦 Niveau 1 | SQL basique |
| Data Analyst expérimenté | 🟩 Niveau 2 | Python + SQL solides |
| Data Engineer junior | 🟩 Niveau 2 ou 🟥 Niveau 3 | Spark + Docker basics |
Combien de temps faut-il pour finir le bootcamp ?
| Niveau | Modules | Durée estimée | Rythme |
|---|---|---|---|
| 🟦 Débutant | 01-13 | 8-10 semaines | 10-15h/semaine |
| 🟩 Intermédiaire | 14-26 | 10-12 semaines | 10-15h/semaine |
| 🟥 Avancé | 27-35 | 8-10 semaines | 10-15h/semaine |
| Total | 35 modules | 6-8 mois | ~500 heures |
Ces durées sont indicatives. Certains terminent plus vite, d’autres prennent plus de temps. L’important est la compréhension, pas la vitesse.
Dois-je suivre les modules dans l’ordre ?
Oui, fortement recommandé. Chaque module s’appuie sur les concepts du précédent.
Exceptions possibles :
- Si vous maîtrisez déjà Python/SQL → Survolez les modules 04-07
- Si vous connaissez Docker → Survolez le module 14
- Les modules Bonus (13, etc.) sont optionnels
💻 Questions Techniques
Ai-je besoin d’un ordinateur puissant ?
| Niveau | RAM | CPU | Disque |
|---|---|---|---|
| 🟦 Débutant | 8 Go | 4 cœurs | 30 Go |
| 🟩 Intermédiaire | 16 Go | 4 cœurs | 50 Go |
| 🟥 Avancé | 16 Go+ | 6+ cœurs | 100 Go |
Docker, Kubernetes et Spark consomment beaucoup de ressources. 16 Go de RAM sont vraiment recommandés à partir du niveau 2.
Puis-je suivre le bootcamp sur Windows ?
Oui, avec WSL2 (Windows Subsystem for Linux).
# Installer WSL2
wsl --install
# Choisir Ubuntu
wsl --install -d Ubuntu-22.04
# Puis suivre les instructions Linux du setupWSL2 est même recommandé car la plupart des outils Data sont conçus pour Linux.
Quelle version de Python utiliser ?
Python 3.11 est recommandé (stable et compatible PySpark 3.5).
| Version | Statut | Compatibilité |
|---|---|---|
| 3.9 | ✅ OK | Fonctionne |
| 3.10 | ✅ Recommandé | Optimal |
| 3.11 | ✅ Recommandé | Optimal |
| 3.12 | ⚠️ Attention | Problèmes possibles avec certaines libs |
Docker Desktop ou Docker Engine ?
| Option | OS | Avantages |
|---|---|---|
| Docker Desktop | macOS, Windows | Interface graphique, facile |
| Docker Engine | Linux | Léger, natif |
Pour le bootcamp, les deux fonctionnent parfaitement.
minikube, kind ou k3s ?
| Outil | RAM | Facilité | Usage |
|---|---|---|---|
| minikube | ~2 Go | ⭐⭐⭐⭐⭐ | Recommandé pour le bootcamp |
| kind | ~1 Go | ⭐⭐⭐⭐ | Alternative légère |
| k3s | ~512 Mo | ⭐⭐⭐ | Pour Raspberry Pi / Edge |
Le bootcamp utilise minikube dans les exemples.
⚡ Questions sur Spark
PySpark ou Scala ?
| Langage | Avantages | Quand l’utiliser |
|---|---|---|
| PySpark | Facile, écosystème Python riche | 90% des cas |
| Scala | Performance, API native Spark | Optimisation fine, contributions Spark |
Le bootcamp utilise PySpark aux niveaux 1-2, et introduit Scala au module 30.
Spark local vs cluster ?
| Mode | Quand | Configuration |
|---|---|---|
| Local | Apprentissage, dev, tests | master("local[*]") |
| Standalone | Petit cluster dédié | Spark Master/Workers |
| Kubernetes | Production cloud-native | Spark Operator |
| YARN | Hadoop existant | Cluster Hadoop |
Pour le bootcamp, le mode local suffit. Le module 21 couvre Spark sur Kubernetes.
Delta Lake, Iceberg ou Hudi ?
| Format | Forces | Écosystème |
|---|---|---|
| Delta Lake | Mature, optimisé Spark | Databricks, Spark |
| Iceberg | Multi-engine, open | Trino, Flink, Spark |
| Hudi | CDC, upserts rapides | Kafka, Flink |
Le bootcamp couvre Delta Lake en priorité (module 23) avec une introduction à Iceberg.
En 2024-2025, Delta Lake et Iceberg sont les plus demandés. Maîtrisez-en un, comprenez l’autre.
🔄 Questions sur les Pipelines
Airflow, Dagster ou Prefect ?
| Outil | Adoption | Forces | Faiblesses |
|---|---|---|---|
| Airflow | 🥇 90%+ | Standard industrie | Complexe, legacy |
| Dagster | 🥈 Croissant | Moderne, testable | Moins adopté |
| Prefect | 🥉 Niche | Simple, cloud-native | Moins de features |
Le bootcamp enseigne Airflow (module 28) car c’est le standard de l’industrie.
Batch ou Streaming ?
| Type | Latence | Complexité | Cas d’usage |
|---|---|---|---|
| Batch | Minutes → Heures | ⭐⭐ | Reporting, analytics, ML training |
| Micro-batch | Secondes → Minutes | ⭐⭐⭐ | Near real-time dashboards |
| Streaming | Millisecondes | ⭐⭐⭐⭐⭐ | Alerting, fraud detection |
Commencez toujours par du batch. Passez au streaming uniquement si le business le justifie (et le budget aussi).
C’est quoi le Lakehouse ?
Le Lakehouse combine le meilleur des deux mondes :
| Data Lake | Data Warehouse | Lakehouse |
|---|---|---|
| ✅ Stockage pas cher | ✅ Performance SQL | ✅ Les deux |
| ✅ Données brutes | ✅ ACID transactions | ✅ Les deux |
| ❌ Pas de ACID | ❌ Coûteux | ✅ Résolu |
| ❌ Query lent | ❌ Données structurées only | ✅ Résolu |
Architecture Medallion : Bronze (raw) → Silver (cleaned) → Gold (business-ready)
Voir module 23 pour la mise en pratique.
C’est quoi le Data Mesh ?
Le Data Mesh est une approche organisationnelle où chaque domaine métier est responsable de ses propres données.
| Concept | Description |
|---|---|
| Domain Ownership | Chaque équipe gère ses data products |
| Data as a Product | Les données sont traitées comme un produit |
| Self-serve Platform | Plateforme mutualisée pour tous |
| Federated Governance | Gouvernance distribuée mais cohérente |
Voir module 32 pour approfondir.
🎯 Questions sur la Carrière
Quel salaire peut-on espérer ?
| Niveau | France | Suisse | USA | Remote (€) |
|---|---|---|---|---|
| Junior (0-2 ans) | 40-50K€ | 80-100K CHF | $90-120K | 45-65K€ |
| Confirmé (2-5 ans) | 50-70K€ | 100-130K CHF | $120-160K | 65-100K€ |
| Senior (5+ ans) | 65-90K€ | 130-170K CHF | $160-220K | 90-140K€ |
| Staff/Principal | 85K+€ | 170K+ CHF | $220K+ | 130K+€ |
Données 2024-2025, variables selon entreprise et localisation.
Quelles certifications sont utiles ?
| Certification | Valeur marché | Coût | Difficulté |
|---|---|---|---|
| Databricks Data Engineer | ⭐⭐⭐⭐⭐ | ~$200 | Moyenne |
| AWS Data Analytics Specialty | ⭐⭐⭐⭐ | ~$300 | Difficile |
| GCP Professional Data Engineer | ⭐⭐⭐⭐ | ~$200 | Difficile |
| dbt Analytics Engineering | ⭐⭐⭐ | Gratuit | Facile |
| Confluent Kafka | ⭐⭐⭐ | ~$200 | Moyenne |
Les certifications sont un plus, pas un must. Un bon portfolio GitHub + expérience pratique > certifications.
🆘 Problèmes Courants
Spark : “Java gateway process exited”
# Vérifier que Java est installé
java -version
# Si non installé :
# macOS
brew install openjdk@11
export JAVA_HOME=$(/usr/libexec/java_home -v 11)
# Ubuntu
sudo apt install openjdk-11-jdk
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
# Ajouter à ~/.bashrc ou ~/.zshrc pour persisterDocker : “permission denied”
# Ajouter votre user au groupe docker
sudo usermod -aG docker $USER
# Appliquer immédiatement
newgrp docker
# Ou logout/loginKafka : “broker not available”
# 1. Vérifier les logs
docker compose logs zookeeper
docker compose logs kafka
# 2. Redémarrer proprement
docker compose down -v
docker compose up -d
# 3. Attendre 30 secondes que Kafka soit prêtJupyter : “Kernel not found”
# Réinstaller le kernel
source ~/bootcamp-env/bin/activate
python -m ipykernel install --user --name=bootcamp --display-name="Python (Bootcamp)"
# Redémarrer Jupyterminikube : “not enough memory”
# Supprimer et recréer avec plus de ressources
minikube delete
minikube start --memory=4096 --cpus=2 --driver=dockerPySpark : “Py4JJavaError”
# Vérifier la compatibilité des versions
python -c "import pyspark; print(pyspark.__version__)"
java -version
# PySpark 3.5 → Java 11 ou 17
# PySpark 3.4 → Java 11📞 Obtenir de l’aide
| Canal | Usage | Lien |
|---|---|---|
| GitHub Issues | Bugs, erreurs dans les notebooks | Issues |
| GitHub Discussions | Questions générales, aide | Discussions |
| Commentaires Giscus | Questions sur un module spécifique | En bas de chaque page |
Avant de poser une question :
- ✅ Vérifier cette FAQ
- ✅ Chercher dans les Issues/Discussions existantes
- ✅ Googler l’erreur exacte
- ✅ Consulter la documentation officielle de l’outil
Quand vous posez une question :
- Décrivez le contexte (module, étape)
- Copiez le message d’erreur complet
- Mentionnez votre OS et versions des outils
- Montrez ce que vous avez déjà essayé
Comment préparer les entretiens ?
1. Technique (60%)
2. System Design (30%)
Savoir concevoir un pipeline end-to-end :
3. Soft Skills (10%)
Les projets intégrateurs du bootcamp sont conçus pour être présentés en entretien. Mettez-les sur GitHub !