
Segurança passa pela sua cabeça quando você entrega código?
Quatro erros comuns de segurança no desenvolvimento, da validação que fica só no frontend à confiança cega em claims de JWT, e o excesso de confiança que conecta todos eles.
Ler artigoArquitetura de sistemas, decisões técnicas e liderança de engenharia. Conteúdo construído a partir de 20+ anos projetando software em produção.
Para engenheiros com experiência suficiente para saber que respostas certas dependem de contexto. O conteúdo parte do pressuposto de que você já sabe programar. O foco está no que vem depois: arquitetura, trade-offs de longo prazo, evolução de sistemas ao longo do tempo e a liderança técnica que sustenta esse trabalho.
Três disciplinas que se sobrepõem na prática de quem projeta, constrói e sustenta sistemas complexos ao longo do tempo.
System design, decomposição de sistemas e trade-offs que definem o que um sistema pode fazer ao longo do tempo. Como decisões de hoje limitam ou ampliam as opções de amanhã.
Design de código que sobrevive ao tempo. Gestão de complexidade em bases de código grandes, como sistemas acumulam ou reduzem dívida estrutural, e como construir software que pode ser modificado sem medo.
Influência técnica, alinhamento de decisões entre times e formação de cultura de engenharia. Como profissionais experientes multiplicam impacto além do próprio código.

Quatro erros comuns de segurança no desenvolvimento, da validação que fica só no frontend à confiança cega em claims de JWT, e o excesso de confiança que conecta todos eles.
Ler artigo
Vaidade técnica é um dos caminhos para o overengineering, mas não o único. Este artigo foca em outro: quando boas intenções, sem análise suficiente, transformam hipóteses em requisitos e antecipam complexidade antes de existir problema real que a justifique.
Ler artigo
Arquitetura progressiva de storage seguro no Azure com Java. Cobre Managed Identity, User Delegation SAS, Private Endpoint, WORM e retenção compatível com LGPD. Incidentes documentados contextualizam cada decisão.
Ler artigoSistemas de software raramente falham por bugs isolados. Eles falham porque decisões acumuladas ao longo do tempo definem o que um sistema pode ou não se tornar.
Arquitetura não é sobre diagramas. É sobre as escolhas que determinam como um sistema evolui, quem pode mudá-lo e com que custo.
Este site existe para explorar essas decisões.
Projeto sistemas distribuídos, conduzo transformações técnicas e desenvolvo engenheiros. Cada artigo aqui nasce de decisões reais tomadas em sistemas em produção.
Como penso sobre engenharia →