À propos du service
TraduitJe suis développeur backend et j'écris en Scala, et la programmation fonctionnelle pour moi est une façon de penser à un problème, pas une technique que j'utilise occasionnellement. Je conçois des services autour de données immuables, de fonctions pures et d'effets typés, de sorte que le comportement reste prévisible et que le compilateur attrape toute une classe d'erreurs avant qu'elles n'atteignent la production. Si vous avez déjà une pile JVM et avez besoin des garanties de correction et de concurrence que Scala fournit, ou si vous partez de zéro et souhaitez une base qui évolue plutôt que de se transformer en désordre, je prendrai le travail de l'architecture à un service fonctionnant de manière fiable en production.
La plupart du temps, je construis des API REST et gRPC, des systèmes d'événements et des pipelines de traitement de données. Je construis des backends concurrents et distribués sur des acteurs Akka et des Akka Streams, modélise des processus de longue durée qui survivent aux redémarrages, et connecte tout à Kafka, PostgreSQL, Cassandra ou Spark selon la nature des données. Je pense à la pression de retour et à ce qui se passe lorsqu'une dépendance devient lente ou disparaît, donc mes systèmes se dégradent gracieusement au lieu de planter. Les tâches par lots et de streaming sur de grandes données sont routinières : migration, nettoyage et agrégation de grands volumes sans perdre de dossiers et sans manquer de mémoire.
Laissez-moi être clair sur le périmètre : c'est Scala et une approche fonctionnelle, pas du Java, Kotlin ou Go réécrit en syntaxe Scala. J'écris du code idiomatique avec Cats, ZIO ou Akka, teste via ScalaCheck et une approche basée sur les propriétés et livre du code que votre équipe peut lire et faire évoluer. Parlez-moi du débit nécessaire et des contraintes — je suggérerai une approche et un calendrier réaliste.
— Services backend fonctionnels en Scala (Cats, ZIO)
— Acteurs Akka et Akka Streams pour des systèmes distribués concurrents
— APIs REST et gRPC avec des domaines typés testables
— Pipelines de big data et ETL sur Spark et Kafka
— PostgreSQL, Cassandra et stockage basé sur des événements
— Tests basés sur les propriétés et configuration CI JVM
La plupart du temps, je construis des API REST et gRPC, des systèmes d'événements et des pipelines de traitement de données. Je construis des backends concurrents et distribués sur des acteurs Akka et des Akka Streams, modélise des processus de longue durée qui survivent aux redémarrages, et connecte tout à Kafka, PostgreSQL, Cassandra ou Spark selon la nature des données. Je pense à la pression de retour et à ce qui se passe lorsqu'une dépendance devient lente ou disparaît, donc mes systèmes se dégradent gracieusement au lieu de planter. Les tâches par lots et de streaming sur de grandes données sont routinières : migration, nettoyage et agrégation de grands volumes sans perdre de dossiers et sans manquer de mémoire.
Laissez-moi être clair sur le périmètre : c'est Scala et une approche fonctionnelle, pas du Java, Kotlin ou Go réécrit en syntaxe Scala. J'écris du code idiomatique avec Cats, ZIO ou Akka, teste via ScalaCheck et une approche basée sur les propriétés et livre du code que votre équipe peut lire et faire évoluer. Parlez-moi du débit nécessaire et des contraintes — je suggérerai une approche et un calendrier réaliste.
— Services backend fonctionnels en Scala (Cats, ZIO)
— Acteurs Akka et Akka Streams pour des systèmes distribués concurrents
— APIs REST et gRPC avec des domaines typés testables
— Pipelines de big data et ETL sur Spark et Kafka
— PostgreSQL, Cassandra et stockage basé sur des événements
— Tests basés sur les propriétés et configuration CI JVM