Services de développement Scala
Services de développement Scala pour les pipelines de données Apache Spark, les back-ends fintech et de trading, les plateformes adtech et d’analytique, les services événementiels sur Akka, Apache Pekko, ZIO ou Cats Effect, les applications Play et les migrations de Scala 2 vers Scala 3, avec des développeurs Scala dédiés à votre équipe ou un projet Scala livré de bout en bout.
Ce que nous réalisons avec Scala
Jobs Apache Spark en Scala
Jobs batch et streaming sur Spark 4 en Scala 2.13, avec Datasets typés et Spark SQL sur des tables Delta Lake ou Apache Iceberg sur Databricks, Amazon EMR ou Kubernetes, partitionnés et réglés pour que chaque exécution tienne dans sa fenêtre et son budget.
Services de trading, de paiement et de risque
Services de paiement, de grand livre, de tarification et de risque avec modèles de domaine immuables, types scellés et correspondances exhaustives sur tous les états qu’une transaction peut atteindre, BigDecimal pour l’argent et piste d’audit de chaque modification.
Systèmes Akka et Apache Pekko
Services à base d’acteurs, clusters, event sourcing et flux avec contre-pression sur Akka sous sa licence commerciale, ou sur Apache Pekko, le fork d’Akka 2.6 sous licence Apache, avec persistance sur PostgreSQL ou Cassandra.
Services fonctionnels sur ZIO et Cats Effect
Services HTTP et gRPC sur ZIO 2 ou Cats Effect 3 avec http4s, Tapir ou ZIO HTTP, Doobie ou Skunk sur PostgreSQL, et fs2 ou ZIO Streams, avec effets, erreurs et ressources suivis dans les types.
Streaming Kafka en Scala
Producteurs, consommateurs et processeurs de flux sur fs2-kafka, zio-kafka, Kafka Streams ou Pekko Connectors, avec contrats Avro ou Protobuf dans un schema registry, écritures idempotentes, nouvelles tentatives et dead-letter topics.
Pipelines d’enchères et d’attribution adtech
Pipelines d’enchères en temps réel, d’attribution et d’audience qui ingèrent des événements à fort volume, avec agrégation dans Spark ou ClickHouse et API qui répondent dans le délai qu’autorise une requête d’enchère.
Applications Play Framework
Applications web et API sur Play 3, qui tourne sur Pekko, et applications Play 2 sur Akka migrées vers lui, avec Slick ou Anorm pour l’accès aux données et templates Twirl ou front-end séparé pour les pages.
Migration de Scala 2 vers Scala 3
Code Scala 2.12 et 2.13 migré vers Scala 3.9, la version actuelle à support long terme, module par module avec le mode de migration du compilateur et les réécritures Scalafix, tandis que les jobs Spark restent sur Scala 2.13 tant que Spark est construit dessus.
Builds, tests et mises à jour de dépendances Scala
Builds sbt 2 ou Mill reproductibles depuis un checkout propre, suites MUnit ou ScalaTest avec propriétés ScalaCheck, Scalafmt et Scalafix dans le pipeline, et Scala Steward ouvrant une pull request pour chaque mise à jour de dépendance.
Recruter des développeurs Scala
développeurs Scala dédiés
Des Développeurs Scala qui rejoignent votre équipe à temps plein, travaillent dans vos dépôts, votre outil de suivi et vos réunions, et rendent compte à votre responsable. Vous les interviewez ; nous portons le contrat ukrainien, la paie, la facturation et les congés.
Réalisation de projets Scala
Une équipe qui prend en charge le projet Scala du cadrage à la mise en production : estimation, développement, tests et déploiement, avec un responsable technique de notre côté qui porte le plan et la qualité.
Support et reprise de systèmes Scala
Un système Scala existant repris d’une autre équipe ou maintenu en fonctionnement : d’abord une revue en lecture seule et une liste écrite des risques, puis des correctifs et de nouvelles fonctionnalités par ordre d’impact.
La page Équipe dédiée explique comment les spécialistes rejoignent votre équipe, et la page Externalisation couvre la livraison de projet, les reprises et notre mode de facturation.
Qui travaille sur votre projet Scala
développeurs Scala
Jobs Spark et services sur Akka, Pekko, ZIO ou Cats Effect
Ingénieurs data
Tables lakehouse, orchestration et qualité des données
Ingénieurs Java
Services JVM à côté du code Scala
Ingénieurs cloud et DevOps
Kubernetes, clusters Spark et pipelines
Ingénieurs QA
Automatisation des tests d’API, de données et de charge
Notre façon de travailler sur Scala
Données immuables et pattern matching exhaustif, de sorte que le compilateur nomme les cas qu’un changement oublie ; erreurs et effets dans les types plutôt que dans des exceptions levées ; Scalafmt et Scalafix dans le pipeline et un build qui se termine sans aucun avertissement ; et dépendances tenues à jour, une alerte de sécurité entraînant systématiquement une mise à jour.
Sur une base de code existante, nous suivons son style, qu’il s’agisse de Scala fonctionnel sur Cats Effect ou ZIO, d’acteurs sur Akka ou Pekko, ou de Scala écrit proche de Java, et nous élevons le niveau un changement à la fois. Les développeurs travaillent dans vos dépôts, votre outil de suivi et votre processus, et tout ce qu’ils écrivent vous est cédé.
Autres langages dans lesquels nous travaillons
Développement Java
Services de développement Java : microservices Spring Boot, systèmes bancaires et de paiement, backends e-commerce et SaaS, intégrations Kafka et modernisation de systèmes legacy, avec des développeurs Java dédiés ou une livraison de projet.
Développement Node.js
Services de développement Node.js : API TypeScript, backends e-commerce et SaaS, intégrations fintech, fonctionnalités temps réel et de streaming et fonctions serverless, avec des développeurs Node.js dédiés ou une livraison de projet.
Développement PHP
Services de développement PHP : applications Laravel et Symfony, e-commerce sur Magento, Shopware et WooCommerce, API, WordPress et Drupal, et montées de version PHP, avec des développeurs PHP dédiés ou une livraison de projet.
Développement C et C++
Services de développement C et C++ : firmware embarqué, logiciels de bureau Qt, logiciels réseau et télécoms, systèmes à faible latence, logiciels de sécurité et modernisation de code C++, avec des développeurs C++ dédiés ou une livraison de projet.
Développement Go
Services de développement Go : microservices et API Golang, backends fintech et SaaS, opérateurs Kubernetes, pipelines d’événements et logiciels réseau et de sécurité, avec des développeurs Go dédiés ou une livraison de projet.
Développement Kotlin et Android
Services de développement d’applications Android en Kotlin et Jetpack Compose pour des applications bancaires, médias, d’achat et de santé, ainsi que Kotlin Multiplatform et des backends Ktor, avec des développeurs Kotlin dédiés ou une livraison de projet.
Développement Rust
Services de développement Rust : services backend et API, blockchain et Web3, logiciels de systèmes et d’infrastructure, outils de sécurité, firmware embarqué et WebAssembly, avec des développeurs Rust dédiés ou une livraison de projet.
Développement Swift et iOS
Services de développement d’applications iOS en Swift et SwiftUI : applications bancaires, d’achat, médias et de santé, applications Apple Watch et Vision Pro, maintenance d’Objective-C et publications sur l’App Store, avec des développeurs iOS dédiés ou une livraison de projet.
Développement TypeScript
Services de développement TypeScript : front ends Angular, React et Vue, backends Node.js, applications full-stack, monorepos et migrations de JavaScript vers TypeScript, avec des développeurs TypeScript dédiés ou une livraison de projet.
Questions sur le développement Scala
Pour quels secteurs développez-vous des systèmes Scala ?
Plateformes de données et d’analytique (pipelines Spark, lakehouses et reporting), fintech, banque et trading (services de paiement, de risque et de tarification), e-commerce et marketplaces (recommandations, recherche et services de commande), adtech et marketing (enchères, attribution et données d’audience), logiciels d’entreprise et SaaS, et industriels et énergéticiens traitant des données de capteurs et de compteurs.
Akka ou Apache Pekko ?
L’un ou l’autre. Apache Pekko est le fork d’Akka 2.6 sous licence Apache et la base de Play 3 ; Akka se poursuit sous sa licence commerciale. Passer d’Akka 2.6 à Pekko consiste surtout à changer des noms de packages, des clés de configuration et des dépendances, module par module, en exécutant les tests après chacun.
Pouvez-vous migrer notre code Scala 2 vers Scala 3 ?
Oui. Les bibliothèques et les services migrent module par module, avec le mode de migration du compilateur et Scalafix pour les réécritures mécaniques, les implicits transformés en instances given et en méthodes d’extension, et les macros réécrites pour la métaprogrammation de Scala 3. Le code exécuté par Spark reste en Scala 2.13 tant que Spark est construit avec.
En combien de temps les développeurs Scala peuvent-ils démarrer ?
Lorsque le bon développeur Scala est disponible, le démarrage ne dépend que de votre entretien, du NDA et de la cession de propriété intellectuelle. Sinon, nous lançons une recherche, qui fournit en général des profils de candidats sous deux à trois semaines, et personne ne démarre avant que vous ayez donné votre accord.
Comment recruter des développeurs Scala via BigTree108 ?
Indiquez-nous le travail à réaliser, le niveau de séniorité et les horaires dont vous avez besoin. Nous vous proposons une ou deux personnes avec leurs profils, vous les interviewez comme vous le feriez pour votre propre recrutement, puis vous signez un seul contrat avec BIG TREE 108 LLC et recevez une facture par mois.
À qui appartient le travail qu’ils produisent ?
C’est vous. Chaque spécialiste a signé avec BigTree108 un contrat qui cède à l’entreprise tous les livrables, et notre contrat avec vous vous les cède à son tour. Le code, les maquettes et les documents sont livrés dans vos propres dépôts et outils, et non conservés à un endroit où nous seuls pourrions les modifier.
Besoin de développeurs Scala ?
Indiquez-nous le système, la version de Scala et les bibliothèques sur lesquelles il repose. Vous recevez une réponse sous un jour ouvré : des profils de candidats ou un plan pour le travail.