Desenvolvimento Clojure
Desenvolvimento Clojure para Times de Engenharia
Plataformas de backend, APIs, integrações e pipelines de dados em Clojure — projetados para serem operados e compreendidos por quem herdar o sistema.
(defn handler [requisicao]
(-> requisicao
validar
transacionar
responder))Highlights
Backend e APIs
Serviços HTTP, plataformas internas, consumidores de eventos e integrações, com contratos documentados e testados.
Pipelines de dados
Ingestão, transformação e entrega de dados com transducers, filas e lotes previsíveis.
ClojureScript
Desenvolvimento e manutenção de frontends em ClojureScript quando já é a ferramenta certa para o time.
O que construímos
A maior parte do trabalho em Clojure assume poucas formas reconhecíveis: um serviço HTTP na frente de um banco, um consumidor de eventos reagindo a Kafka ou a uma fila, um pipeline agendado movendo e transformando dados, ou uma camada de integração entre sistemas que nunca foram feitos para conversar.
O objetivo de design é sempre o mesmo: manter os dados explícitos, empurrar os efeitos colaterais para as bordas e deixar o comportamento interessante fácil de testar sem depender de um cluster rodando.
- APIs REST e HTTP, com GraphQL quando justificado
- Serviços orientados a eventos com Kafka ou SQS
- Pipelines em lote e em streaming
- Integrações com terceiros e camadas anticorrupção
- Modelagem de dados em Datomic e PostgreSQL
- Interoperabilidade com Java dentro de plataformas JVM
Práticas que acompanham o código
Entrega não é apenas pull request aprovado. Cada trabalho chega com o que o torna seguro de operar: testes no nível que realmente pega regressão, logs estruturados, métricas nos caminhos que importam e um plano claro de rollback.
Schemas e validação ficam nas fronteiras do sistema, onde dados não confiáveis entram. Configuração, segredos e diferenças de ambiente são tratados de forma explícita.
- Desenvolvimento com REPL e testes rodando em CI
- Validação nas fronteiras do sistema
- Logs estruturados, métricas e traces
- Pull requests pequenos e revisáveis
- Documentação escrita para o próximo engenheiro
Frequently asked questions
- Vocês constroem sistemas novos ou só evoluem os existentes?
- Os dois. Serviços de backend e APIs novos são construídos do zero, e sistemas em produção são estendidos e evoluídos — este segundo caso é o mais comum.
- Como vocês se integram ao nosso processo?
- Usamos o seu repositório, a sua estratégia de branches, o seu processo de revisão e o seu gerenciador de tarefas.
Tem algo para construir em Clojure?
Descreva o sistema e o problema. Você fala direto com o engenheiro que faria o trabalho.