Hoppa till innehåll
BigTree108

Tjänster inom Scala-utveckling

Scala-utveckling för dataflöden i Apache Spark, backend för fintech och handel, plattformar för adtech och analys, händelsedrivna tjänster på Akka, Apache Pekko, ZIO eller Cats Effect, Play-applikationer och flytt från Scala 2 till Scala 3, med dedikerade Scala-utvecklare till ert team eller ett Scala-projekt som levereras från start till mål.

Vad vi bygger med Scala

  • Apache Spark-jobb i Scala

    Batch- och streamingjobb på Spark 4 i Scala 2.13, med typade Datasets och Spark SQL över Delta Lake- eller Apache Iceberg-tabeller på Databricks, Amazon EMR eller Kubernetes, partitionerade och trimmade så att varje körning ryms inom sitt tidsfönster och sin budget.

  • Tjänster för handel, betalningar och risk

    Tjänster för betalningar, huvudbok, prissättning och risk med oföränderliga domänmodeller, sealed types och uttömmande matchningar över varje tillstånd en transaktion kan nå, BigDecimal för pengar och ett revisionsspår för varje ändring.

  • System på Akka och Apache Pekko

    Aktörsbaserade tjänster, kluster, event sourcing och strömmar med back-pressure på Akka under dess kommersiella licens, eller på Apache Pekko, den Apache-licensierade forken av Akka 2.6, med persistens på PostgreSQL eller Cassandra.

  • Funktionella tjänster på ZIO och Cats Effect

    HTTP- och gRPC-tjänster på ZIO 2 eller Cats Effect 3 med http4s, Tapir eller ZIO HTTP, Doobie eller Skunk över PostgreSQL samt fs2 eller ZIO Streams, med effekter, fel och resurser spårade i typerna.

  • Kafka-streaming i Scala

    Producenter, konsumenter och strömprocessorer på fs2-kafka, zio-kafka, Kafka Streams eller Pekko Connectors, med Avro- eller Protobuf-kontrakt i ett schemaregister, idempotenta skrivningar, omförsök och dead-letter-topics.

  • Dataflöden för budgivning och attribuering inom adtech

    Realtidsbudgivning, attribuering och publikflöden som tar emot händelser i stora volymer, med aggregering i Spark eller ClickHouse och API:er som svarar inom den tid en budförfrågan tillåter.

  • Applikationer i Play Framework

    Webbapplikationer och API:er på Play 3, som körs på Pekko, och Play 2-applikationer på Akka som flyttats över till det, med Slick eller Anorm för dataåtkomst och Twirl-mallar eller en separat frontend för sidorna.

  • Flytt från Scala 2 till Scala 3

    Kod i Scala 2.12 och 2.13 flyttad till Scala 3.9, den aktuella versionen med långtidssupport, modul för modul med kompilatorns migreringsläge och Scalafix-omskrivningar, medan Spark-jobb ligger kvar på Scala 2.13 så länge Spark är byggt på den.

  • Byggen, tester och beroendeuppdateringar i Scala

    Byggen med sbt 2 eller Mill som kan återskapas från en ren utcheckning, sviter i MUnit eller ScalaTest med ScalaCheck-egenskaper, Scalafmt och Scalafix i pipelinen samt Scala Steward som öppnar en pull request för varje beroendeuppdatering.

Anlita Scala-utvecklare

  • Dedikerade Scala-utvecklare

    Scala-utvecklare som går med i ert team på heltid, arbetar i era repositories, ert ärendesystem och era möten och rapporterar till er teamledare. Ni intervjuar dem; vi står för det ukrainska avtalet, lönen, faktureringen och ledigheten.

  • Scala-projektleverans

    Ett team som tar Scala-projektet från omfång till release: uppskattning, utveckling, tester och driftsättning, med en teknisk ledare hos oss som äger planen och kvaliteten.

  • Scala-support och övertaganden

    Ett befintligt Scala-system som övertas från ett annat team eller hålls igång: först en skrivskyddad genomgång och en skriftlig riskförteckning, sedan rättningar och nya funktioner i ordning efter effekt.

