Quattro aree di pratica. Un solo modo di lavorare.
Non vendiamo discovery sprint, audit o design system come prodotti a sé stanti. Lavoriamo su software di produzione, dall’inizio alla fine, finché non è spedito. Sotto trovate il tipo di lavoro che facciamo più spesso e come lo affrontiamo.
Backend e sistemi distribuiti
Cosa facciamo
Sistemi backend di produzione che devono essere corretti sotto carico e in on-call. Rail di pagamento, motori di smistamento, pipeline di adjudication sinistri, data plane multi-tenant. Lavoriamo principalmente in Rust, Go e TypeScript, con Postgres come default. Siamo a nostro agio in Java e Python quando lo richiede il codebase esistente.
Come lo affrontiamo
Iniziamo sedendoci con le persone che attualmente operano il sistema. La prima settimana di solito è leggere runbook, guardare incidenti e tracciare una vera richiesta dall’edge al database e ritorno. Cerchiamo i contratti impliciti — le cose che il sistema fa che nessuno ha scritto. Poi costruiamo, a piccoli incrementi, con il diff-against-legacy harness sempre in esecuzione. Evitiamo transazioni distribuite e consensus esotico quando lo stesso problema può essere risolto con un vincolo di unicità e un apply idempotente.
Stack che usiamo
Rust · Go · TypeScript / Node · Postgres · Kafka · NATS · AWS / GCP
Esempio — Northwind Freight: un motore di smistamento continentale, ricostruito senza downtime →
Mobile — iOS e Android
Cosa facciamo
Applicazioni iOS e Android native, con un focus particolare sul software d’uso sul campo: terminali palmari in un magazzino, clinical workflow su tablet al letto del paziente, strumenti dispatcher in un veicolo. Trattiamo l’offline come stato di default e l’online come ottimizzazione, non viceversa.
Come lo affrontiamo
Scriviamo Swift e Kotlin nativi. Non usiamo React Native a meno che non lo stiate già usando e cambiare sarebbe più dirompente del mantenerlo. Disegniamo il motore di sync prima della UI; rendiamo ogni mutation enqueuable e ispezionabile; costruiamo la superficie di debug “perché la mia schermata è desincronizzata” prima di averne bisogno. Quando abbiamo finito potete consegnare il codebase a uno o due dei vostri ingegneri e potranno spedire la prossima feature.
Stack che usiamo
Swift · Kotlin · SwiftUI · Jetpack Compose · SQLite / Room · GraphQL · Bluetooth LE
Esempio — Lumen Care: uno strumento di handoff che gli infermieri usano davvero in turno →
Infrastruttura e piattaforme
Cosa facciamo
Pipeline di deployment, observability e lavoro di developer-experience per team di ingegneria tra circa dieci e centoventi persone. Deployment di produzione multi-region, rotazioni on-call che non bruciano lo staff engineer, piattaforme interne per sviluppatori più piccole di un’installazione Backstage ma più grandi di un wiki.
Come lo affrontiamo
Non installiamo Kubernetes a meno che non lo stiate già operando bene. La maggior parte dei nostri progetti infrastrutturali finisce con meno servizi in esecuzione di quanti ce ne fossero all’inizio, non di più. Misuriamo il successo per cambi a settimana, tempo al deploy e dimensione della rotazione on-call — non per adozione di un particolare tool. Se vi lasciamo su tre istanze EC2 e un RDS, va bene.
Stack che usiamo
Terraform · AWS / GCP · Tailscale · Buildkite · OpenTelemetry · Honeycomb · Grafana
Esempio — Meridian Health: riconciliazione sinistri su quattro contratti Medicaid statali →
Ingegneria AI e ML
Cosa facciamo
Lavoro di produzione attorno a valutazione modelli, piattaforme di inference, sistemi di retrieval e la noiosa data engineering che siede sotto a tutto. Non siamo un laboratorio di ricerca; siamo gli ingegneri che prendono ciò che ha costruito il vostro team di ricerca e lo fanno girare ventiquattr’ore al giorno, con i numeri di latenza e costo che il vostro CFO può difendere.
Come lo affrontiamo
Trattiamo i modelli come componenti in un sistema. Il lavoro interessante è quasi sempre attorno a loro: pipeline di valutazione deterministiche, infrastruttura di replay, il confine tra output LLM e i sistemi deterministici che agiscono su di esso. Vi diremo se la risposta giusta è una query SQL e non un modello. Circa un terzo delle volte, lo è.
Stack che usiamo
Python · Ray · DuckDB / Arrow · pgvector · Modal · vLLM · OpenAI / Anthropic / locale
Esempio — Cresta ML: una pipeline di valutazione che finisce in 22 minuti, non 9 ore →
Cosa non facciamo
Non prendiamo progetti di solo audit. Non facciamo lavori di brand o sito marketing. Non firmiamo MSA con clausole arbitrali. Non fatturiamo a ore. Non lavoriamo white-label come estensione del vostro team senza il nostro nome sui commit.
Vi indirizzeremo volentieri a persone di cui ci fidiamo per qualunque delle cose sopra. C’è una breve lista di studi e individui a cui passiamo lavoro due o tre volte all’anno — chiedete e vi manderemo i nomi.