<?xml version="1.0" encoding="UTF-8" ?>
  <rss version="2.0">
    <channel>
      <title>Blog | João Pedro</title>
      <link>https://joaopmendes.dev</link>
      <description>Engineer who builds systems. Founder who shipped a real agency.</description>
      <item>
          <title>Olá, Mundo! — Apresentando o blog do joaopmendes.dev</title>
          <link>https://joaopmendes.dev/blog/ola-mundo</link>
          <description>Primeiro post do meu portfolio: quem sou, o que construo como Software Engineer na Axxos, e o que você vai encontrar neste blog.</description>
          <pubDate>2026-04-28T00:00:00.000Z</pubDate>
        </item>
<item>
          <title>Aprender a Programar em 2026 Ainda Vale a Pena? Uma Resposta de Quem Fez o Caminho Torto</title>
          <link>https://joaopmendes.dev/blog/aprender-a-programar-em-2026-ainda-vale</link>
          <description>A IA escreve código melhor que iniciante. Faculdades esvaziando, vagas júnior sumindo. Ainda assim, minha resposta é sim, mas por razões diferentes das de 2019.</description>
          <pubDate>2026-07-09T00:00:00.000Z</pubDate>
        </item>
<item>
          <title>Auto-Scaling That Doesn't Lie — What I Learned Tuning HPA on AWS</title>
          <link>https://joaopmendes.dev/blog/autoscaling-that-doesnt-lie-hpa-aws</link>
          <description>CPU-based HPA gave us scaling that looked right and worked wrong. Here is how I diagnosed it on the Axxos CRM and what I replaced it with on EKS.</description>
          <pubDate>2026-05-28T00:00:00.000Z</pubDate>
        </item>
<item>
          <title>Stop Chasing Tickets — How Outcome-Driven Work Changed My Engineering</title>
          <link>https://joaopmendes.dev/blog/stop-chasing-tickets-outcome-driven-engineering</link>
          <description>I spent a year measuring myself by tickets closed. The metric was easy to game and impossible to be proud of. Here is what I changed and why output is not the same as outcome.</description>
          <pubDate>2026-05-28T00:00:00.000Z</pubDate>
        </item>
<item>
          <title>Webhooks Confiáveis — Como Construí o Sistema de Eventos do Axxos CRM</title>
          <link>https://joaopmendes.dev/blog/webhooks-confiaveis-axxos-crm</link>
          <description>Retry com backoff, idempotência no receptor e dead letter queue: o que aprendi montando o sistema de webhooks do Axxos CRM depois de perder eventos em produção.</description>
          <pubDate>2026-05-28T00:00:00.000Z</pubDate>
        </item>
<item>
          <title>Como Eu Arquitetaria o Diamante do Ano de Diamantina</title>
          <link>https://joaopmendes.dev/blog/arquitetura-diamante-do-ano-diamantina</link>
          <description>Um sistema de votação parece simples até você sentar para pensar nos invariantes reais. Análise de arquitetura do Diamante do Ano: autenticação, anti-fraude, unicidade de voto e por que cada escolha técnica importa.</description>
          <pubDate>2026-05-26T00:00:00.000Z</pubDate>
        </item>
<item>
          <title>Como um VCS funciona por dentro — object store, índice e o DAG de commits</title>
          <link>https://joaopmendes.dev/blog/como-funciona-um-vcs-por-dentro</link>
          <description>A maioria dos devs usa Git todos os dias sem saber o que acontece por baixo. Esse post explica os três pilares de qualquer VCS moderno: object store, índice binário e DAG de commits — usando o marsh como exemplo prático.</description>
          <pubDate>2026-05-20T00:00:00.000Z</pubDate>
        </item>
<item>
          <title>marsh — eu construí um controle de versão do zero (e o que aprendi)</title>
          <link>https://joaopmendes.dev/blog/marsh-vcs-do-zero</link>
          <description>Por que alguém constrói um VCS do zero em 2026? O que você realmente aprende sobre como o Git funciona quando não pode usar ele como muleta? Essa é a história do marsh.</description>
          <pubDate>2026-05-20T00:00:00.000Z</pubDate>
        </item>
<item>
          <title>De Founder a Engenheiro: o que gerir uma agência ensina</title>
          <link>https://joaopmendes.dev/blog/founder-para-engenheiro</link>
          <description>Quando você já foi o cliente, você programa diferente. 5 lições que a Lumethros me deu que nenhum tutorial ensina sobre construir software real.</description>
          <pubDate>2026-05-03T00:00:00.000Z</pubDate>
        </item>
<item>
          <title>Funil de Vendas no PostgreSQL: 4 iterações até acertar</title>
          <link>https://joaopmendes.dev/blog/funil-de-vendas-no-banco-de-dados</link>
          <description>Como modelei um funil de vendas flexível no PostgreSQL para o Axxos CRM — do schema ingênuo ao histórico auditável com snapshots.</description>
          <pubDate>2026-05-02T00:00:00.000Z</pubDate>
        </item>
<item>
          <title>Axxos CRM: do zero à economia de 60% em infra</title>
          <link>https://joaopmendes.dev/blog/axxos-crm</link>
          <description>Como liderei o desenvolvimento de um CRM completo em NestJS e Next.js — substituindo planilhas por automação com 60% menos custo de infra.</description>
          <pubDate>2026-05-01T00:00:00.000Z</pubDate>
        </item>
<item>
          <title>Axxos Indica: plataforma de indicações B2B com gamificação</title>
          <link>https://joaopmendes.dev/blog/axxos-indica</link>
          <description>Como estruturei um canal de indicações auditável e gamificado em NestJS que virou o principal canal de vendas do ERP Axxos — LGPD compliant.</description>
          <pubDate>2026-05-01T00:00:00.000Z</pubDate>
        </item>
<item>
          <title>Stone Destino Chile: ranking em tempo real com WebSockets</title>
          <link>https://joaopmendes.dev/blog/stone-destino-chile</link>
          <description>Como construí uma plataforma de incentivo comercial gamificada com ranking em tempo real via Socket.io para a equipe de vendas da Stone.</description>
          <pubDate>2026-04-30T00:00:00.000Z</pubDate>
        </item>
    </channel>
  </rss>