Zum Inhalt springen
BigTree108

Scala-Entwicklung

Scala-Entwicklung für Apache-Spark-Datenpipelines, Backends für Fintech und Trading, Adtech- und Analytics-Plattformen, ereignisgesteuerte Services auf Akka, Apache Pekko, ZIO oder Cats Effect, Play-Anwendungen und den Umstieg von Scala 2 auf Scala 3, mit dedizierten Scala-Entwicklern für Ihr Team oder einem komplett von uns umgesetzten Scala-Projekt.

Was wir mit Scala bauen

  • Apache-Spark-Jobs in Scala

    Batch- und Streaming-Jobs auf Spark 4 in Scala 2.13, mit typisierten Datasets und Spark SQL über Delta-Lake- oder Apache-Iceberg-Tabellen auf Databricks, Amazon EMR oder Kubernetes, partitioniert und abgestimmt, sodass jeder Lauf in sein Zeitfenster und sein Budget passt.

  • Services für Trading, Zahlungen und Risiko

    Services für Zahlungen, Hauptbuch, Preisbildung und Risiko mit unveränderlichen Domänenmodellen, Sealed Types und erschöpfenden Matches über jeden Zustand, den eine Transaktion erreichen kann, BigDecimal für Geld und einem Audit-Trail für jede Änderung.

  • Akka- und Apache-Pekko-Systeme

    Aktorbasierte Services, Cluster, Event Sourcing und Streams mit Back-Pressure auf Akka unter seiner kommerziellen Lizenz oder auf Apache Pekko, dem unter Apache-Lizenz stehenden Fork von Akka 2.6, mit Persistenz auf PostgreSQL oder Cassandra.

  • Funktionale Services auf ZIO und Cats Effect

    HTTP- und gRPC-Services auf ZIO 2 oder Cats Effect 3 mit http4s, Tapir oder ZIO HTTP, Doobie oder Skunk über PostgreSQL sowie fs2 oder ZIO Streams, mit Effekten, Fehlern und Ressourcen, die in den Typen nachverfolgt werden.

  • Kafka-Streaming in Scala

    Producer, Consumer und Stream-Prozessoren auf fs2-kafka, zio-kafka, Kafka Streams oder Pekko Connectors, mit Avro- oder Protobuf-Verträgen in einer Schema Registry, idempotenten Schreibvorgängen, Wiederholungen und Dead-Letter-Topics.

  • Adtech-Pipelines für Bidding und Attribution

    Pipelines für Real-Time-Bidding, Attribution und Zielgruppen, die Events in hohem Volumen aufnehmen, mit Aggregation in Spark oder ClickHouse und APIs, die innerhalb der Zeit antworten, die eine Bid Request erlaubt.

  • Play-Framework-Anwendungen

    Webanwendungen und APIs auf Play 3, das auf Pekko läuft, und Play-2-Anwendungen auf Akka, die darauf umgestellt werden, mit Slick oder Anorm für den Datenzugriff und Twirl-Templates oder einem separaten Frontend für die Seiten.

  • Umstieg von Scala 2 auf Scala 3

    Scala-2.12- und Scala-2.13-Code, auf Scala 3.9 gebracht, das aktuelle Release mit Langzeitunterstützung, Modul für Modul mit dem Migrationsmodus des Compilers und Scalafix-Umschreibungen, während Spark-Jobs auf Scala 2.13 bleiben, solange Spark darauf aufbaut.

  • Scala-Builds, Tests und Abhängigkeits-Updates

    sbt-2- oder Mill-Builds, die sich aus einem sauberen Checkout reproduzieren lassen, MUnit- oder ScalaTest-Suites mit ScalaCheck-Properties, Scalafmt und Scalafix in der Pipeline und Scala Steward, der für jedes Abhängigkeits-Update einen Pull Request öffnet.

Scala-Entwickler einstellen

  • Dedizierte Scala-Entwickler

    Scala-Entwickler, die in Vollzeit zu Ihrem Team gehören, in Ihren Repositories, Ihrem Tracker und Ihren Meetings arbeiten und an Ihren Lead berichten. Sie führen die Interviews; wir tragen den ukrainischen Vertrag, die Gehaltsabrechnung, die Rechnungsstellung und den Urlaub.

  • Projektumsetzung mit Scala

    Ein Team, das das Scala-Projekt vom Scope bis zum Release führt: Schätzung, Umsetzung, Tests und Deployment, mit einem Tech Lead auf unserer Seite, der Plan und Qualität verantwortet.

  • Support und Übernahmen für Scala

    Ein bestehendes Scala-System, das von einem anderen Team übernommen oder am Laufen gehalten wird: zuerst eine rein lesende Prüfung und eine schriftliche Risikoliste, dann Fixes und neue Funktionen in der Reihenfolge ihrer Wirkung.

