Bamako, Mali · UTC+0 · disponible en remote

Drissa Sidiki Traore

Développeur backend & architecture logicielle.

Je conçois ce qui fait tourner le système : le schéma de données, les files d'attente, les caches, les contrats d'API et les budgets de latence. L'écran est la dernière couche — mon travail commence dessous, là où une requête mal indexée ou un retry mal placé décide si le produit tient la charge.

Stack technique

Technologies agrégées à travers l'ensemble des projets.

Langages (7)

  • Dart
  • Go
  • Java
  • Kotlin
  • Python
  • Rust
  • TypeScript

Frameworks / backend (8)

  • Eureka
  • Firebase Admin
  • Flyway
  • JWT
  • OpenAPI
  • Spring Boot
  • Spring Cloud Gateway
  • UniFFI

Data & stockage (9)

  • ClickHouse
  • Dragonfly
  • MinIO
  • PostgreSQL
  • Redis
  • Redpanda
  • Réplication logique / pub-sub
  • S3
  • SQS

Mobile / frontend (10)

  • ExoPlayer
  • Flutter
  • Jetpack Compose
  • media_kit
  • Media3
  • Next.js
  • React
  • Riverpod
  • Vite
  • VitePress

Infra / DevOps (8)

  • Coolify
  • Docker
  • Docker Compose
  • GitHub Actions
  • Hadoop
  • HDFS
  • Linux
  • YARN

Data / traitement (10)

  • Cartopy
  • CMAF
  • DASH
  • Dask
  • FFmpeg
  • HLS
  • NumPy
  • rasterio
  • WebP / ImageIO
  • xarray

Autres (2)

  • google-genai
  • Resend

Compétences

par domaine

Architecture

Découper selon les frontières du métier, pas selon les couches techniques.

  • Monolithe modulaire, frontières explicites
  • Strangler pattern & migration sans interruption
  • Outbox pattern, événements de domaine
  • Séparation lecture/écriture, vues matérialisées
  • Idempotence, disjoncteurs, dégradation gracieuse

Backend

Le contrat d'API se conçoit avant la première ligne de handler.

  • Node.js / TypeScript, PHP 8
  • REST versionné, pagination par curseur
  • Files de traitement asynchrone (Redis, workers)
  • Webhooks signés, rejeu et réconciliation
  • Authentification par jeton, contrôle d'accès par rôle

Bases de données

Un index mal choisi coûte plus cher qu'un serveur sous-dimensionné.

  • PostgreSQL, MySQL — modélisation relationnelle
  • Plans d'exécution, index composites et partiels
  • Niveaux d'isolation, verrous, transactions longues
  • SQLite / Drift pour le stockage embarqué
  • Redis : cache, files, verrous distribués

Optimisation

Mesurer d'abord : aucun changement de perf sans chiffre avant/après.

  • Budget de latence par requête, suivi p95/p99
  • Chasse aux N+1, batching et dataloaders
  • Stratégies de cache et invalidation explicite
  • Streaming adaptatif, transferts sous contrainte réseau
  • Réduction de charge serveur et de coût CDN

Mobile & Web (support)

Je livre l'interface quand il le faut ; ce n'est pas là que se joue le système.

  • Flutter / Dart — état, persistance, sync hors-ligne
  • React / TypeScript pour outils internes et back-offices
  • Intégration client des contrats d'API
  • Instrumentation et remontée d'erreurs côté client