Sobre o serviço
TraduzidoSou um desenvolvedor Haskell e escrevo serviços de servidor que são corretos por construção, não por acidente. Minha abordagem se baseia nas maiores forças da linguagem: poderoso sistema de tipos estáticos, pureza de funções e efeitos explícitos. Quando modelo seu domínio com tipos de dados algébricos e deixo o compilador rejeitar estados inválidos, categorias inteiras de erros em tempo de execução simplesmente deixam de existir. Isso não é idealismo acadêmico, mas uma maneira prática de enviar software que se comporta na sexta-feira à noite da mesma forma que se comportou nos testes, e que um novo membro da equipe pode refatorar com confiança porque os tipos os mantêm dentro dos limites.
Ao longo dos anos, construí APIs HTTP, trabalhadores em segundo plano, pipelines de processamento de dados e utilitários de linha de comando em Haskell. Estou confiante com o ecossistema central: Servant e Yesod para web, STM e async para concorrência, persistent e hasql para bancos de dados, e as ferramentas familiares GHC, Cabal e Stack. Também me preocupo com desempenho: perfilo com ferramentas GHC, raciocino conscientemente sobre preguiça e rigidez, sei quando usar tipos de dados rígidos, vetores descompactados ou bibliotecas de streaming para manter a memória plana e a taxa de transferência alta. Testes de propriedade via QuickCheck são para mim uma ferramenta de design, não uma formalidade.
Você recebe de mim uma base de código que é realmente um ativo: pequenas funções compostas, limites de módulo claros e documentação que a equipe pode manter. Estou igualmente confortável em criar um novo serviço a partir de um repositório vazio até a produção e em me juntar a um projeto Haskell existente para corrigir bugs, domar dívidas técnicas, acelerar o código e levar a equipe em direção a padrões funcionais idiomáticos. Se software correto que é seguro para mudar importa para você, eu ajudarei.
— APIs HTTP de backend com Servant e Yesod
— Modelagem de domínio com tipos algébricos e classes de tipo
— Concorrência via STM, async e threads
— Acesso a banco de dados via persistent, hasql e PostgreSQL
— Testes de propriedade com QuickCheck e Hspec
— Profiling, análise de rigidez e otimização
— Construindo com GHC, Cabal, Stack e Nix
Ao longo dos anos, construí APIs HTTP, trabalhadores em segundo plano, pipelines de processamento de dados e utilitários de linha de comando em Haskell. Estou confiante com o ecossistema central: Servant e Yesod para web, STM e async para concorrência, persistent e hasql para bancos de dados, e as ferramentas familiares GHC, Cabal e Stack. Também me preocupo com desempenho: perfilo com ferramentas GHC, raciocino conscientemente sobre preguiça e rigidez, sei quando usar tipos de dados rígidos, vetores descompactados ou bibliotecas de streaming para manter a memória plana e a taxa de transferência alta. Testes de propriedade via QuickCheck são para mim uma ferramenta de design, não uma formalidade.
Você recebe de mim uma base de código que é realmente um ativo: pequenas funções compostas, limites de módulo claros e documentação que a equipe pode manter. Estou igualmente confortável em criar um novo serviço a partir de um repositório vazio até a produção e em me juntar a um projeto Haskell existente para corrigir bugs, domar dívidas técnicas, acelerar o código e levar a equipe em direção a padrões funcionais idiomáticos. Se software correto que é seguro para mudar importa para você, eu ajudarei.
— APIs HTTP de backend com Servant e Yesod
— Modelagem de domínio com tipos algébricos e classes de tipo
— Concorrência via STM, async e threads
— Acesso a banco de dados via persistent, hasql e PostgreSQL
— Testes de propriedade com QuickCheck e Hspec
— Profiling, análise de rigidez e otimização
— Construindo com GHC, Cabal, Stack e Nix