Naar de inhoud
BigTree108

Scala-ontwikkeling

Scala-ontwikkeling voor Apache Spark-datapijplijnen, back-ends voor fintech en handel, adtech- en analyticsplatforms, event-driven services op Akka, Apache Pekko, ZIO of Cats Effect, Play-applicaties en de overstap van Scala 2 naar Scala 3, met dedicated Scala-ontwikkelaars voor uw team of een Scala-project dat van begin tot eind wordt opgeleverd.

Wat wij bouwen met Scala

  • Apache Spark-jobs in Scala

    Batch- en streamingjobs op Spark 4 in Scala 2.13, met getypeerde Datasets en Spark SQL over Delta Lake- of Apache Iceberg-tabellen op Databricks, Amazon EMR of Kubernetes, gepartitioneerd en afgesteld zodat elke run binnen zijn tijdvenster en zijn budget past.

  • Handels-, betalings- en risicoservices

    Services voor betalingen, grootboek, prijsstelling en risico met onveranderlijke domeinmodellen, sealed types en volledige matches over elke toestand die een transactie kan bereiken, BigDecimal voor geld en een audittrail voor elke wijziging.

  • Akka- en Apache Pekko-systemen

    Op actoren gebaseerde services, clusters, event sourcing en streams met back-pressure op Akka onder zijn commerciële licentie, of op Apache Pekko, de fork van Akka 2.6 met Apache-licentie, met persistentie op PostgreSQL of Cassandra.

  • Functionele services op ZIO en Cats Effect

    HTTP- en gRPC-services op ZIO 2 of Cats Effect 3 met http4s, Tapir of ZIO HTTP, Doobie of Skunk over PostgreSQL, en fs2 of ZIO Streams, waarbij effecten, fouten en resources in de types worden bijgehouden.

  • Kafka-streaming in Scala

    Producers, consumers en streamprocessors op fs2-kafka, zio-kafka, Kafka Streams of Pekko Connectors, met Avro- of Protobuf-contracten in een schemaregister, idempotente schrijfacties, nieuwe pogingen en dead-letter-topics.

  • Bied- en attributiepijplijnen voor adtech

    Pijplijnen voor realtime bieden, attributie en doelgroepen die events in hoog volume verwerken, met aggregatie in Spark of ClickHouse en API’s die antwoorden binnen de tijd die een biedverzoek toestaat.

  • Play Framework-applicaties

    Webapplicaties en API’s op Play 3, dat op Pekko draait, en Play 2-applicaties op Akka die daarnaartoe zijn verplaatst, met Slick of Anorm voor gegevenstoegang en Twirl-sjablonen of een aparte front-end voor de pagina’s.

  • Overstappen van Scala 2 naar Scala 3

    Scala 2.12- en 2.13-code verplaatst naar Scala 3.9, de huidige release met langetermijnondersteuning, module voor module met de migratiemodus van de compiler en Scalafix-herschrijvingen, terwijl Spark-jobs op Scala 2.13 blijven zolang Spark daarop is gebouwd.

  • Scala-builds, -tests en bijwerken van afhankelijkheden

    sbt 2- of Mill-builds die reproduceerbaar zijn vanaf een schone checkout, MUnit- of ScalaTest-suites met ScalaCheck-properties, Scalafmt en Scalafix in de pijplijn, en Scala Steward die voor elke update van een afhankelijkheid een pull request opent.

Scala-ontwikkelaars inhuren

  • Dedicated Scala-ontwikkelaars

    Scala-ontwikkelaars die fulltime bij uw team komen, in uw repositories, tracker en vergaderingen werken en aan uw lead rapporteren. U interviewt hen; wij dragen het Oekraïense contract, de salarisadministratie, de facturatie en het verlof.

  • Uitvoering van Scala-projecten

    Een team dat het Scala-project van scope tot release brengt: schatting, bouw, tests en deployment, met een technical lead aan onze kant die het plan en de kwaliteit bewaakt.

  • Scala-support en overnames

    Een bestaand Scala-systeem dat van een ander team is overgenomen of draaiend wordt gehouden: eerst een review in leesmodus en een schriftelijke lijst met risico’s, daarna oplossingen en nieuwe functies in volgorde van impact.

