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)
| Langage | Forces | Faiblesses |
|---|---|---|
| TypeScript | Écosystème riche, full-stack | Runtime single-thread |
| Python | Data science, ML, rapidité | GIL, perf limitée |
| Go | Concurrence native, perf | Verbosité, GC |
| Rust | Zéro-cost abstractions, safety | Courbe d'apprentissage |
| Java/Kotlin | Maturité, écosystème enterprise | Verbosité |
| Zig | Modern 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é)
| Langage | Temps pour produire | Complexité |
|---|---|---|
| Python | 2 semaines | Très faible |
| Go | 1 mois | Faible |
| JS/TS | 1 mois | Moyenne |
| Java | 3 mois | Élevée |
| Rust | 6 mois | Très élevée |
Emplois et salaires (France 2025)
| Spécialisation | Junior | Confirmé | Senior |
|---|---|---|---|
| Java/Spring | 40-45k | 50-65k | 70-90k |
| Node.js/TS | 38-44k | 48-62k | 65-85k |
| Python/Django | 38-43k | 47-60k | 63-80k |
| Go | 42-48k | 55-70k | 75-100k |
| Rust | 45-52k | 60-80k | 85-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
- URL Shortener : Express + PostgreSQL, Redis cache
- RESTful Blog API : FastAPI + SQLAlchemy, JWT auth
- Task Manager : Go + Gin + SQLite, CRUD complet
Niveau intermédiaire
- E-commerce backend : NestJS + Prisma + Stripe, CQRS
- Real-time chat : WebSocket, Redis Pub/Sub, Go channels
- File storage service : S3-compatible, multipart upload, presigned URLs
Niveau avancé
- Distributed rate limiter : Sliding window, Redis cluster, Go + gRPC
- Event-driven platform : Kafka, CQRS/ES, Rust + Axum
- Database proxy : Connection pooling, read/write splitting, Rust
Senior
- Raytracer distribué : Go + WebAssembly, map/reduce
- Time-series database : LSM tree, Rust, Zig
- 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