Informazioni sul servizio
TradottoSono uno sviluppatore Haskell e scrivo servizi server che sono corretti per costruzione, non per caso. Il mio approccio si basa sui punti di forza più grandi del linguaggio: potente sistema di tipi statici, purezza delle funzioni ed effetti espliciti. Quando modello il tuo dominio con tipi di dati algebrici e lascio che il compilatore rifiuti stati non validi, intere categorie di errori di runtime semplicemente smettono di esistere. Questo non è idealismo accademico, ma un modo pratico per spedire software che si comporta il venerdì sera allo stesso modo in cui lo ha fatto nei test, e che un nuovo membro del team può rifattorizzare con fiducia perché i tipi li mantengono entro limiti.
Negli anni ho costruito API HTTP, worker in background, pipeline di elaborazione dati e utility da riga di comando in Haskell. Sono sicuro con l'ecosistema principale: Servant e Yesod per il web, STM e async per la concorrenza, persistent e hasql per i database, e gli strumenti familiari GHC, Cabal e Stack. Mi interessa anche le prestazioni: profilo con gli strumenti GHC, ragiono consapevolmente sulla pigrizia e sulla rigidità, so quando utilizzare tipi di dati rigorosi, vettori non impacchettati o librerie di streaming per mantenere la memoria piatta e l'output elevato. Il testing delle proprietà tramite QuickCheck è per me uno strumento di design, non una formalità.
Ricevi da me una base di codice che è effettivamente un bene: piccole funzioni componibili, confini di modulo chiari e documentazione che il team può mantenere. Sono altrettanto a mio agio nel far partire un nuovo servizio da un repository vuoto fino alla produzione e nell'unirmi a un progetto Haskell esistente per correggere bug, domare il debito tecnico, velocizzare il codice e portare il team verso schemi funzionali idiomatici. Se per te è importante avere software corretto e sicuro da modificare, ti aiuterò.
— API HTTP backend con Servant e Yesod
— Modellazione del dominio con tipi algebrici e classi di tipo
— Concorrenza tramite STM, async e thread
— Accesso ai database tramite persistent, hasql e PostgreSQL
— Testing delle proprietà con QuickCheck e Hspec
— Profilazione, analisi della rigidità e ottimizzazione
— Costruzione con GHC, Cabal, Stack e Nix
Negli anni ho costruito API HTTP, worker in background, pipeline di elaborazione dati e utility da riga di comando in Haskell. Sono sicuro con l'ecosistema principale: Servant e Yesod per il web, STM e async per la concorrenza, persistent e hasql per i database, e gli strumenti familiari GHC, Cabal e Stack. Mi interessa anche le prestazioni: profilo con gli strumenti GHC, ragiono consapevolmente sulla pigrizia e sulla rigidità, so quando utilizzare tipi di dati rigorosi, vettori non impacchettati o librerie di streaming per mantenere la memoria piatta e l'output elevato. Il testing delle proprietà tramite QuickCheck è per me uno strumento di design, non una formalità.
Ricevi da me una base di codice che è effettivamente un bene: piccole funzioni componibili, confini di modulo chiari e documentazione che il team può mantenere. Sono altrettanto a mio agio nel far partire un nuovo servizio da un repository vuoto fino alla produzione e nell'unirmi a un progetto Haskell esistente per correggere bug, domare il debito tecnico, velocizzare il codice e portare il team verso schemi funzionali idiomatici. Se per te è importante avere software corretto e sicuro da modificare, ti aiuterò.
— API HTTP backend con Servant e Yesod
— Modellazione del dominio con tipi algebrici e classi di tipo
— Concorrenza tramite STM, async e thread
— Accesso ai database tramite persistent, hasql e PostgreSQL
— Testing delle proprietà con QuickCheck e Hspec
— Profilazione, analisi della rigidità e ottimizzazione
— Costruzione con GHC, Cabal, Stack e Nix