<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Felipe Guedes · articles</title><link>https://fgxdev.com/pt/articles/</link><description>Notas sobre System Design, arquitetura, engenharia full stack, IA, ciência e a disciplina de achar o que está errado antes de falhar.</description><language>pt-BR</language>
<item><title>SLO para um time de cinco pessoas</title><link>https://fgxdev.com/pt/articles/slo-for-a-five-person-team/</link><guid>https://fgxdev.com/pt/articles/slo-for-a-five-person-team/</guid><pubDate>Mon, 21 Sep 2026 12:00:00 GMT</pubDate><description>Você não precisa de time de SRE para ter SLO. Precisa de um número, uma janela e uma regra para quando errar.</description><category>infra</category><category>reliability</category></item>
<item><title>Entregar é um hábito</title><link>https://fgxdev.com/pt/articles/shipping-is-a-habit/</link><guid>https://fgxdev.com/pt/articles/shipping-is-a-habit/</guid><pubDate>Sat, 19 Sep 2026 12:00:00 GMT</pubDate><description>Ninguém decide não entregar. Decide fazer mais uma coisa antes. Como construir o hábito que acaba com isso.</description><category>career</category><category>engineering</category></item>
<item><title>Desenhando um design system que sobrevive aos seus designers</title><link>https://fgxdev.com/pt/articles/designing-a-design-system-that-survives/</link><guid>https://fgxdev.com/pt/articles/designing-a-design-system-that-survives/</guid><pubDate>Fri, 18 Sep 2026 12:00:00 GMT</pubDate><description>Um design system morre quando quem o fez vai embora. Os que vivem gravam decisões em tokens e restrições, não na memória.</description><category>fullstack</category><category>ux</category></item>
<item><title>Eu encontro a falha que ninguém encontra. Este é o método.</title><link>https://fgxdev.com/pt/articles/i-find-the-failure-nobody-finds/</link><guid>https://fgxdev.com/pt/articles/i-find-the-failure-nobody-finds/</guid><pubDate>Wed, 16 Sep 2026 12:00:00 GMT</pubDate><description>Não é intuição. É um procedimento repetível que assume que o sistema está mentindo e vai procurar onde.</description><category>audit</category><category>career</category></item>
<item><title>Projete a falha antes da funcionalidade</title><link>https://fgxdev.com/pt/articles/design-the-failure-before-the-feature/</link><guid>https://fgxdev.com/pt/articles/design-the-failure-before-the-feature/</guid><pubDate>Mon, 14 Sep 2026 12:00:00 GMT</pubDate><description>O caminho feliz qualquer um escreve. O sistema de verdade é o que acontece quando ele quebra, e é isso que se projeta primeiro.</description><category>system-design</category><category>reliability</category></item>
<item><title>Testando sistemas não determinísticos</title><link>https://fgxdev.com/pt/articles/testing-nondeterministic-systems/</link><guid>https://fgxdev.com/pt/articles/testing-nondeterministic-systems/</guid><pubDate>Fri, 11 Sep 2026 12:00:00 GMT</pubDate><description>Você não pode fazer assert em uma string exata de um modelo. Pode fazer assert em propriedades, distribuições e invariantes, e deve.</description><category>ai</category><category>engineering</category></item>
<item><title>As doze perguntas que faço em toda revisão de arquitetura</title><link>https://fgxdev.com/pt/articles/the-architecture-review-questions-i-always-ask/</link><guid>https://fgxdev.com/pt/articles/the-architecture-review-questions-i-always-ask/</guid><pubDate>Wed, 09 Sep 2026 12:00:00 GMT</pubDate><description>As mesmas doze perguntas, na mesma ordem, em todo sistema. Elas encontram a maior parte do que importa em um dia.</description><category>architecture</category><category>audit</category></item>
<item><title>A IA escreve o código. O sistema continua sendo seu.</title><link>https://fgxdev.com/pt/articles/ai-writes-the-code-you-still-own-the-system/</link><guid>https://fgxdev.com/pt/articles/ai-writes-the-code-you-still-own-the-system/</guid><pubDate>Sat, 05 Sep 2026 12:00:00 GMT</pubDate><description>O modelo digita mais rápido que você. Mas não responde pelo que acontece às 3 da manhã. Essa parte ainda é sua.</description><category>ai</category><category>engineering</category></item>
<item><title>O custo real de um retry</title><link>https://fgxdev.com/pt/articles/the-cost-of-a-retry/</link><guid>https://fgxdev.com/pt/articles/the-cost-of-a-retry/</guid><pubDate>Wed, 02 Sep 2026 12:00:00 GMT</pubDate><description>Retries adicionam carga bem na hora em que o sistema está mais fraco. Backoff, jitter, orçamento e breakers evitam a amplificação.</description><category>system-design</category><category>reliability</category></item>
<item><title>O ciclo mais lento da ciência não é pensar</title><link>https://fgxdev.com/pt/articles/the-slowest-loop-in-science-is-not-thinking/</link><guid>https://fgxdev.com/pt/articles/the-slowest-loop-in-science-is-not-thinking/</guid><pubDate>Mon, 31 Aug 2026 12:00:00 GMT</pubDate><description>Todo mundo quer que a IA faça o cientista pensar mais rápido. O tempo não se perde pensando. Se perde esperando, e espera é engenharia.</description><category>science</category><category>ai</category></item>
<item><title>O quadro branco é onde o sistema é construído de verdade</title><link>https://fgxdev.com/pt/articles/the-whiteboard-is-where-the-system-is-built/</link><guid>https://fgxdev.com/pt/articles/the-whiteboard-is-where-the-system-is-built/</guid><pubDate>Sun, 30 Aug 2026 12:00:00 GMT</pubDate><description>As decisões que doem depois são tomadas na primeira hora, antes de qualquer código. O que eu desenho e por quê.</description><category>system-design</category><category>architecture</category></item>
<item><title>A feature de IA que ninguém pediu</title><link>https://fgxdev.com/pt/articles/the-ai-feature-nobody-asked-for/</link><guid>https://fgxdev.com/pt/articles/the-ai-feature-nobody-asked-for/</guid><pubDate>Fri, 28 Aug 2026 12:00:00 GMT</pubDate><description>O botão com a estrelinha foi feito para o conselho, não para o usuário. Como identificar, e o que construir no lugar.</description><category>ai</category><category>ux</category><category>business</category></item>
<item><title>Onde as regras de negócio deveriam morar, e onde elas acabam</title><link>https://fgxdev.com/pt/articles/where-business-rules-should-live/</link><guid>https://fgxdev.com/pt/articles/where-business-rules-should-live/</guid><pubDate>Wed, 26 Aug 2026 12:00:00 GMT</pubDate><description>A regra é escrita uma vez na especificação e cinco vezes no código. Como ela se espalha, e como trazê-la de volta para casa.</description><category>architecture</category><category>engineering</category></item>
<item><title>A CDN é a decisão de escala mais barata que você vai tomar</title><link>https://fgxdev.com/pt/articles/cdn-is-the-cheapest-scaling/</link><guid>https://fgxdev.com/pt/articles/cdn-is-the-cheapest-scaling/</guid><pubDate>Sun, 23 Aug 2026 12:00:00 GMT</pubDate><description>Antes de adicionar servidor, pergunte quais respostas nunca precisavam chegar num servidor.</description><category>infra</category><category>performance</category></item>
<item><title>Escrevendo o relatório de auditoria que ninguém quer ler, para que leiam</title><link>https://fgxdev.com/pt/articles/the-audit-report-nobody-wants-to-read/</link><guid>https://fgxdev.com/pt/articles/the-audit-report-nobody-wants-to-read/</guid><pubDate>Fri, 21 Aug 2026 12:00:00 GMT</pubDate><description>Uma auditoria vale o que as correções que ela causa valem. Estrutura, linguagem e ordem decidem se o relatório vira ação ou arquivo.</description><category>audit</category><category>career</category></item>
<item><title>Por que continuo escolhendo Next.js para produtos que precisam durar</title><link>https://fgxdev.com/pt/articles/why-i-keep-choosing-nextjs/</link><guid>https://fgxdev.com/pt/articles/why-i-keep-choosing-nextjs/</guid><pubDate>Wed, 19 Aug 2026 12:00:00 GMT</pubDate><description>Não é por ser popular. É porque um time consegue dominar o caminho inteiro da requisição sem inventar cola.</description><category>fullstack</category><category>nextjs</category></item>
<item><title>Um orçamento de latência para features com LLM</title><link>https://fgxdev.com/pt/articles/llm-latency-budget/</link><guid>https://fgxdev.com/pt/articles/llm-latency-budget/</guid><pubDate>Sat, 15 Aug 2026 12:00:00 GMT</pubDate><description>O modelo é a dependência mais lenta que você já adicionou. Orce como orça um banco de dados, por feature, por etapa.</description><category>ai</category><category>performance</category></item>
<item><title>As fronteiras são o produto</title><link>https://fgxdev.com/pt/articles/boundaries-are-the-product/</link><guid>https://fgxdev.com/pt/articles/boundaries-are-the-product/</guid><pubDate>Wed, 12 Aug 2026 12:00:00 GMT</pubDate><description>Funcionalidades vêm e vão. As fronteiras que você traça entre elas são o que você ainda vai estar pagando daqui a cinco anos.</description><category>architecture</category><category>engineering</category></item>
<item><title>A infraestrutura é sua, goste você disso ou não</title><link>https://fgxdev.com/pt/articles/you-own-the-infra-whether-you-like-it-or-not/</link><guid>https://fgxdev.com/pt/articles/you-own-the-infra-whether-you-like-it-or-not/</guid><pubDate>Sun, 09 Aug 2026 12:00:00 GMT</pubDate><description>Cada linha de código roda sobre decisões que você tomou ou aceitou por padrão. As duas são suas.</description><category>infra</category><category>fullstack</category></item>
<item><title>O que um histograma de latência está tentando te dizer</title><link>https://fgxdev.com/pt/articles/reading-a-latency-histogram/</link><guid>https://fgxdev.com/pt/articles/reading-a-latency-histogram/</guid><pubDate>Wed, 05 Aug 2026 12:00:00 GMT</pubDate><description>A média esconde. Leia a forma, depois p50, p95 e p99, e entenda por que fan-out transforma o p99 dos outros no seu p50.</description><category>system-design</category><category>observability</category></item>
<item><title>O ORM está bem. Suas queries não.</title><link>https://fgxdev.com/pt/articles/the-orm-is-fine-your-queries-are-not/</link><guid>https://fgxdev.com/pt/articles/the-orm-is-fine-your-queries-are-not/</guid><pubDate>Sun, 02 Aug 2026 12:00:00 GMT</pubDate><description>Todo banco lento que audito tem a mesma forma: um ORM culpado por queries que ninguém leu. Leia o SQL. Conserte o padrão.</description><category>fullstack</category><category>data</category></item>
<item><title>Strangler fig, feito com honestidade</title><link>https://fgxdev.com/pt/articles/the-strangler-fig-done-honestly/</link><guid>https://fgxdev.com/pt/articles/the-strangler-fig-done-honestly/</guid><pubDate>Wed, 29 Jul 2026 12:00:00 GMT</pubDate><description>O padrão funciona. O que mata é fingir que o sistema antigo vai morrer sozinho. Ele não vai.</description><category>architecture</category></item>
<item><title>Guardrails que não estragam o produto</title><link>https://fgxdev.com/pt/articles/guardrails-that-do-not-ruin-the-product/</link><guid>https://fgxdev.com/pt/articles/guardrails-that-do-not-ruin-the-product/</guid><pubDate>Sun, 26 Jul 2026 12:00:00 GMT</pubDate><description>A maioria dos guardrails é uma recusa pregada no final. Os bons são projetados dentro da tarefa, e o usuário quase nunca esbarra neles.</description><category>ai</category><category>ux</category></item>
<item><title>Auditar um sistema que você não construiu, sem ofender quem construiu</title><link>https://fgxdev.com/pt/articles/auditing-a-system-you-did-not-build/</link><guid>https://fgxdev.com/pt/articles/auditing-a-system-you-did-not-build/</guid><pubDate>Fri, 24 Jul 2026 12:00:00 GMT</pubDate><description>Uma auditoria que produz ressentimento não produz correções. Como entrego achados duros e mantenho o time do meu lado.</description><category>audit</category><category>career</category></item>
<item><title>CI que te diz a verdade</title><link>https://fgxdev.com/pt/articles/ci-that-tells-you-the-truth/</link><guid>https://fgxdev.com/pt/articles/ci-that-tells-you-the-truth/</guid><pubDate>Wed, 22 Jul 2026 12:00:00 GMT</pubDate><description>Build verde que mente é pior do que build nenhum. O que é preciso para o CI virar um sinal em que dá para agir.</description><category>infra</category><category>engineering</category></item>
<item><title>Idempotência é uma decisão de negócio</title><link>https://fgxdev.com/pt/articles/idempotency-is-a-business-decision/</link><guid>https://fgxdev.com/pt/articles/idempotency-is-a-business-decision/</guid><pubDate>Tue, 21 Jul 2026 12:00:00 GMT</pubDate><description>Chamar duas vezes e ter o mesmo resultado parece técnico. Definir o que é &quot;o mesmo&quot; é onde o negócio assina.</description><category>system-design</category><category>engineering</category></item>
<item><title>O ciclo da hipótese, e onde o software pode encurtá-lo</title><link>https://fgxdev.com/pt/articles/the-hypothesis-loop/</link><guid>https://fgxdev.com/pt/articles/the-hypothesis-loop/</guid><pubDate>Sat, 18 Jul 2026 12:00:00 GMT</pubDate><description>Ciência é um ciclo, não uma linha. Software deve encurtar as voltas baratas e deixar as caras tão lentas quanto a verdade exige.</description><category>science</category><category>ai</category></item>
<item><title>Estado do React que pertence ao servidor</title><link>https://fgxdev.com/pt/articles/react-state-that-belongs-to-the-server/</link><guid>https://fgxdev.com/pt/articles/react-state-that-belongs-to-the-server/</guid><pubDate>Wed, 15 Jul 2026 12:00:00 GMT</pubDate><description>A maioria dos useState que audito guarda uma cópia do banco. Coloque esse estado onde ele mora e os bugs vão junto.</description><category>fullstack</category><category>nextjs</category></item>
<item><title>Alucinação é propriedade do sistema, não bug do modelo</title><link>https://fgxdev.com/pt/articles/hallucination-is-a-system-property/</link><guid>https://fgxdev.com/pt/articles/hallucination-is-a-system-property/</guid><pubDate>Sat, 11 Jul 2026 12:00:00 GMT</pubDate><description>O modelo gera texto plausível. Se o plausível vira falso na frente do usuário depende do sistema que você construiu em volta dele.</description><category>ai</category><category>reliability</category></item>
<item><title>Por que a maioria dos microsserviços deveria ter sido módulo</title><link>https://fgxdev.com/pt/articles/why-most-microservices-should-be-modules/</link><guid>https://fgxdev.com/pt/articles/why-most-microservices-should-be-modules/</guid><pubDate>Wed, 08 Jul 2026 12:00:00 GMT</pubDate><description>A fronteira de rede é um imposto permanente. Quatro razões para um serviço merecê-la, e os sinais de que o seu deveria ser módulo.</description><category>system-design</category><category>architecture</category></item>
<item><title>Diga não à reescrita</title><link>https://fgxdev.com/pt/articles/say-no-to-the-rewrite/</link><guid>https://fgxdev.com/pt/articles/say-no-to-the-rewrite/</guid><pubDate>Mon, 06 Jul 2026 12:00:00 GMT</pubDate><description>A reescrita promete começo limpo e entrega um segundo sistema correndo atrás do primeiro. Cinco perguntas antes de aprovar.</description><category>career</category><category>architecture</category></item>
<item><title>Container não é isolamento</title><link>https://fgxdev.com/pt/articles/containers-are-not-isolation/</link><guid>https://fgxdev.com/pt/articles/containers-are-not-isolation/</guid><pubDate>Fri, 03 Jul 2026 12:00:00 GMT</pubDate><description>Container é um processo fantasiado. Trate como fronteira de segurança e uma hora você vai se arrepender.</description><category>infra</category><category>security</category></item>
<item><title>Formulários são sistemas distribuídos</title><link>https://fgxdev.com/pt/articles/forms-are-distributed-systems/</link><guid>https://fgxdev.com/pt/articles/forms-are-distributed-systems/</guid><pubDate>Wed, 01 Jul 2026 12:00:00 GMT</pubDate><description>Um formulário são duas máquinas, uma rede não confiável e um usuário que clica duas vezes. Desenhe como o sistema distribuído que ele é.</description><category>fullstack</category><category>engineering</category></item>
<item><title>Core Web Vitals são um problema de arquitetura</title><link>https://fgxdev.com/pt/articles/core-web-vitals-are-architecture/</link><guid>https://fgxdev.com/pt/articles/core-web-vitals-are-architecture/</guid><pubDate>Tue, 30 Jun 2026 12:00:00 GMT</pubDate><description>Você não conserta LCP com plugin. As métricas estão medindo seu fluxo de dados, suas fronteiras e seu deploy.</description><category>fullstack</category><category>performance</category></item>
<item><title>Por que um engenheiro de software se importa com ciência</title><link>https://fgxdev.com/pt/articles/why-a-software-engineer-cares-about-science/</link><guid>https://fgxdev.com/pt/articles/why-a-software-engineer-cares-about-science/</guid><pubDate>Sun, 28 Jun 2026 12:00:00 GMT</pubDate><description>A ciência é o sistema mais antigo para produzir conhecimento confiável. Ignorá-la é deixar o melhor design na mesa.</description><category>science</category><category>career</category></item>
<item><title>Programar em par com IA mudou o que eu coloco no quadro branco</title><link>https://fgxdev.com/pt/articles/ai-pair-programming-changed-my-whiteboard/</link><guid>https://fgxdev.com/pt/articles/ai-pair-programming-changed-my-whiteboard/</guid><pubDate>Fri, 26 Jun 2026 12:00:00 GMT</pubDate><description>Quando o código fica barato, o quadro branco deixa de ser sobre código. Passa a ser sobre falha, posse e invariantes.</description><category>ai</category><category>system-design</category></item>
<item><title>Eventos de domínio e notificações não são a mesma coisa</title><link>https://fgxdev.com/pt/articles/domain-events-vs-notifications/</link><guid>https://fgxdev.com/pt/articles/domain-events-vs-notifications/</guid><pubDate>Wed, 24 Jun 2026 12:00:00 GMT</pubDate><description>Um é um fato que o negócio se importa. O outro é um cutucão. Confundir os dois é como sistemas orientados a eventos apodrecem.</description><category>architecture</category></item>
<item><title>Fé, família e uptime</title><link>https://fgxdev.com/pt/articles/faith-family-and-uptime/</link><guid>https://fgxdev.com/pt/articles/faith-family-and-uptime/</guid><pubDate>Sun, 21 Jun 2026 12:00:00 GMT</pubDate><description>O que coloco acima do trabalho, e como essas restrições tornaram meus sistemas mais confiáveis, não menos.</description><category>life</category></item>
<item><title>Avaliando features com LLM como engenheiro, não como fã</title><link>https://fgxdev.com/pt/articles/evaluating-llm-features-like-an-engineer/</link><guid>https://fgxdev.com/pt/articles/evaluating-llm-features-like-an-engineer/</guid><pubDate>Fri, 19 Jun 2026 12:00:00 GMT</pubDate><description>Se o seu sinal de qualidade é uma demo e uma sensação, você não tem uma feature. Tem uma esperança. Assim eu construo evals.</description><category>ai</category><category>audit</category></item>
<item><title>Rate limiting sem prejudicar os usuários que você quer</title><link>https://fgxdev.com/pt/articles/rate-limiting-without-hurting-good-users/</link><guid>https://fgxdev.com/pt/articles/rate-limiting-without-hurting-good-users/</guid><pubDate>Wed, 17 Jun 2026 12:00:00 GMT</pubDate><description>Token bucket, identidade em vez de IP, limites por plano, modo sombra: como barrar abuso sem devolver 429 para quem paga.</description><category>system-design</category></item>
<item><title>De artigos a perguntas: o que um instrumento de pesquisa deveria fazer</title><link>https://fgxdev.com/pt/articles/from-papers-to-questions/</link><guid>https://fgxdev.com/pt/articles/from-papers-to-questions/</guid><pubDate>Sun, 14 Jun 2026 12:00:00 GMT</pubDate><description>Um resumidor te dá menos para ler. Um instrumento de pesquisa te dá perguntas melhores. A diferença é o produto inteiro.</description><category>science</category><category>ai</category></item>
<item><title>Postgres basta, até o dia em que não basta, e como saber que dia é esse</title><link>https://fgxdev.com/pt/articles/postgres-is-enough-until-it-is-not/</link><guid>https://fgxdev.com/pt/articles/postgres-is-enough-until-it-is-not/</guid><pubDate>Fri, 12 Jun 2026 12:00:00 GMT</pubDate><description>A maioria dos times sai do Postgres cedo demais ou tarde demais. Os sinais que dizem qual dos dois são mensuráveis.</description><category>infra</category><category>data</category></item>
<item><title>Projetando para a exclusão</title><link>https://fgxdev.com/pt/articles/designing-for-deletion/</link><guid>https://fgxdev.com/pt/articles/designing-for-deletion/</guid><pubDate>Wed, 10 Jun 2026 12:00:00 GMT</pubDate><description>Todo sistema sabe criar um registro. Poucos sabem excluir direito. Projete a exclusão primeiro e o resto fica mais simples.</description><category>architecture</category><category>data</category></item>
<item><title>Code review é revisão de risco</title><link>https://fgxdev.com/pt/articles/code-review-is-risk-review/</link><guid>https://fgxdev.com/pt/articles/code-review-is-risk-review/</guid><pubDate>Mon, 08 Jun 2026 12:00:00 GMT</pubDate><description>A maioria das revisões confere se o código está bonito. A pergunta que importa é o que quebra, para quem, e como você desfaz.</description><category>audit</category><category>engineering</category></item>
<item><title>Generics em TypeScript que ajudam, e os que atrapalham</title><link>https://fgxdev.com/pt/articles/typescript-generics-that-help-vs-hurt/</link><guid>https://fgxdev.com/pt/articles/typescript-generics-that-help-vs-hurt/</guid><pubDate>Fri, 05 Jun 2026 12:00:00 GMT</pubDate><description>Um generic que relaciona entrada e saída é um presente. Um que aparece uma vez na assinatura é uma mentira que o compilador não pega.</description><category>fullstack</category><category>typescript</category></item>
<item><title>Projetando APIs que podem ser usadas errado sem estrago</title><link>https://fgxdev.com/pt/articles/designing-apis-people-can-misuse-safely/</link><guid>https://fgxdev.com/pt/articles/designing-apis-people-can-misuse-safely/</guid><pubDate>Tue, 02 Jun 2026 12:00:00 GMT</pubDate><description>Clientes fazem retry, duplicam, mandam dado velho e chamam fora de ordem. Projete para que o uso errado comum seja inofensivo.</description><category>system-design</category><category>engineering</category></item>
<item><title>O que a IA não consegue auditar</title><link>https://fgxdev.com/pt/articles/what-ai-cannot-audit/</link><guid>https://fgxdev.com/pt/articles/what-ai-cannot-audit/</guid><pubDate>Sat, 30 May 2026 12:00:00 GMT</pubDate><description>Modelos são ótimos em achar o que parece errado. As falhas que importam são as que parecem certas, e essas ainda precisam de uma pessoa.</description><category>ai</category><category>audit</category></item>
<item><title>Multi-tenancy: a decisão que você não consegue desfazer</title><link>https://fgxdev.com/pt/articles/multi-tenancy-the-decision-you-cannot-undo/</link><guid>https://fgxdev.com/pt/articles/multi-tenancy-the-decision-you-cannot-undo/</guid><pubDate>Wed, 27 May 2026 12:00:00 GMT</pubDate><description>Schema compartilhado, schema por tenant ou banco por tenant: cada um tem suas dores, e trocar depois significa migrar tudo.</description><category>system-design</category><category>architecture</category></item>
<item><title>Software que começa pela evidência</title><link>https://fgxdev.com/pt/articles/evidence-first-software/</link><guid>https://fgxdev.com/pt/articles/evidence-first-software/</guid><pubDate>Mon, 25 May 2026 12:00:00 GMT</pubDate><description>Toda afirmação que um sistema faz deveria saber dizer por quê. Como construo software em que a evidência vem antes da conclusão.</description><category>science</category><category>engineering</category></item>
<item><title>Migrations sem downtime na prática</title><link>https://fgxdev.com/pt/articles/zero-downtime-migrations-in-practice/</link><guid>https://fgxdev.com/pt/articles/zero-downtime-migrations-in-practice/</guid><pubDate>Fri, 22 May 2026 12:00:00 GMT</pubDate><description>A mudança de schema nunca é a parte difícil. O lock, o backfill e o código velho ainda rodando são.</description><category>infra</category><category>data</category></item>
<item><title>O engenheiro full-stack é um engenheiro de sistemas</title><link>https://fgxdev.com/pt/articles/the-full-stack-engineer-is-a-systems-engineer/</link><guid>https://fgxdev.com/pt/articles/the-full-stack-engineer-is-a-systems-engineer/</guid><pubDate>Wed, 20 May 2026 12:00:00 GMT</pubDate><description>Full stack nunca foi saber duas linguagens. É assumir a falha onde quer que ela aconteça.</description><category>fullstack</category><category>career</category></item>
<item><title>O que um médico me ensinou sobre sistemas</title><link>https://fgxdev.com/pt/articles/what-a-doctor-taught-me-about-systems/</link><guid>https://fgxdev.com/pt/articles/what-a-doctor-taught-me-about-systems/</guid><pubDate>Tue, 19 May 2026 12:00:00 GMT</pubDate><description>Conheci meu pai uma vez, no consultório dele. O jeito dele de diagnosticar é como audito sistemas hoje.</description><category>life</category><category>system-design</category></item>
<item><title>O humano no loop é uma decisão de design</title><link>https://fgxdev.com/pt/articles/the-human-in-the-loop-is-a-design-decision/</link><guid>https://fgxdev.com/pt/articles/the-human-in-the-loop-is-a-design-decision/</guid><pubDate>Fri, 15 May 2026 12:00:00 GMT</pubDate><description>Humano no loop não é checkbox para o slide de compliance. É uma interface, um fluxo e um orçamento que você precisa projetar.</description><category>ai</category><category>science</category></item>
<item><title>A armadilha da biblioteca compartilhada</title><link>https://fgxdev.com/pt/articles/the-shared-library-trap/</link><guid>https://fgxdev.com/pt/articles/the-shared-library-trap/</guid><pubDate>Wed, 13 May 2026 12:00:00 GMT</pubDate><description>O pacote criado para evitar duplicação costuma ser o acoplamento mais forte do sistema. Como reconhecer, e o que fazer no lugar.</description><category>architecture</category></item>
<item><title>Detalhes não são pequenos</title><link>https://fgxdev.com/pt/articles/details-are-not-small/</link><guid>https://fgxdev.com/pt/articles/details-are-not-small/</guid><pubDate>Mon, 11 May 2026 12:00:00 GMT</pubDate><description>Um detalhe é uma decisão em escala pequena. Os sistemas que falham, e as pessoas de quem lembramos, são feitos deles.</description><category>audit</category><category>life</category></item>
<item><title>Os três primeiros alertas que todo sistema precisa</title><link>https://fgxdev.com/pt/articles/the-first-three-alerts/</link><guid>https://fgxdev.com/pt/articles/the-first-three-alerts/</guid><pubDate>Fri, 08 May 2026 12:00:00 GMT</pubDate><description>Antes de dashboard, antes de SLO, antes de tudo: três alertas que pegam a maioria das quedas e quase nunca mentem.</description><category>infra</category><category>reliability</category></item>
<item><title>Como eu leio um sistema que nunca vi em uma hora</title><link>https://fgxdev.com/pt/articles/how-i-read-a-system-in-one-hour/</link><guid>https://fgxdev.com/pt/articles/how-i-read-a-system-in-one-hour/</guid><pubDate>Wed, 06 May 2026 12:00:00 GMT</pubDate><description>O método de auditoria que uso para entender um sistema desconhecido rápido: entradas, dados, dinheiro e o que acontece quando cai.</description><category>system-design</category><category>audit</category></item>
<item><title>Error boundaries de ponta a ponta</title><link>https://fgxdev.com/pt/articles/error-boundaries-end-to-end/</link><guid>https://fgxdev.com/pt/articles/error-boundaries-end-to-end/</guid><pubDate>Fri, 01 May 2026 12:00:00 GMT</pubDate><description>Error boundary não é um componente React. É uma decisão sobre onde a falha para, tomada em cada camada, do clique até o banco.</description><category>fullstack</category><category>reliability</category></item>
<item><title>O que um build verde esconde</title><link>https://fgxdev.com/pt/articles/what-a-green-build-hides/</link><guid>https://fgxdev.com/pt/articles/what-a-green-build-hides/</guid><pubDate>Thu, 30 Apr 2026 12:00:00 GMT</pubDate><description>Um pipeline que passa prova que os testes que você escreveu passam na máquina em que rodaram. O resto é fé. Eis o que conferir.</description><category>audit</category><category>infra</category></item>
<item><title>Upload de arquivos, feito certo da primeira vez</title><link>https://fgxdev.com/pt/articles/file-uploads-done-right/</link><guid>https://fgxdev.com/pt/articles/file-uploads-done-right/</guid><pubDate>Tue, 28 Apr 2026 12:00:00 GMT</pubDate><description>Nunca deixe um arquivo passar pelo seu servidor. Assine, envie direto, verifique depois e trate todo nome de arquivo como hostil.</description><category>fullstack</category><category>engineering</category></item>
<item><title>Observabilidade para aplicações com LLM</title><link>https://fgxdev.com/pt/articles/observability-for-llm-apps/</link><guid>https://fgxdev.com/pt/articles/observability-for-llm-apps/</guid><pubDate>Fri, 24 Apr 2026 12:00:00 GMT</pubDate><description>Logs e latência não bastam. Você precisa do prompt, da saída, do custo e da qualidade por request, e de poder reproduzir tudo.</description><category>ai</category><category>observability</category></item>
<item><title>Registros de decisão de arquitetura que alguém realmente lê</title><link>https://fgxdev.com/pt/articles/architecture-decision-records-that-get-read/</link><guid>https://fgxdev.com/pt/articles/architecture-decision-records-that-get-read/</guid><pubDate>Wed, 22 Apr 2026 12:00:00 GMT</pubDate><description>A maioria dos ADRs é escrita uma vez e nunca mais aberta. Aqui está o formato e a disciplina que os fazem sobreviver.</description><category>architecture</category><category>engineering</category></item>
<item><title>Autodidata não quer dizer sozinho</title><link>https://fgxdev.com/pt/articles/self-taught-is-not-alone-taught/</link><guid>https://fgxdev.com/pt/articles/self-taught-is-not-alone-taught/</guid><pubDate>Wed, 22 Apr 2026 12:00:00 GMT</pubDate><description>Nunca terminei uma graduação, mas nunca aprendi sozinho. Como achar professores quando ninguém te designa um.</description><category>career</category></item>
<item><title>Proveniência de dados para cientistas, explicada por um engenheiro</title><link>https://fgxdev.com/pt/articles/data-provenance-for-scientists/</link><guid>https://fgxdev.com/pt/articles/data-provenance-for-scientists/</guid><pubDate>Sat, 18 Apr 2026 12:00:00 GMT</pubDate><description>Um número que não se rastreia é opinião com casas decimais. O que é proveniência e como construí-la sem complicação.</description><category>science</category><category>data</category></item>
<item><title>UI com streaming e o que ela custa para o backend</title><link>https://fgxdev.com/pt/articles/streaming-ui-and-what-it-costs-the-backend/</link><guid>https://fgxdev.com/pt/articles/streaming-ui-and-what-it-costs-the-backend/</guid><pubDate>Wed, 15 Apr 2026 12:00:00 GMT</pubDate><description>Streaming faz a página parecer rápida. Também mantém conexões abertas, multiplica queries e esconde caminhos lentos. Orce isso.</description><category>fullstack</category><category>nextjs</category></item>
<item><title>Quando não usar um modelo de linguagem</title><link>https://fgxdev.com/pt/articles/when-not-to-use-a-language-model/</link><guid>https://fgxdev.com/pt/articles/when-not-to-use-a-language-model/</guid><pubDate>Sat, 11 Apr 2026 12:00:00 GMT</pubDate><description>Um modelo de linguagem é um componente com custo, latência e taxa de erro. Em metade dos lugares onde vejo um, uma regex teria ganhado.</description><category>ai</category><category>system-design</category></item>
<item><title>Projetando para a dependência lenta, não para a morta</title><link>https://fgxdev.com/pt/articles/designing-for-the-slow-dependency/</link><guid>https://fgxdev.com/pt/articles/designing-for-the-slow-dependency/</guid><pubDate>Thu, 09 Apr 2026 12:00:00 GMT</pubDate><description>Dependência morta falha rápido. A lenta lota seus pools e te derruba. Bulkheads, deadlines, fallbacks e p99.</description><category>system-design</category><category>reliability</category></item>
<item><title>Log estruturado ou nada</title><link>https://fgxdev.com/pt/articles/structured-logs-or-nothing/</link><guid>https://fgxdev.com/pt/articles/structured-logs-or-nothing/</guid><pubDate>Sun, 05 Apr 2026 12:00:00 GMT</pubDate><description>Linha de log que você não consegue consultar é linha que você vai ler uma vez, no incidente, tarde demais.</description><category>infra</category><category>observability</category></item>
<item><title>O monólito modular na prática</title><link>https://fgxdev.com/pt/articles/modular-monolith-in-practice/</link><guid>https://fgxdev.com/pt/articles/modular-monolith-in-practice/</guid><pubDate>Wed, 01 Apr 2026 12:00:00 GMT</pubDate><description>Uma unidade de deploy, fronteiras internas rígidas. Como fica numa base TypeScript real, e onde os times trapaceiam.</description><category>architecture</category></item>
<item><title>O custo escondido de cada dependência que você adiciona</title><link>https://fgxdev.com/pt/articles/the-hidden-cost-of-a-dependency/</link><guid>https://fgxdev.com/pt/articles/the-hidden-cost-of-a-dependency/</guid><pubDate>Tue, 31 Mar 2026 12:00:00 GMT</pubDate><description>A instalação é grátis. A árvore transitiva, o ritmo de upgrades, o peso no bundle e o risco de supply chain não são.</description><category>fullstack</category><category>audit</category></item>
<item><title>A ética de construir ferramentas para a medicina sem ser médico</title><link>https://fgxdev.com/pt/articles/the-ethics-of-building-tools-for-medicine/</link><guid>https://fgxdev.com/pt/articles/the-ethics-of-building-tools-for-medicine/</guid><pubDate>Sat, 28 Mar 2026 12:00:00 GMT</pubDate><description>Não sou médico. Construo ferramentas que médicos e cientistas vão usar. Esta é a linha que eu traço, e por quê.</description><category>science</category><category>life</category></item>
<item><title>Quando adicionar um message broker, e quando você está fugindo de uma decisão</title><link>https://fgxdev.com/pt/articles/when-to-add-a-message-broker/</link><guid>https://fgxdev.com/pt/articles/when-to-add-a-message-broker/</guid><pubDate>Wed, 25 Mar 2026 12:00:00 GMT</pubDate><description>O que um broker compra, o que custa, e o sinal de que a fila está ali para evitar decidir quem é dono do dado.</description><category>system-design</category></item>
<item><title>Prompt injection é a validação de input que você esqueceu</title><link>https://fgxdev.com/pt/articles/prompt-injection-is-input-validation/</link><guid>https://fgxdev.com/pt/articles/prompt-injection-is-input-validation/</guid><pubDate>Fri, 20 Mar 2026 12:00:00 GMT</pubDate><description>Resolvemos SQL injection separando código de dados. Prompt injection é a mesma lição num sistema que não consegue separá-los por completo.</description><category>ai</category><category>security</category></item>
<item><title>Tipos nas bordas: valide uma vez, confie em todo lugar</title><link>https://fgxdev.com/pt/articles/types-at-the-edges/</link><guid>https://fgxdev.com/pt/articles/types-at-the-edges/</guid><pubDate>Wed, 18 Mar 2026 12:00:00 GMT</pubDate><description>Tipos do TypeScript somem em runtime. Coloque uma checagem real em cada borda e deixe o compilador levar a prova para dentro.</description><category>fullstack</category><category>typescript</category></item>
<item><title>A primeira coisa que confiro em qualquer código</title><link>https://fgxdev.com/pt/articles/the-first-thing-i-check-in-any-codebase/</link><guid>https://fgxdev.com/pt/articles/the-first-thing-i-check-in-any-codebase/</guid><pubDate>Sun, 15 Mar 2026 12:00:00 GMT</pubDate><description>Antes da arquitetura, antes dos testes, antes do README: encontro cada lugar em que os dados são escritos e conto.</description><category>audit</category><category>engineering</category></item>
<item><title>O custo de nuvem que ninguém coloca no orçamento</title><link>https://fgxdev.com/pt/articles/the-cost-of-cloud-nobody-budgets/</link><guid>https://fgxdev.com/pt/articles/the-cost-of-cloud-nobody-budgets/</guid><pubDate>Fri, 13 Mar 2026 12:00:00 GMT</pubDate><description>Computação é a linha que todo mundo olha. A fatura cresce nas linhas que ninguém lê.</description><category>infra</category><category>business</category></item>
<item><title>Reversibilidade como objetivo de arquitetura</title><link>https://fgxdev.com/pt/articles/reversibility-as-an-architecture-goal/</link><guid>https://fgxdev.com/pt/articles/reversibility-as-an-architecture-goal/</guid><pubDate>Wed, 11 Mar 2026 12:00:00 GMT</pubDate><description>A melhor decisão de arquitetura é a que dá para desfazer em um sprint. Otimize para isso antes de otimizar para qualquer outra coisa.</description><category>architecture</category><category>system-design</category></item>
<item><title>Construindo sistemas de nível mundial de uma cidade pequena do Paraná</title><link>https://fgxdev.com/pt/articles/building-from-a-small-city/</link><guid>https://fgxdev.com/pt/articles/building-from-a-small-city/</guid><pubDate>Sun, 08 Mar 2026 12:00:00 GMT</pubDate><description>Lugar importa. O que você precisa fazer diferente quando nunca está na sala.</description><category>career</category><category>life</category></item>
<item><title>O prompt não é a especificação</title><link>https://fgxdev.com/pt/articles/the-prompt-is-not-the-spec/</link><guid>https://fgxdev.com/pt/articles/the-prompt-is-not-the-spec/</guid><pubDate>Fri, 06 Mar 2026 12:00:00 GMT</pubDate><description>O prompt diz ao modelo o que fazer hoje. A spec diz a todo mundo o que significa estar certo. Os times vivem confundindo os dois.</description><category>ai</category><category>engineering</category></item>
<item><title>Back-pressure é feature, não bug</title><link>https://fgxdev.com/pt/articles/back-pressure-is-a-feature/</link><guid>https://fgxdev.com/pt/articles/back-pressure-is-a-feature/</guid><pubDate>Tue, 03 Mar 2026 12:00:00 GMT</pubDate><description>Um sistema que diz &quot;agora não&quot; é mais saudável do que um que aceita tudo e cai. Construa o caminho da recusa.</description><category>system-design</category><category>reliability</category></item>
<item><title>A IA e o fim do boilerplate, e o que ocupa o espaço</title><link>https://fgxdev.com/pt/articles/ai-and-the-end-of-boilerplate/</link><guid>https://fgxdev.com/pt/articles/ai-and-the-end-of-boilerplate/</guid><pubDate>Sat, 28 Feb 2026 12:00:00 GMT</pubDate><description>Gerar código ficou barato. As habilidades escassas migraram para especificação, verificação e critério, e a carreira foi junto.</description><category>ai</category><category>career</category></item>
<item><title>TTL de DNS e outras coisas pequenas que mordem às 3 da manhã</title><link>https://fgxdev.com/pt/articles/dns-ttl-and-other-things-that-bite/</link><guid>https://fgxdev.com/pt/articles/dns-ttl-and-other-things-that-bite/</guid><pubDate>Fri, 27 Feb 2026 12:00:00 GMT</pubDate><description>As quedas que mais doem raramente são arquiteturais. São um número que alguém definiu uma vez e esqueceu.</description><category>infra</category></item>
<item><title>Máquinas de estado para tudo que importa</title><link>https://fgxdev.com/pt/articles/state-machines-for-everything-that-matters/</link><guid>https://fgxdev.com/pt/articles/state-machines-for-everything-that-matters/</guid><pubDate>Tue, 24 Feb 2026 12:00:00 GMT</pubDate><description>Sopa de flags esconde contradições. Estados explícitos, tabela de transições e log de transições deixam bugs e relatórios óbvios.</description><category>system-design</category><category>engineering</category></item>
<item><title>O que eu procuro em um engenheiro</title><link>https://fgxdev.com/pt/articles/what-i-look-for-in-an-engineer/</link><guid>https://fgxdev.com/pt/articles/what-i-look-for-in-an-engineer/</guid><pubDate>Sun, 22 Feb 2026 12:00:00 GMT</pubDate><description>Nem a stack, nem os anos. Cinco hábitos que aparecem na primeira hora e preveem todo o resto.</description><category>career</category></item>
<item><title>O deploy faz parte do design</title><link>https://fgxdev.com/pt/articles/the-deploy-is-part-of-the-design/</link><guid>https://fgxdev.com/pt/articles/the-deploy-is-part-of-the-design/</guid><pubDate>Fri, 20 Feb 2026 12:00:00 GMT</pubDate><description>Se você não consegue descrever como uma mudança chega em produção com segurança, o design não terminou.</description><category>infra</category><category>system-design</category></item>
<item><title>O bug está sempre na fronteira</title><link>https://fgxdev.com/pt/articles/the-bug-is-always-in-the-boundary/</link><guid>https://fgxdev.com/pt/articles/the-bug-is-always-in-the-boundary/</guid><pubDate>Thu, 19 Feb 2026 12:00:00 GMT</pubDate><description>Dentro de um módulo, o código é consistente consigo mesmo. Os bugs moram onde duas coisas com premissas diferentes se encontram.</description><category>audit</category><category>architecture</category></item>
<item><title>TypeScript como ferramenta de design, não como linter</title><link>https://fgxdev.com/pt/articles/typescript-as-a-design-tool/</link><guid>https://fgxdev.com/pt/articles/typescript-as-a-design-tool/</guid><pubDate>Tue, 17 Feb 2026 12:00:00 GMT</pubDate><description>Se seus tipos só pegam erro de digitação, você usa um décimo da ferramenta. Tipos são onde eu desenho o sistema primeiro.</description><category>fullstack</category><category>typescript</category></item>
<item><title>Como eu reviso código que um modelo escreveu</title><link>https://fgxdev.com/pt/articles/reviewing-ai-generated-code/</link><guid>https://fgxdev.com/pt/articles/reviewing-ai-generated-code/</guid><pubDate>Fri, 13 Feb 2026 12:00:00 GMT</pubDate><description>O mesmo padrão de qualquer pull request, mas os bugs moram em lugares diferentes. Aqui é onde eu olho.</description><category>ai</category><category>audit</category></item>
<item><title>Consistência eventual, explicada para o time de produto</title><link>https://fgxdev.com/pt/articles/eventual-consistency-explained-to-the-product-team/</link><guid>https://fgxdev.com/pt/articles/eventual-consistency-explained-to-the-product-team/</guid><pubDate>Wed, 11 Feb 2026 12:00:00 GMT</pubDate><description>Por que o pedido aparece três segundos depois, quais fluxos nunca podem atrasar e como fazer uma UI que diz a verdade.</description><category>system-design</category></item>
<item><title>Dados cardiovasculares são um problema de sistemas</title><link>https://fgxdev.com/pt/articles/cardiovascular-data-is-a-systems-problem/</link><guid>https://fgxdev.com/pt/articles/cardiovascular-data-is-a-systems-problem/</guid><pubDate>Sun, 08 Feb 2026 12:00:00 GMT</pubDate><description>O coração produz mais tipos de dado do que quase qualquer órgão. Fazê-los concordar não é problema médico. É problema de integração.</description><category>science</category><category>data</category></item>
<item><title>O edge runtime: quando ajuda e quando só move o problema</title><link>https://fgxdev.com/pt/articles/edge-runtime-when-and-when-not/</link><guid>https://fgxdev.com/pt/articles/edge-runtime-when-and-when-not/</guid><pubDate>Thu, 05 Feb 2026 12:00:00 GMT</pubDate><description>Computar perto do usuário só é rápido se o dado está perto da computação. Senão você adicionou uma viagem de ida e volta a cada query.</description><category>fullstack</category><category>nextjs</category></item>
<item><title>Lendo código legado como um arqueólogo</title><link>https://fgxdev.com/pt/articles/reading-legacy-code-like-an-archaeologist/</link><guid>https://fgxdev.com/pt/articles/reading-legacy-code-like-an-archaeologist/</guid><pubDate>Tue, 03 Feb 2026 12:00:00 GMT</pubDate><description>Código legado não é código ruim. É um registro de decisões sob pressão. Aprenda a ler as camadas antes de cavar.</description><category>architecture</category><category>audit</category></item>
<item><title>Agentes também precisam de fronteiras</title><link>https://fgxdev.com/pt/articles/agents-need-boundaries-too/</link><guid>https://fgxdev.com/pt/articles/agents-need-boundaries-too/</guid><pubDate>Sat, 31 Jan 2026 12:00:00 GMT</pubDate><description>Um agente é um loop com permissões. Toda regra que aplico a serviços vale para ele, com um raio de dano maior.</description><category>ai</category><category>architecture</category></item>
<item><title>A rota de API que virou um monólito</title><link>https://fgxdev.com/pt/articles/the-api-route-that-became-a-monolith/</link><guid>https://fgxdev.com/pt/articles/the-api-route-that-became-a-monolith/</guid><pubDate>Thu, 29 Jan 2026 12:00:00 GMT</pubDate><description>Começou como um handler. Dois anos depois é um arquivo de 900 linhas que ninguém ousa tocar. Veja como evitar isso.</description><category>fullstack</category><category>nextjs</category><category>architecture</category></item>
<item><title>Cache é uma decisão de consistência disfarçada</title><link>https://fgxdev.com/pt/articles/caching-is-a-consistency-decision/</link><guid>https://fgxdev.com/pt/articles/caching-is-a-consistency-decision/</guid><pubDate>Tue, 27 Jan 2026 12:00:00 GMT</pubDate><description>Cache é uma cópia, e toda cópia te obriga a decidir o quão desatualizado o usuário pode ver o mundo.</description><category>system-design</category><category>architecture</category></item>
<item><title>Validação não é uma fase</title><link>https://fgxdev.com/pt/articles/validation-is-not-a-phase/</link><guid>https://fgxdev.com/pt/articles/validation-is-not-a-phase/</guid><pubDate>Sat, 24 Jan 2026 12:00:00 GMT</pubDate><description>Times de software aprenderam que testar no final não funciona. Ferramentas de ciência precisam da mesma lição: valide cada etapa.</description><category>science</category><category>engineering</category></item>
<item><title>Load test da coisa certa</title><link>https://fgxdev.com/pt/articles/load-testing-the-right-thing/</link><guid>https://fgxdev.com/pt/articles/load-testing-the-right-thing/</guid><pubDate>Thu, 22 Jan 2026 12:00:00 GMT</pubDate><description>A maioria dos load tests mede a velocidade de servir uma home cacheada. Produção falha em outro lugar.</description><category>infra</category><category>performance</category></item>
<item><title>Contratos antes do código</title><link>https://fgxdev.com/pt/articles/contracts-before-code/</link><guid>https://fgxdev.com/pt/articles/contracts-before-code/</guid><pubDate>Tue, 20 Jan 2026 12:00:00 GMT</pubDate><description>Escreva a interface, o schema e os casos de falha antes da primeira linha de implementação. É a revisão de design mais barata que existe.</description><category>architecture</category><category>engineering</category></item>
<item><title>Uma revisão de segurança que dá para fazer em uma tarde</title><link>https://fgxdev.com/pt/articles/security-review-in-an-afternoon/</link><guid>https://fgxdev.com/pt/articles/security-review-in-an-afternoon/</guid><pubDate>Sat, 17 Jan 2026 12:00:00 GMT</pubDate><description>Não é pentest. As sete verificações que encontram a maior parte do que é explorado de verdade, em quatro horas, com o que você já tem.</description><category>audit</category><category>security</category></item>
<item><title>WebSockets, SSE ou polling: uma tabela de decisão</title><link>https://fgxdev.com/pt/articles/websockets-vs-sse-vs-polling/</link><guid>https://fgxdev.com/pt/articles/websockets-vs-sse-vs-polling/</guid><pubDate>Thu, 15 Jan 2026 12:00:00 GMT</pubDate><description>Três jeitos de levar dado ao vivo ao navegador. O certo depende de direção, escala e hospedagem, não do que soa moderno.</description><category>fullstack</category><category>system-design</category></item>
<item><title>O padrão outbox em palavras simples</title><link>https://fgxdev.com/pt/articles/the-outbox-pattern-in-plain-words/</link><guid>https://fgxdev.com/pt/articles/the-outbox-pattern-in-plain-words/</guid><pubDate>Tue, 13 Jan 2026 12:00:00 GMT</pubDate><description>Commite o evento junto com os dados, deixe um relay publicar, faça consumidores idempotentes. A escrita dupla, resolvida sem jargão.</description><category>system-design</category><category>data</category></item>
<item><title>A pesquisa é um sistema com problema de throughput</title><link>https://fgxdev.com/pt/articles/research-is-a-system-with-a-throughput-problem/</link><guid>https://fgxdev.com/pt/articles/research-is-a-system-with-a-throughput-problem/</guid><pubDate>Sat, 10 Jan 2026 12:00:00 GMT</pubDate><description>Cientistas não são lentos. O pipeline em volta deles é. Como um engenheiro de sistemas enxerga um laboratório.</description><category>science</category><category>system-design</category></item>
<item><title>Blue-green, canary e o rollback honesto</title><link>https://fgxdev.com/pt/articles/blue-green-canary-and-the-honest-rollback/</link><guid>https://fgxdev.com/pt/articles/blue-green-canary-and-the-honest-rollback/</guid><pubDate>Thu, 08 Jan 2026 12:00:00 GMT</pubDate><description>Estratégia de deploy só vale o rollback que ela realmente permite. A maioria dos times superestima o seu.</description><category>infra</category></item>
<item><title>Arquitetura hexagonal sem a cerimônia</title><link>https://fgxdev.com/pt/articles/hexagonal-without-the-ceremony/</link><guid>https://fgxdev.com/pt/articles/hexagonal-without-the-ceremony/</guid><pubDate>Tue, 06 Jan 2026 12:00:00 GMT</pubDate><description>Ports and adapters é uma boa ideia enterrada debaixo de uma pilha de pastas. Fique com a ideia, jogue fora a pilha.</description><category>architecture</category></item>
<item><title>A vantagem do generalista</title><link>https://fgxdev.com/pt/articles/the-generalist-advantage/</link><guid>https://fgxdev.com/pt/articles/the-generalist-advantage/</guid><pubDate>Mon, 05 Jan 2026 12:00:00 GMT</pubDate><description>As falhas moram nas fronteiras entre camadas, e o generalista é quem consegue ver a costura.</description><category>career</category><category>fullstack</category></item>
<item><title>Embeddings não são mágica. São uma compressão dos seus dados.</title><link>https://fgxdev.com/pt/articles/embeddings-are-not-magic/</link><guid>https://fgxdev.com/pt/articles/embeddings-are-not-magic/</guid><pubDate>Sat, 03 Jan 2026 12:00:00 GMT</pubDate><description>Um embedding é um resumo com perdas escolhido pelos dados de treino de outra pessoa. Trate como formato de compressão, não como oráculo.</description><category>ai</category><category>data</category></item>
<item><title>Server Components mudam onde fica a fronteira</title><link>https://fgxdev.com/pt/articles/server-components-change-where-the-boundary-is/</link><guid>https://fgxdev.com/pt/articles/server-components-change-where-the-boundary-is/</guid><pubDate>Tue, 30 Dec 2025 12:00:00 GMT</pubDate><description>A fronteira antiga era a API. A nova é uma diretiva no topo do arquivo. A maioria dos times ainda não percebeu.</description><category>fullstack</category><category>nextjs</category><category>architecture</category></item>
<item><title>A mentira do ambiente de staging</title><link>https://fgxdev.com/pt/articles/the-staging-environment-lie/</link><guid>https://fgxdev.com/pt/articles/the-staging-environment-lie/</guid><pubDate>Sat, 27 Dec 2025 12:00:00 GMT</pubDate><description>Staging prova que o código roda. Quase nunca prova que roda em produção, e fingir o contrário sai caro.</description><category>infra</category><category>engineering</category></item>
<item><title>Quanto custa de verdade um serviço novo</title><link>https://fgxdev.com/pt/articles/the-cost-of-a-new-service/</link><guid>https://fgxdev.com/pt/articles/the-cost-of-a-new-service/</guid><pubDate>Tue, 23 Dec 2025 12:00:00 GMT</pubDate><description>O código é a parte barata. Esta é a fatura que vem junto com cada caixinha que você adiciona ao diagrama.</description><category>architecture</category><category>system-design</category></item>
<item><title>O modelo vai mudar. A interface não deveria.</title><link>https://fgxdev.com/pt/articles/the-model-will-change-the-interface-should-not/</link><guid>https://fgxdev.com/pt/articles/the-model-will-change-the-interface-should-not/</guid><pubDate>Sat, 20 Dec 2025 12:00:00 GMT</pubDate><description>Projete a fronteira em volta do modelo para que trocar provedor, versão ou prompt seja mudança de config, não reescrita.</description><category>ai</category><category>architecture</category></item>
<item><title>Por que ainda escrevo SQL à mão</title><link>https://fgxdev.com/pt/articles/why-i-still-write-sql-by-hand/</link><guid>https://fgxdev.com/pt/articles/why-i-still-write-sql-by-hand/</guid><pubDate>Thu, 18 Dec 2025 12:00:00 GMT</pubDate><description>O banco é o motor mais capaz da sua stack. Um query builder esconde essa capacidade. As queries que importam, eu mesmo escrevo.</description><category>fullstack</category><category>data</category></item>
<item><title>Um checklist de degradação graciosa para times de produto</title><link>https://fgxdev.com/pt/articles/graceful-degradation-checklist/</link><guid>https://fgxdev.com/pt/articles/graceful-degradation-checklist/</guid><pubDate>Tue, 16 Dec 2025 12:00:00 GMT</pubDate><description>Decida de propósito o que o usuário vê quando recomendações, busca, pagamento ou banco falham. Um checklist para times de produto.</description><category>system-design</category><category>reliability</category></item>
<item><title>O que os médicos me ensinaram sobre requisitos</title><link>https://fgxdev.com/pt/articles/what-clinicians-taught-me-about-requirements/</link><guid>https://fgxdev.com/pt/articles/what-clinicians-taught-me-about-requirements/</guid><pubDate>Sun, 14 Dec 2025 12:00:00 GMT</pubDate><description>Achei que sabia levantar requisitos depois de centenas de projetos. Então sentei com gente cujos erros têm pulso.</description><category>science</category><category>career</category></item>
<item><title>Gestão de secrets para times pequenos que vão crescer</title><link>https://fgxdev.com/pt/articles/secrets-management-for-small-teams/</link><guid>https://fgxdev.com/pt/articles/secrets-management-for-small-teams/</guid><pubDate>Thu, 11 Dec 2025 12:00:00 GMT</pubDate><description>O .env é ótimo no dia um e um risco no dia noventa. Este é o caminho que não exige reescrita.</description><category>infra</category><category>security</category></item>
<item><title>O banco de dados não é sua camada de integração</title><link>https://fgxdev.com/pt/articles/the-database-is-not-your-integration-layer/</link><guid>https://fgxdev.com/pt/articles/the-database-is-not-your-integration-layer/</guid><pubDate>Tue, 09 Dec 2025 12:00:00 GMT</pubDate><description>Dois sistemas que compartilham um banco são um sistema com dois pipelines de deploy e nenhum contrato. Veja como sair dessa.</description><category>architecture</category><category>data</category></item>
<item><title>Leia o tratamento de erros primeiro</title><link>https://fgxdev.com/pt/articles/reading-the-error-handling-first/</link><guid>https://fgxdev.com/pt/articles/reading-the-error-handling-first/</guid><pubDate>Mon, 08 Dec 2025 12:00:00 GMT</pubDate><description>Blocos catch são onde um time escreveu o que teme e o que escolheu ignorar. Leia-os antes de qualquer outra coisa.</description><category>audit</category><category>reliability</category></item>
<item><title>O custo de um token em produção</title><link>https://fgxdev.com/pt/articles/the-cost-of-a-token-in-production/</link><guid>https://fgxdev.com/pt/articles/the-cost-of-a-token-in-production/</guid><pubDate>Sat, 06 Dec 2025 12:00:00 GMT</pubDate><description>O preço por token é a menor parte da conta. Contexto, retries e loops são para onde o dinheiro vai de verdade.</description><category>ai</category><category>business</category></item>
<item><title>Auth não é uma decisão de biblioteca</title><link>https://fgxdev.com/pt/articles/auth-is-not-a-library-decision/</link><guid>https://fgxdev.com/pt/articles/auth-is-not-a-library-decision/</guid><pubDate>Thu, 04 Dec 2025 12:00:00 GMT</pubDate><description>Escolha a biblioteca por último. Antes, decida de quem é a identidade, onde a sessão vive e o que acontece quando ela é revogada.</description><category>fullstack</category><category>security</category></item>
<item><title>O problema da partição quente e por que sharding não te salva</title><link>https://fgxdev.com/pt/articles/the-hot-partition-problem/</link><guid>https://fgxdev.com/pt/articles/the-hot-partition-problem/</guid><pubDate>Tue, 02 Dec 2025 12:00:00 GMT</pubDate><description>Sharding espalha chaves, não carga. Quando uma chave é quente por conta própria, você precisa de outra caixa de ferramentas.</description><category>system-design</category><category>data</category></item>
<item><title>O ano em que perdi todos os contratos</title><link>https://fgxdev.com/pt/articles/the-year-i-lost-every-contract/</link><guid>https://fgxdev.com/pt/articles/the-year-i-lost-every-contract/</guid><pubDate>Mon, 01 Dec 2025 12:00:00 GMT</pubDate><description>Em 2020 todos os contratos sumiram em semanas. O que reconstruí tinha outro formato, e o formato é a parte útil.</description><category>career</category><category>life</category></item>
<item><title>Fine-tuning, retrieval ou prompt: uma decisão que tomo toda semana</title><link>https://fgxdev.com/pt/articles/fine-tuning-vs-retrieval-vs-prompting/</link><guid>https://fgxdev.com/pt/articles/fine-tuning-vs-retrieval-vs-prompting/</guid><pubDate>Sat, 29 Nov 2025 12:00:00 GMT</pubDate><description>Três ferramentas, três tipos de problema. A maioria dos times escolhe por empolgação. Eu escolho pelo que muda e com que frequência.</description><category>ai</category></item>
<item><title>Um template de post-mortem que produz mudança</title><link>https://fgxdev.com/pt/articles/an-incident-postmortem-template/</link><guid>https://fgxdev.com/pt/articles/an-incident-postmortem-template/</guid><pubDate>Thu, 27 Nov 2025 12:00:00 GMT</pubDate><description>A maioria dos post-mortems é bem escrita e não muda nada. O template decide qual tipo você vai escrever.</description><category>infra</category><category>reliability</category></item>
<item><title>O problema não é o monolito, é o acoplamento</title><link>https://fgxdev.com/pt/articles/the-monolith-is-not-the-problem/</link><guid>https://fgxdev.com/pt/articles/the-monolith-is-not-the-problem/</guid><pubDate>Tue, 25 Nov 2025 12:00:00 GMT</pubDate><description>Quebrar um monolito emaranhado em serviços te dá um sistema distribuído emaranhado. Resolva o acoplamento primeiro.</description><category>architecture</category></item>
<item><title>Seiscentos projetos depois: o que se repete</title><link>https://fgxdev.com/pt/articles/six-hundred-projects-later/</link><guid>https://fgxdev.com/pt/articles/six-hundred-projects-later/</guid><pubDate>Sat, 22 Nov 2025 12:00:00 GMT</pubDate><description>Depois de mais de 600 projetos construídos, revisados ou auditados, as falhas pararam de me surpreender. A lista curta que sempre volta.</description><category>audit</category><category>career</category></item>
<item><title>Feature flags como arquitetura</title><link>https://fgxdev.com/pt/articles/feature-flags-as-architecture/</link><guid>https://fgxdev.com/pt/articles/feature-flags-as-architecture/</guid><pubDate>Thu, 20 Nov 2025 12:00:00 GMT</pubDate><description>Uma flag é um branch do seu sistema que vive em produção. Trate como tal, ou ela vira o bug que ninguém consegue reproduzir.</description><category>fullstack</category><category>engineering</category></item>
<item><title>A fila que você não sabia que tinha</title><link>https://fgxdev.com/pt/articles/the-queue-you-did-not-know-you-had/</link><guid>https://fgxdev.com/pt/articles/the-queue-you-did-not-know-you-had/</guid><pubDate>Tue, 18 Nov 2025 12:00:00 GMT</pubDate><description>Seu diagrama mostra uma fila. Seu sistema tem vinte. A lei de Little explica por que todas enchem ao mesmo tempo.</description><category>system-design</category></item>
<item><title>Reprodutibilidade é um problema de engenharia</title><link>https://fgxdev.com/pt/articles/reproducibility-is-an-engineering-problem/</link><guid>https://fgxdev.com/pt/articles/reproducibility-is-an-engineering-problem/</guid><pubDate>Sat, 15 Nov 2025 12:00:00 GMT</pubDate><description>'Rodou no meu laptop' não é resultado científico. As ferramentas para resolver isso já existem, e são chatas.</description><category>science</category><category>engineering</category></item>
<item><title>Observabilidade é feature de produto</title><link>https://fgxdev.com/pt/articles/observability-is-a-product-feature/</link><guid>https://fgxdev.com/pt/articles/observability-is-a-product-feature/</guid><pubDate>Thu, 13 Nov 2025 12:00:00 GMT</pubDate><description>Conseguir responder &quot;o que aconteceu com esse usuário&quot; vale mais do que a maioria dos itens do seu roadmap.</description><category>infra</category><category>observability</category></item>
<item><title>Versionar uma API é uma relação, não um número</title><link>https://fgxdev.com/pt/articles/api-versioning-is-a-relationship/</link><guid>https://fgxdev.com/pt/articles/api-versioning-is-a-relationship/</guid><pubDate>Tue, 11 Nov 2025 12:00:00 GMT</pubDate><description>A versão na URL é a parte menos importante. O que importa é quem depende de você e o que você deve a essas pessoas.</description><category>architecture</category><category>engineering</category></item>
<item><title>RAG é um pipeline de dados com um modelo de linguagem no final</title><link>https://fgxdev.com/pt/articles/rag-is-a-data-pipeline/</link><guid>https://fgxdev.com/pt/articles/rag-is-a-data-pipeline/</guid><pubDate>Sat, 08 Nov 2025 12:00:00 GMT</pubDate><description>A maioria das falhas de RAG que audito são bugs de ingestão e retrieval fantasiados de IA. Conserte o pipeline, depois pense no prompt.</description><category>ai</category><category>system-design</category></item>
<item><title>Cache no Next.js sem surpresas</title><link>https://fgxdev.com/pt/articles/caching-in-nextjs-without-surprises/</link><guid>https://fgxdev.com/pt/articles/caching-in-nextjs-without-surprises/</guid><pubDate>Thu, 06 Nov 2025 12:00:00 GMT</pubDate><description>Quatro camadas de cache, uma regra: nunca cacheie o que não consegue nomear, e nunca nomeie o que não consegue invalidar.</description><category>fullstack</category><category>nextjs</category></item>
<item><title>Exactly-once é uma promessa que ninguém cumpre</title><link>https://fgxdev.com/pt/articles/exactly-once-is-a-promise-nobody-keeps/</link><guid>https://fgxdev.com/pt/articles/exactly-once-is-a-promise-nobody-keeps/</guid><pubDate>Tue, 04 Nov 2025 12:00:00 GMT</pubDate><description>Entregar e processar são promessas diferentes. At-least-once mais consumidor idempotente é a garantia que você realmente tem.</description><category>system-design</category><category>engineering</category></item>
<item><title>Strict mode é o code review mais barato que você vai ter</title><link>https://fgxdev.com/pt/articles/strict-mode-is-the-cheapest-review/</link><guid>https://fgxdev.com/pt/articles/strict-mode-is-the-cheapest-review/</guid><pubDate>Thu, 30 Oct 2025 12:00:00 GMT</pubDate><description>Um revisor que lê cada linha, a cada tecla, nunca cansa e não tem ego. Custa uma linha no tsconfig.</description><category>fullstack</category><category>typescript</category></item>
<item><title>Planejamento de capacidade em um guardanapo</title><link>https://fgxdev.com/pt/articles/capacity-planning-on-a-napkin/</link><guid>https://fgxdev.com/pt/articles/capacity-planning-on-a-napkin/</guid><pubDate>Tue, 28 Oct 2025 12:00:00 GMT</pubDate><description>A conta de padaria que diz se você está construindo para 10 rps ou 10.000, e em qual número você está errado.</description><category>system-design</category></item>
<item><title>Modelos pequenos, alavanca grande</title><link>https://fgxdev.com/pt/articles/small-models-big-leverage/</link><guid>https://fgxdev.com/pt/articles/small-models-big-leverage/</guid><pubDate>Sat, 25 Oct 2025 12:00:00 GMT</pubDate><description>O frontier model é o default errado. Quase todo trabalho num pipeline real é estreito, repetitivo e barato de acertar com modelo pequeno.</description><category>ai</category><category>system-design</category></item>
<item><title>Um monorepo TypeScript que continua rápido depois do segundo ano</title><link>https://fgxdev.com/pt/articles/a-typescript-monorepo-that-stays-fast/</link><guid>https://fgxdev.com/pt/articles/a-typescript-monorepo-that-stays-fast/</guid><pubDate>Thu, 23 Oct 2025 12:00:00 GMT</pubDate><description>Monorepos não ficam lentos por serem grandes. Ficam lentos porque ninguém desenhou o grafo de dependências de propósito.</description><category>fullstack</category><category>typescript</category></item>
<item><title>A lei de Conway é uma ferramenta, não uma maldição</title><link>https://fgxdev.com/pt/articles/conways-law-is-a-tool/</link><guid>https://fgxdev.com/pt/articles/conways-law-is-a-tool/</guid><pubDate>Tue, 21 Oct 2025 12:00:00 GMT</pubDate><description>Seu sistema vai espelhar o organograma, goste você ou não. Então desenhe o organograma de propósito.</description><category>architecture</category><category>career</category></item>
<item><title>O pull request que parece bem</title><link>https://fgxdev.com/pt/articles/the-pr-that-looks-fine/</link><guid>https://fgxdev.com/pt/articles/the-pr-that-looks-fine/</guid><pubDate>Sun, 19 Oct 2025 12:00:00 GMT</pubDate><description>Diff pequeno, testes verdes, descrição clara, aprovação rápida. A anatomia da mudança que derrubou a produção mesmo assim.</description><category>audit</category><category>engineering</category></item>
<item><title>Backup que você nunca restaurou é hipótese</title><link>https://fgxdev.com/pt/articles/backups-you-have-never-restored/</link><guid>https://fgxdev.com/pt/articles/backups-you-have-never-restored/</guid><pubDate>Fri, 17 Oct 2025 12:00:00 GMT</pubDate><description>Backup é uma afirmação sobre o futuro. Só o restore transforma ele em fato.</description><category>infra</category><category>reliability</category></item>
<item><title>Evolução de schema sem downtime</title><link>https://fgxdev.com/pt/articles/schema-evolution-without-downtime/</link><guid>https://fgxdev.com/pt/articles/schema-evolution-without-downtime/</guid><pubDate>Wed, 15 Oct 2025 12:00:00 GMT</pubDate><description>Expand and contract, backfill em lotes, migrations conscientes de lock e cutover por flag: como mudar o schema com tudo rodando.</description><category>system-design</category><category>data</category></item>
<item><title>Structured outputs são contratos</title><link>https://fgxdev.com/pt/articles/structured-outputs-are-contracts/</link><guid>https://fgxdev.com/pt/articles/structured-outputs-are-contracts/</guid><pubDate>Sat, 11 Oct 2025 12:00:00 GMT</pubDate><description>Um schema transforma o modelo de gerador de texto em componente integrável. Trate com a seriedade de uma API.</description><category>ai</category><category>engineering</category></item>
<item><title>Timeout é a resiliência mais barata que você vai comprar</title><link>https://fgxdev.com/pt/articles/timeouts-are-the-cheapest-resilience/</link><guid>https://fgxdev.com/pt/articles/timeouts-are-the-cheapest-resilience/</guid><pubDate>Thu, 09 Oct 2025 12:00:00 GMT</pubDate><description>Sem timeout significa infinito. Como eu defino connect, read e orçamento total para uma dependência lenta não derrubar tudo.</description><category>system-design</category><category>reliability</category></item>
<item><title>Ciência aberta precisa de infraestrutura chata</title><link>https://fgxdev.com/pt/articles/open-science-needs-boring-infrastructure/</link><guid>https://fgxdev.com/pt/articles/open-science-needs-boring-infrastructure/</guid><pubDate>Sun, 05 Oct 2025 12:00:00 GMT</pubDate><description>Ciência aberta não falha nos ideais. Falha em armazenamento, identificadores, uptime e na pessoa não paga que mantém o servidor vivo.</description><category>science</category><category>infra</category></item>
<item><title>Dívida técnica é um empréstimo, e todo empréstimo tem um nome</title><link>https://fgxdev.com/pt/articles/technical-debt-is-a-loan-with-a-name/</link><guid>https://fgxdev.com/pt/articles/technical-debt-is-a-loan-with-a-name/</guid><pubDate>Thu, 02 Oct 2025 12:00:00 GMT</pubDate><description>A dívida não é o atalho. É o atalho sem dono, sem prazo e sem data de pagamento. Conserte a metáfora e o backlog anda.</description><category>architecture</category><category>career</category></item>
<item><title>Da gráfica ao quadro branco</title><link>https://fgxdev.com/pt/articles/from-the-print-shop-to-the-whiteboard/</link><guid>https://fgxdev.com/pt/articles/from-the-print-shop-to-the-whiteboard/</guid><pubDate>Wed, 01 Oct 2025 12:00:00 GMT</pubDate><description>Recorte de vinil, conserto de eletrônicos e obra me ensinaram os três hábitos que ainda uso para desenhar sistemas.</description><category>career</category><category>life</category></item>
</channel></rss>