De pagina dedicated team legt uit hoe specialisten bij uw team komen, en de pagina outsourcing behandelt projectoplevering, overnames en hoe wij rekenen.

Wie aan uw Scala-project werkt

  • Scala-ontwikkelaars

    Spark-jobs en services op Akka, Pekko, ZIO of Cats Effect

  • Data-engineers

    Lakehouse-tabellen, orkestratie en datakwaliteit

  • Java-engineers

    JVM-services naast de Scala-code

  • Cloud- en DevOps-engineers

    Kubernetes, Spark-clusters en pijplijnen

  • QA-engineers

    API-, data- en belastingtestautomatisering

Hoe wij aan Scala werken

Onveranderlijke gegevens en volledige patroonherkenning, zodat de compiler de gevallen noemt die een wijziging vergeet; fouten en effecten in de types in plaats van in gegooide excepties; Scalafmt en Scalafix in de pijplijn en een build die eindigt met nul waarschuwingen; en afhankelijkheden die actueel blijven, waarbij een beveiligingsadvies een onvoorwaardelijke upgrade is.

In een bestaande codebase volgen wij de stijl, of dat nu functionele Scala op Cats Effect of ZIO is, actoren op Akka of Pekko, of Scala dicht bij Java, en verhogen wij de lat wijziging voor wijziging. Ontwikkelaars werken in uw repositories, uw tracker en uw proces, en alles wat zij schrijven wordt aan u overgedragen.

Andere talen waarin wij werken

Overzicht van Programmeertalen

Vragen over Scala-ontwikkeling

Voor welke branches bouwt u Scala-systemen?

Data- en analyticsplatforms (Spark-pijplijnen, lakehouses en rapportage), fintech, bankieren en handel (betalings-, risico- en prijsservices), e-commerce en marktplaatsen (aanbevelingen, zoeken en bestelservices), adtech en marketing (bieden, attributie en doelgroepdata), enterprise software en SaaS, en industriële en energiebedrijven die sensor- en meterdata verwerken.

Akka of Apache Pekko?

Allebei. Apache Pekko is de fork van Akka 2.6 met Apache-licentie en de basis van Play 3; Akka gaat verder onder zijn commerciële licentie. De overstap van Akka 2.6 naar Pekko is vooral een wijziging van pakketnamen, configuratiesleutels en afhankelijkheden, module voor module doorgevoerd met de tests na elke stap.

Kunt u onze Scala 2-code naar Scala 3 verplaatsen?

Ja. Bibliotheken en services gaan module voor module over, met de migratiemodus van de compiler en Scalafix voor de mechanische herschrijvingen, implicits omgezet in given-instanties en extension methods, en macro’s herschreven voor de metaprogrammering van Scala 3. Code die Spark draait, blijft op Scala 2.13 zolang Spark daarmee is gebouwd.

Hoe snel kunnen Scala-ontwikkelaars beginnen?

Als de juiste Scala-ontwikkelaar beschikbaar is, hangt de start alleen af van uw interview en de NDA en IP-overdracht. Anders voeren wij een zoektocht uit, die doorgaans binnen twee tot drie weken kandidaatprofielen oplevert, en niemand begint voordat u ja hebt gezegd.

Hoe huren we Scala-ontwikkelaars in via BigTree108?

Vertel ons over het werk, het senioriteitsniveau en de uren die u nodig hebt. Wij stellen een of twee mensen voor met hun profielen, u interviewt hen zoals u uw eigen medewerker zou interviewen, en u tekent één overeenkomst met BIG TREE 108 LLC en ontvangt één factuur per maand.

Wie is eigenaar van het werk dat zij opleveren?

U. Elke specialist heeft een getekend contract met BigTree108 dat alle werkresultaten aan het bedrijf toewijst, en onze overeenkomst met u draagt ze verder aan u over. Code, ontwerpen en documenten worden geleverd in uw eigen repositories en tools, en niet bewaard op een plek waar alleen wij ze kunnen wijzigen.

Hebt u Scala-ontwikkelaars nodig?

Vertel ons het systeem, de Scala-versie en de bibliotheken waarop het draait. Binnen één werkdag hebt u antwoord: kandidaatprofielen of een plan voor het werk.