Die Seite zum dedizierten Team erklärt, wie Spezialisten zu Ihrem Team stoßen, und die Seite zum Outsourcing behandelt Projektlieferung, Übernahmen und unsere Abrechnung.

Wer an Ihrem Scala-Projekt arbeitet

  • Scala-Entwickler

    Spark-Jobs und Services auf Akka, Pekko, ZIO oder Cats Effect

  • Data Engineers

    Lakehouse-Tabellen, Orchestrierung und Datenqualität

  • Java-Entwickler

    JVM-Services neben dem Scala-Code

  • Cloud- und DevOps-Ingenieure

    Kubernetes, Spark-Cluster und Pipelines

  • QA-Ingenieure

    Automatisierung von API-, Daten- und Lasttests

Wie wir an Scala arbeiten

Unveränderliche Daten und erschöpfendes Pattern Matching, damit der Compiler die Fälle benennt, die eine Änderung vergisst; Fehler und Effekte in den Typen statt in geworfenen Exceptions; Scalafmt und Scalafix in der Pipeline und ein Build, der ohne Warnungen endet; und Abhängigkeiten auf aktuellem Stand, wobei eine Sicherheitsmeldung ein bedingungsloser Anlass zum Upgrade ist.

Bei einer bestehenden Codebasis folgen wir ihrem Stil, ob funktionales Scala auf Cats Effect oder ZIO, Aktoren auf Akka oder Pekko oder Scala nahe an Java, und heben den Standard Änderung für Änderung an. Die Entwickler arbeiten in Ihren Repositories, Ihrem Tracker und Ihrem Prozess, und alles, was sie schreiben, wird an Sie übertragen.

Weitere Sprachen, in denen wir arbeiten

Übersicht über Programmiersprachen

Fragen zur Scala-Entwicklung

Für welche Branchen bauen Sie Scala-Systeme?

Daten- und Analytics-Plattformen (Spark-Pipelines, Lakehouses und Reporting), Fintech, Banking und Trading (Zahlungs-, Risiko- und Preisbildungs-Services), E-Commerce und Marktplätze (Empfehlungen, Suche und Bestell-Services), Adtech und Marketing (Bidding, Attribution und Zielgruppendaten), Unternehmenssoftware und SaaS sowie Industrie- und Energieunternehmen, die Sensor- und Zählerdaten verarbeiten.

Akka oder Apache Pekko?

Beides. Apache Pekko ist der unter Apache-Lizenz stehende Fork von Akka 2.6 und die Basis von Play 3; Akka wird unter seiner kommerziellen Lizenz weitergeführt. Ein Umstieg von Akka 2.6 auf Pekko ist überwiegend eine Änderung von Paketnamen, Konfigurationsschlüsseln und Abhängigkeiten, Modul für Modul vorgenommen, mit Tests, die nach jedem Schritt laufen.

Können Sie unseren Scala-2-Code auf Scala 3 umstellen?

Ja. Bibliotheken und Services werden Modul für Modul umgestellt, wobei der Migrationsmodus des Compilers und Scalafix die mechanischen Umschreibungen übernehmen, Implicits zu Given-Instanzen und Extension Methods werden und Makros für die Scala-3-Metaprogrammierung neu geschrieben werden. Code, den Spark ausführt, bleibt auf Scala 2.13, solange Spark damit gebaut ist.

Wie schnell können Scala-Entwickler starten?

Steht für die Position Scala-Entwickler eine passende Person zur Verfügung, hängt der Start nur von Ihrem Interview sowie von NDA und IP-Übertragung ab. Andernfalls starten wir eine Suche, die typischerweise innerhalb von zwei bis drei Wochen Kandidatenprofile liefert, und niemand beginnt, bevor Sie zugestimmt haben.

Wie stellen wir Scala-Entwickler über BigTree108 ein?

Nennen Sie uns die Aufgabe, die Seniorität und die benötigten Stunden. Wir schlagen ein oder zwei Personen mit ihren Profilen vor, Sie führen die Interviews so, wie Sie Ihre eigene Neueinstellung interviewen würden, unterzeichnen einen Vertrag mit BIG TREE 108 LLC und erhalten eine Rechnung im Monat.

Wem gehören die Arbeitsergebnisse?

Sie. Jeder Spezialist hat einen unterzeichneten Vertrag mit BigTree108, der alle Arbeitsergebnisse dem Unternehmen überträgt, und unser Vertrag mit Ihnen überträgt sie an Sie weiter. Code, Designs und Dokumente werden in Ihre eigenen Repositories und Tools geliefert und nicht dort aufbewahrt, wo nur wir sie ändern können.

Benötigen Sie Scala-Entwickler?

Nennen Sie uns das System, die Scala-Version und die Bibliotheken, auf denen es läuft. Sie erhalten innerhalb eines Werktags eine Antwort: Kandidatenprofile oder einen Plan für die Arbeit.