Přeskočit na obsah
BigTree108

Služby vývoje ve Scale

Služby vývoje ve Scale pro datové pipeline na Apache Spark, back endy fintechu a obchodování, adtechové a analytické platformy, událostmi řízené služby na Akka, Apache Pekko, ZIO či Cats Effect, aplikace v Play a přechody ze Scaly 2 na Scalu 3, s dedikovanými Scala vývojáři pro váš tým nebo s projektem ve Scale dodaným od začátku do konce.

Co stavíme v technologii Scala

  • Úlohy Apache Spark ve Scale

    Dávkové a streamové úlohy na Spark 4 ve Scale 2.13, s typovanými Datasety a Spark SQL nad tabulkami Delta Lake nebo Apache Iceberg na Databricks, Amazon EMR či Kubernetes, rozdělené na partitiony a vyladěné tak, aby se každý běh vešel do svého okna i rozpočtu.

  • Služby pro obchodování, platby a rizika

    Služby pro platby, hlavní knihy, oceňování a rizika s neměnnými doménovými modely, zapečetěnými typy a vyčerpávajícím porovnáváním se vzorem přes každý stav, kterého může transakce dosáhnout, BigDecimal pro peníze a auditní stopou každé změny.

  • Systémy na Akka a Apache Pekko

    Služby založené na aktorech, clustery, event sourcing a streamy s back-pressure na Akka pod její komerční licencí, nebo na Apache Pekko, forku Akka 2.6 s licencí Apache, s perzistencí na PostgreSQL či Cassandře.

  • Funkcionální služby na ZIO a Cats Effect

    Služby HTTP a gRPC na ZIO 2 nebo Cats Effect 3 s http4s, Tapir či ZIO HTTP, Doobie nebo Skunk nad PostgreSQL a fs2 nebo ZIO Streams, s efekty, chybami a zdroji sledovanými v typech.

  • Streamování přes Kafka ve Scale

    Producenti, konzumenti a stream procesory na fs2-kafka, zio-kafka, Kafka Streams nebo Pekko Connectors, s kontrakty v Avro nebo Protobuf ve schema registry, idempotentními zápisy, opakováním pokusů a dead-letter tématy.

  • Adtechové pipeline pro bidding a atribuci

    Pipeline pro real-time bidding, atribuci a publikum, které přijímají události ve vysokém objemu, s agregací ve Spark nebo ClickHouse a API, která odpoví v čase, jaký bid request dovoluje.

  • Aplikace v Play Framework

    Webové aplikace a API na Play 3, které běží na Pekko, a aplikace v Play 2 na Akka na něj převedené, se Slick nebo Anorm pro přístup k datům a šablonami Twirl nebo samostatným front endem pro stránky.

  • Přechod ze Scaly 2 na Scalu 3

    Kód ve Scale 2.12 a 2.13 převedený na Scalu 3.9, aktuální verzi s dlouhodobou podporou, modul po modulu pomocí migračního režimu kompilátoru a přepisů Scalafix, zatímco úlohy Spark zůstávají na Scale 2.13, dokud je na ní Spark postaven.

  • Buildy, testy a aktualizace závislostí ve Scale

    Buildy v sbt 2 nebo Mill, které jdou zopakovat z čistého checkoutu, sady MUnit nebo ScalaTest s vlastnostmi ScalaCheck, Scalafmt a Scalafix v pipeline a Scala Steward, který u každé aktualizace závislosti otevře pull request.

Scala vývojáři do vašeho týmu

  • Dedikovaní Scala vývojáři

    Scala vývojáři, kteří nastoupí do vašeho týmu na plný úvazek, pracují ve vašich repozitářích, trackeru a na vašich schůzkách a zodpovídají se vašemu vedoucímu. Pohovor s nimi vedete vy; my neseme ukrajinskou smlouvu, mzdy, fakturaci a dovolenou.

  • Realizace projektu v technologii Scala

    Tým, který provede projekt v technologii Scala od vymezení rozsahu po vydání: odhad, vývoj, testy a nasazení, s technickým vedoucím na naší straně, který odpovídá za plán a kvalitu.

  • Podpora a převzetí systémů v technologii Scala

    Stávající systém v technologii Scala převzatý od jiného týmu nebo udržovaný v chodu: nejprve revize jen pro čtení a písemný seznam rizik, pak opravy a nové funkce podle dopadu.

