MFormations
Modern Backend Engineering

Chapitre 0

Chapitre 00 — Introduction au Backend Engineering

Chapitre 00 — Introduction au Backend Engineering

Cours complet — Introduction au Backend Engineering

1. Roadmap du développeur backend

Phase 1 : Fondations (0–6 mois)

  • Langage : maîtriser un langage (Python, JS/TS, Go, Java, Rust)
  • HTTP : comprendre le protocole, méthodes, status codes, headers
  • OS : processus, threads, mémoire, systèmes de fichiers
  • Git : workflow, branching, rebase, merge, hooks
  • Base de données : SQL (PostgreSQL), modélisation, requêtes

Phase 2 : Production-ready (6–12 mois)

  • Framework web : FastAPI, Express, Gin, Spring Boot
  • ORM : SQLAlchemy, Prisma, TypeORM, GORM
  • REST API design, OpenAPI, validation
  • Tests : unitaires, intégration, e2e
  • Auth : JWT, OAuth2, sessions

Phase 3 : Scale & architecture (12–24 mois)

  • Docker, Docker Compose
  • Cloud : AWS/GCP/Azure (EC2, Lambda, RDS, S3)
  • CI/CD : GitHub Actions, GitLab CI
  • Message brokers : Redis, RabbitMQ, Kafka
  • Monitoring : Prometheus, Grafana, ELK
  • Architecture : Clean Architecture, CQRS, Event Sourcing

Phase 4 : Senior (24+ mois)

  • Distributed systems, consensus (Raft, Paxos)
  • Database internals, sharding, replication
  • Performance engineering, profiling
  • Security : OWASP Top 10, pen testing
  • Mentoring, RFCs, ADRs, tech leading

2. Écosystème backend moderne

Langages dominants (2025-2026)

LangageForcesFaiblesses
TypeScriptÉcosystème riche, full-stackRuntime single-thread
PythonData science, ML, rapiditéGIL, perf limitée
GoConcurrence native, perfVerbosité, GC
RustZéro-cost abstractions, safetyCourbe d'apprentissage
Java/KotlinMaturité, écosystème enterpriseVerbosité
ZigModern C, no GCÉcosystème jeune

Frameworks par langage

  • TypeScript/JS : Express, Fastify, NestJS, Hono, Elysia
  • Python : FastAPI, Django, Flask, Starlette, Litestar
  • Go : Gin, Echo, Fiber, Chi, standard net/http
  • Rust : Axum, Actix-web, Warp, Rocket
  • Java : Spring Boot, Quarkus, Micronaut
  • Zig : Zap, tigerbeetle

Bases de données

  • Relationnelles : PostgreSQL (leader), MySQL, SQLite
  • Document : MongoDB, Firestore, Couchbase
  • Key-Value : Redis, Valkey, Memcached
  • Columnar : ClickHouse, Cassandra, ScyllaDB
  • Graph : Neo4j, ArangoDB, Dgraph
  • Timeseries : InfluxDB, TimescaleDB
  • Vector : Pinecone, Qdrant, Milvus, pgvector
  • NewSQL : CockroachDB, YugabyteDB, Spanner

Infrastructures cloud

  • Compute : EC2, Lambda, Fargate, App Runner, Fly.io
  • Orchestration : Kubernetes, Nomad, Docker Swarm
  • Serverless : Lambda, Cloud Functions, Deno Deploy
  • Messaging : SQS, Pub/Sub, RabbitMQ, Kafka, NATS
  • Observability : Datadog, Grafana, Honeycomb, Sentry

3. Évolution du métier

2000–2010 : L'ère LAMP

  • Linux, Apache, MySQL, PHP
  • Serveurs monolithiques, déploiements FTP
  • Pas de CI/CD, scaling vertical

2010–2020 : L'ère microservices

  • Docker (2013), Kubernetes (2014)
  • Cloud native, 12-factor app
  • DevOps, CI/CD, infrastructure as code