Sidan om dedikerade team förklarar hur specialister går med i ert team, och sidan om outsourcing beskriver projektleverans, övertaganden och hur vi debiterar.

Vilka som arbetar i ert Scala-projekt

  • Scala-utvecklare

    Spark-jobb och tjänster på Akka, Pekko, ZIO eller Cats Effect

  • Dataingenjörer

    Lakehouse-tabeller, orkestrering och datakvalitet

  • Java-ingenjörer

    JVM-tjänster vid sidan av Scala-koden

  • Moln- och DevOps-ingenjörer

    Kubernetes, Spark-kluster och pipelines

  • QA-ingenjörer

    Automation av API-, data- och belastningstester

Så arbetar vi med Scala

Oföränderliga data och uttömmande mönstermatchning, så att kompilatorn pekar ut de fall en ändring glömmer; fel och effekter i typerna i stället för i kastade undantag; Scalafmt och Scalafix i pipelinen och ett bygge som slutar med noll varningar; samt beroenden som hålls aktuella, med säkerhetsvarningar behandlade som ovillkorliga uppgraderingar.

I en befintlig kodbas följer vi dess stil, oavsett om det är funktionell Scala på Cats Effect eller ZIO, aktörer på Akka eller Pekko eller Scala skriven nära Java, och höjer standarden en ändring i taget. Utvecklarna arbetar i era kodförvar, er tracker och er process, och allt de skriver överlåts till er.

Andra språk vi arbetar i

Översikt: Programmeringsspråk

Frågor om Scala-utveckling

Vilka branscher bygger ni Scala-system för?

Data- och analysplattformar (Spark-flöden, lakehouses och rapportering), fintech, bank och handel (betalnings-, risk- och prissättningstjänster), e-handel och marknadsplatser (rekommendationer, sök och orderhantering), adtech och marknadsföring (budgivning, attribuering och publikdata), företagsmjukvara och SaaS samt industri- och energiföretag som bearbetar sensor- och mätardata.

Akka eller Apache Pekko?

Båda går. Apache Pekko är den Apache-licensierade forken av Akka 2.6 och basen för Play 3; Akka fortsätter under sin kommersiella licens. En flytt från Akka 2.6 till Pekko är mest en ändring av paketnamn, konfigurationsnycklar och beroenden, gjord modul för modul med tester som körs efter varje steg.

Kan ni flytta vår Scala 2-kod till Scala 3?

Ja. Bibliotek och tjänster flyttas modul för modul, där kompilatorns migreringsläge och Scalafix gör de mekaniska omskrivningarna, implicits blir given-instanser och extension methods, och makron skrivs om för Scala 3-metaprogrammering. Kod som Spark kör ligger kvar på Scala 2.13 så länge Spark är byggt med den.

Hur snabbt kan Scala-utvecklare börja?

När rätt Scala-utvecklare finns tillgänglig styrs starten bara av er intervju samt NDA och IP-överlåtelse. Annars gör vi en sökning, som vanligtvis ger kandidatprofiler inom två till tre veckor, och ingen börjar förrän ni har sagt ja.

Hur anlitar vi Scala-utvecklare via BigTree108?

Berätta om arbetet, senioriteten och de timmar ni behöver. Vi föreslår en eller två personer med deras profiler, ni intervjuar dem på samma sätt som ni skulle intervjua en egen anställning, och ni skriver under ett avtal med BIG TREE 108 LLC och får en faktura i månaden.

Vem äger arbetet de producerar?

Det gör ni. Varje specialist har ett undertecknat avtal med BigTree108 som överlåter allt arbetsresultat till bolaget, och vårt avtal med er överlåter det vidare. Kod, designer och dokument levereras in i era egna repositories och verktyg, inte på ett ställe där bara vi kan ändra dem.

Behöver ni Scala-utvecklare?

Berätta om systemet, Scala-versionen och de bibliotek det körs på. Ni får svar inom en arbetsdag: kandidatprofiler eller en plan för arbetet.