Uma das decisões mais recorrentes no meu trabalho não é técnica no sentido estrito — é uma decisão de custo e prioridade: construir algo do zero ou usar uma solução pronta. Depois de anos alternando entre as duas respostas, tenho um critério que uso quase sempre.
A pergunta que faço primeiro
Isso é o diferencial do negócio, ou é commodity? Se for algo que qualquer concorrente também precisa e já existe resolvido — autenticação, envio de e-mail, processamento de pagamento — uso uma solução pronta e gasto meu tempo no que realmente diferencia o produto. Foi assim que decidi usar PHPMailer em vez de reescrever envio de e-mail, e Firebase em projetos onde o backend próprio não era o diferencial.
Essa mesma pergunta orienta minhas escolhas de plataforma: uso WordPress ou Magento quando o cliente precisa de algo padrão que essas plataformas já resolvem bem, e construo sob medida em Laravel quando a regra de negócio do cliente foge do que uma plataforma genérica entrega.
Quando construir do zero vale
Quando a lógica é o próprio produto — como o sistema de progresso, ranking e correção de provas do Simulado Solidário — construir do zero é o que permite controlar exatamente como aquilo se comporta, sem as limitações de uma solução genérica de terceiros. Nesses casos, o tempo investido não é custo, é o próprio valor que estou entregando.
O risco de errar essa decisão
Errar para o lado de construir tudo do zero desperdiça tempo em commodity que já existe resolvido. Errar para o lado de usar solução pronta onde havia diferencial real trava o produto nas limitações de uma ferramenta genérica. Esse dilema é conhecido como make-or-buy. Antes de decidir, sempre pergunto qual erro custa mais caro para aquele projeto específico — e é essa pergunta, mais do que qualquer preferência técnica, que orienta a resposta.