2020–2025 : L'ère plateforme

  • Edge computing, WebAssembly
  • eBPF, service mesh (Istio, Linkerd)
  • Platform Engineering, Backstage
  • AI/ML intégré aux pipelines

2025–2030 : Tendances émergentes

  • AI-native backend : LLMs intégrés, agents autonomes
  • WebAssembly : Run polyglotte, edge computing
  • eBPF : Observabilité et sécurité kernel-level
  • Batteryless computing : Energy-aware scheduling
  • Formal verification : Preuves mathématiques de correction
  • Unikernels : OS minimaux par application
  • Carbon-aware computing : Green software engineering

4. Comparaison des langages

Performance brute (req/s, JSON serialization)

Rust    ████████████████████ 1 200 000
Zig     ████████████████████ 1 150 000
Go      █████████████████   800 000
Java    ███████████████     650 000
C#      ███████████████     620 000
Node.js █████████████       500 000
Python  ██████              180 000

Coût cognitif (apprentissage à la productivité)

LangageTemps pour produireComplexité
Python2 semainesTrès faible
Go1 moisFaible
JS/TS1 moisMoyenne
Java3 moisÉlevée
Rust6 moisTrès élevée

Emplois et salaires (France 2025)

SpécialisationJuniorConfirméSenior
Java/Spring40-45k50-65k70-90k
Node.js/TS38-44k48-62k65-85k
Python/Django38-43k47-60k63-80k
Go42-48k55-70k75-100k
Rust45-52k60-80k85-120k

5. Outils et bonnes pratiques

Environnement de développement

  • IDE : VS Code + extensions (JS/TS, Python, Go), GoLand, IntelliJ
  • Terminal : Warp, iTerm2, Alacritty, tmux
  • Shell : zsh + oh-my-zsh + plugins (git, docker, kubectl)
  • Version manager : nvm (Node), pyenv (Python), gvm (Go), rustup (Rust)

Productivité

  • HTTP client : Bruno, Insomnia, HTTPie, curl
  • API testing : Bruno, Postman, Hoppscotch
  • Database GUI : TablePlus, DBeaver, pgAdmin
  • Container management : Docker Desktop, OrbStack, Podman
  • Kubernetes : Lens, K9s, k3d, kind

Qualité

  • Linting : ESLint, ruff, golangci-lint, clippy
  • Formatting : Prettier, black, gofmt, rustfmt
  • Types : TypeScript, mypy (Python), Pydantic
  • Testing : Vitest, pytest, go test, cargo test
  • Coverage : c8, pytest-cov, go test -cover, cargo-tarpaulin

Sécurité

  • SAST : SonarQube, Semgrep, CodeQL
  • SCA : Snyk, Dependabot, Renovate
  • Secrets : Infisical, Doppler, Vault, 1Password CLI
  • Auth : Auth0, Clerk, Keycloak, FusionAuth

6. Projets pour se former

Niveau débutant

  1. URL Shortener : Express + PostgreSQL, Redis cache
  2. RESTful Blog API : FastAPI + SQLAlchemy, JWT auth
  3. Task Manager : Go + Gin + SQLite, CRUD complet

Niveau intermédiaire

  1. E-commerce backend : NestJS + Prisma + Stripe, CQRS
  2. Real-time chat : WebSocket, Redis Pub/Sub, Go channels
  3. File storage service : S3-compatible, multipart upload, presigned URLs

Niveau avancé

  1. Distributed rate limiter : Sliding window, Redis cluster, Go + gRPC
  2. Event-driven platform : Kafka, CQRS/ES, Rust + Axum
  3. Database proxy : Connection pooling, read/write splitting, Rust

Senior

  1. Raytracer distribué : Go + WebAssembly, map/reduce
  2. Time-series database : LSM tree, Rust, Zig
  3. Tiny Kubernetes : Container orchestration, Go, CRDs

Références

  • The Modern Backend Developer Roadmap (roadmap.sh/backend)
  • State of JS/Node.js/Python surveys
  • Gartner Hype Cycle for Software Engineering
  • ThoughtWorks Technology Radar
  • O'Reilly Radar