Stránka o dedikovaném týmu vysvětluje, jak se specialisté připojují k vašemu týmu, a stránka o outsourcingu pokrývá dodávku projektů, převzetí systémů a jak účtujeme.

Kdo pracuje na vašem projektu v technologii Scala

  • Scala vývojáři

    Úlohy Spark a služby na Akka, Pekko, ZIO nebo Cats Effect

  • Datoví inženýři

    Tabulky lakehouse, orchestrace a kvalita dat

  • Java inženýři

    Služby na JVM vedle kódu ve Scale

  • Cloud a DevOps inženýři

    Kubernetes, clustery Spark a pipeline

  • QA inženýři

    Automatizace testů API, dat a zátěže

Jak pracujeme ve Scale

Neměnná data a vyčerpávající porovnávání se vzorem, takže kompilátor pojmenuje případy, na které změna zapomněla; chyby a efekty v typech, ne ve vyhazovaných výjimkách; Scalafmt a Scalafix v pipeline a build končící s nulou varování; a aktuální závislosti, přičemž bezpečnostní upozornění je bezpodmínečným důvodem k aktualizaci.

U stávající kódové základny dodržujeme její styl, ať jde o funkcionální Scalu na Cats Effect či ZIO, aktory na Akka nebo Pekko, nebo Scalu psanou blízko Javě, a úroveň zvyšujeme po jedné změně. Vývojáři pracují ve vašich repozitářích, vašem trackeru a vašem procesu a vše, co napíšou, se postupuje vám.

Další jazyky, ve kterých pracujeme

Přehled: Programovací jazyky

Otázky k vývoji v technologii Scala

Pro jaké obory vytváříte systémy ve Scale?

Datové a analytické platformy (pipeline Spark, lakehouse a reporting), fintech, bankovnictví a obchodování (platební, rizikové a cenotvorné služby), e-commerce a marketplacy (doporučování, vyhledávání a služby objednávek), adtech a marketing (bidding, atribuce a data o publiku), podnikový software a SaaS a průmyslové a energetické firmy zpracovávající data ze senzorů a měřidel.

Akka, nebo Apache Pekko?

Obojí. Apache Pekko je fork Akka 2.6 s licencí Apache a základ Play 3; Akka pokračuje pod komerční licencí. Přechod z Akka 2.6 na Pekko je většinou změna názvů balíčků, konfiguračních klíčů a závislostí, prováděná modul po modulu s testy spuštěnými po každém z nich.

Dokážete převést náš kód ze Scaly 2 na Scalu 3?

Ano. Knihovny a služby se převádějí modul po modulu, přičemž mechanické přepisy dělá migrační režim kompilátoru a Scalafix, implicity se mění na given instance a extension metody a makra se přepisují pro metaprogramování Scaly 3. Kód, který spouští Spark, zůstává na Scale 2.13, dokud je na ní Spark sestaven.

Jak rychle mohou nastoupit Scala vývojáři?

Když je k dispozici ten pravý Scala vývojář, začátek brzdí jen váš pohovor, NDA a převod práv duševního vlastnictví. Jinak vedeme hledání, které obvykle přinese profily kandidátů do dvou až tří týdnů, a nikdo nenastoupí, dokud neřeknete ano.

Jak probíhá najímání přes BigTree108 (role: Scala vývojáři)?

Řekněte nám, jakou práci, jakou seniority a kolik hodin potřebujete. Navrhneme jednoho nebo dva lidi s jejich profily, pohovoříte s nimi stejně jako s vlastním zaměstnancem a podepíšete jednu smlouvu s BIG TREE 108 LLC a budete dostávat jednu fakturu měsíčně.

Komu patří práce, kterou vytvářejí?

Vám. Každý specialista má podepsanou smlouvu s BigTree108, která převádí všechny výsledky práce na společnost, a naše smlouva s vámi je převádí dál. Kód, návrhy a dokumenty se dodávají do vašich vlastních repozitářů a nástrojů, ne do míst, kde je můžeme měnit jen my.

Potřebujete Scala vývojáře?

Sdělte nám systém, verzi Scaly a knihovny, na kterých běží. Do jednoho pracovního dne dostanete odpověď: profily kandidátů nebo plán práce.