Rafael Dev </>
Todos os posts
10 de maio de 2026

Design de sistemas para devs: o que eu aprendi construindo do zero

arquiteturabackendaprendizado

Depois de construir alguns sistemas do zero — de landing pages simples a plataformas com múltiplos módulos —, comecei a notar padrões. Não necessariamente os padrões que os livros ensinam, mas os que aparecem quando você está no meio de um projeto e precisa tomar uma decisão rápida.

O problema do "depois eu arrumo"

Todo dev já disse isso. Toda vez que você diz "depois eu arrumo", você está essencialmente criando dívida técnica que vai cobrar juros mais caro do que qualquer cartão de crédito.

O truque não é não criar dívida. Às vezes você precisa. O truque é ser explícito sobre ela.

// TODO: extrair para service quando tiver mais de um caso de uso
const user = await db.query('SELECT * FROM users WHERE id = $1', [userId]);

Um comentário honesto vale mais do que uma abstração prematura.

Separe o que muda do que não muda

Essa é a ideia central de quase todo padrão de design que existe. A implementação muda; a interface não deveria.

Quando comecei, eu acoplava tudo. Uma função buscava, transformava, e salvava. Parecia eficiente. Era um pesadelo para testar.

Automação não é luxo

Por muito tempo eu achei que automatizar era coisa de time grande. Que eu não tinha escala suficiente para justificar o esforço.

Errei feio. Um script Python que roda todo dia às 8h e me manda um relatório por e-mail economiza 30 minutos de trabalho manual. Em um mês, são 10 horas. Vale qualquer investimento.

Claro que, trabalhando com isto, é mais facil aplicar. Porém, pelo mesmo motivo eu digo que não é um bixo de 7 cabeças. Basta entender o tamanho do benefício e aplicar um pouco de esforço para resolver o problema.