Junte-se à 7.500+ devs e receba e-mails semanais com a melhor curadoria de artigos, repositórios e outros links interessantes da área tech.
Share
#150 - Missão (quase) impossível: escalar sem reescrever tudo
Published about 2 months ago • 4 min read
Hey! 👋
Que tal apoiar a Codecon e ganhar benefícios exclusivos?
Por R$15/mês ou R$ 180/ano, você apoia nossos projetos, entra nos bastidores do que rola por aqui, troca ideia com quem tá por trás da Codecon e ainda curte vantagens em eventos, produtos e muito mais.
E mais! Durante esse mês de maio, se a gente conseguir atingir a primeira meta, vamos sortear um NINTENDO SWITCH novinho. Bora lá? Faltam poucas pessoas!
Escalar um sistema que cresce quase 100 vezes não é pra qualquer um, mas a equipe de banco de dados da Figma encarou esse desafio de frente, e viveu pra contar. Tudo começou com o particionamento vertical, que foi uma solução rápida e eficiente pra ganhar fôlego. Mas logo perceberam: isso só resolveria até certo ponto.
À medida que os dados cresciam e as tabelas ficavam gigantescas (tipo, bilhões de linhas!), o Postgres começou a mostrar sinais de cansaço. Vacuums demorando, limites de IOPS estourando... Era hora de algo maior: o particionamento horizontal.
Mas eles queriam fazer isso do jeito certo: sem travar o desenvolvimento, sem downtime pesado, sem refazer o sistema todo. Avaliaram soluções como CockroachDB e Spanner, mas o risco era alto demais. Também descartaram migrar pra NoSQL, pois o modelo relacional do Figma era complexo demais pra isso.
A solução? Construir o próprio sharding horizontal em cima da infra de Postgres já existente. Criaram os “colos” (grupos de tabelas com a mesma chave de fragmentação), implementaram fragmentação lógica com visualizações, desenvolveram um serviço chamado DBProxy pra rotear as consultas... Tudo isso pra escalar sem quebrar o produto.
Foram nove meses de trabalho até conseguir shardear a primeira tabela com sucesso. Mas agora, com essa estrutura em pé, o Figma pode escalar quase infinitamente, e o mais legal: sem os devs precisarem ficar refatorando código toda hora.
Foi desafiador, mas ao mesmo tempo empolgante. Como eles mesmos dizem: se o particionamento vertical foi a estrada, o horizontal abriu caminho pro voo.
Um recado do patrocinador 📣
O time de tecnologia do Asaas está crescendo e tem vagas abertas para diferentes níveis de experiência. Por lá, valoriza-se a autonomia com responsabilidade, troca constante entre os times e um ambiente onde organização e colaboração caminham lado a lado.
O modelo de trabalho é 100% remoto, com auxílio educação, plano de saúde integral e muitos outros benefícios. Se você quer evoluir na carreira e contribuir com a missão de simplificar o mercado financeiro, confira as oportunidades abertas.
👂 ouvir
Saber ouvir de verdade vai muito além de fazer cara de atento e balançar a cabeça. Significa deixar o outro sentir o que sente sem tentar consertar, não dar conselhos sem ser pedido, não transformar tudo em "isso já aconteceu comigo!", e até saber fazer boas perguntas. Ouvir bem exige empatia real, aquela que desliga o ego por uns minutinhos. E acredite: isso pode transformar seus relacionamentos. Porque ouvir de verdade é um superpoder simples… mas que quase ninguém usa direito. Bora praticar?
🤓 aprender
Aprender algo novo pode ser um baita desafio: você se sente burro, fica impaciente, morre de medo de fracassar, se sabota por ansiedade e ainda é inconsistente. Mas a real é que isso faz parte do processo. O segredo? Abraçar o papel de iniciante, fazer perguntas (mesmo as bobas), colocar a mão na massa e manter a constância. Errar faz parte. Se quiser aprender 10x mais rápido, foque no essencial, pratique sem frescura e não fique só acumulando conhecimento: use-o! A jornada é longa, mas vale cada curva.
🧑💻 open source
Trabalhar com código aberto pode ser incrível, mas não é tão simples quanto parece. No começo, tudo é empolgação: contribuir com projetos, aprender muito e até ganhar uns brindes por isso. Com o tempo, vem a realidade: manter a qualidade exige dedicação, e tempo também custa. Algumas empresas pagam pelas contribuições, surgem parcerias, patrocínios e até salários por horas dedicadas. Ainda assim, viver só de open source é difícil. Mas uma coisa é certa: quem ama o que faz, continua, com ou sem pagamento.
⏳ contra o tempo
É possível desenvolver aplicações em 60 minutos? Essa é a missão do dev Bryant. E você pode acompanhá-lo em uma série de vídeos em que ele tenta fazer isso usando a plataforma de código aberto Directus. Seu objetivo é desenvolver completamente a funcionalidade principal do aplicativo ou fazer um progresso significativo dentro da hora estipulada.
👀 essa tarefa vai levar quanto tempo?
Um dos maiores erros na engenharia de software é tratar estimativas como prazos fixos. Aquela previsão inocente de “dois dias” vira motivo de cobrança, pressão e até microgerenciamento quando algo sai do previsto — o que, aliás, é bem comum. O problema? Não é o time, e sim o modelo mental que distorce o que é uma estimativa. Veja o vídeo e entenda por que toda estimativa está errada, quais leis e vieses estão por trás disso e como se proteger de cobranças injustas em ambientes imprevisíveis como o desenvolvimento de software.
😀 diversão
Programar pode ser uma experiência divertida e cheia de criatividade, às vezes até demais! O desafio: descobrir a duração de arquivos MP3 e M4A de forma leve, sem depender de bibliotecas externas ou ferramentas como ffprobe. A solução: usar Promise.race para correr atrás (literalmente) dos metadados, iniciando duas buscas: uma do começo e outra do fim do arquivo. Quem achar primeiro, vence. E a perdedora é cancelada com estilo usando AbortController. Um ótimo exemplo de como simplicidade e criatividade podem andar juntas no código!
No episódio dessa semana do podcast conversamos com Giovana Barretos, Software Development Engineer in Test na Volvo. Trocamos uma ideia muito legal sobre a importância de testes e de olhar pra qualidade do software desde o começo.
Hey! 👋 O amor está no ar! E a gente ama tanto a comunidade dev que estamos preparando uma SUPER PROMO para o Dia dos Namorados. 💕 Somente no dia 12 de junho, os ingressos pra Codecon Summit 2025 estarão com valores especiais. Fique ligado em nosso site e não perca esse presente. Com carinho: equipe Codecon. 💌 Entre o dev estrela e o dev time: eu fico com o segundo Sabe aquele papo de “engenheiro 10x”? Muita gente acha que é lenda, outros juram que todo time precisa de um. Mas o real é que ser...
Hey! 👋 A Codecon Summit 25 está com a programação totalmente definida! Se você queria saber tudo que vai rolar antes de comprar o ingresso, chegou a hora. No site você já pode ver a lista completa de palestrantes, os temas das palestras e os horários. Confira tudo aqui! Até mais,Gabriel Nunes (@nunesgabriel) Desmistificando o GC: nem todo herói usa ponteiro manual Em um mundo onde velocidade e concorrência são reis, os sistemas operacionais precisam ser rápidos como um foguete e multitarefa...
Hey! 👋 Você sabia que agora temos uma comunidade no Discord? Bom, na verdade a gente já tinha, só tava abandonada. Mas agora ela tá ativa novamente e estamos sempre trocando ideia por lá (tem até um bot de lo-fi). E junto dela, a gente também lançou o plano Codecon Pro. Uma forma de você apoiar a Codecon a tirar mais projetos do papel. Mais barato que um lanche por mês Até mais,Gabriel Nunes (@nunesgabriel) ADRs: o diário de bordo da arquitetura Quando a gente fala de decisões de arquitetura...