11 pontos por ashbyash 2025-11-26 | Ainda não há comentários. | Compartilhar no WhatsApp

Em engenharia de software, “bom gosto” não significa preferência por uma stack tecnológica específica, mas sim a capacidade de escolher com flexibilidade os valores de engenharia que melhor se encaixam na situação de um projeto.

Gosto é um conceito diferente de competência

  • Gosto técnico é uma sensibilidade independente da competência, como o paladar na culinária. É um conceito que aparece na capacidade de distinguir “este código é agradável/desagradável de ver” ou “esta decisão de design me agrada/é questionável”, mesmo sem necessariamente escrever código muito bem.
  • Escolhas como for loop vs map/filter não representam uma superioridade técnica absoluta, mas apenas diferenças de gosto conforme os valores que cada pessoa considera mais importantes, como legibilidade, simplicidade ou desempenho. No fim, o engenheiro julga com base no conjunto de valores que prioriza.

Gosto em engenharia = prioridade de valores

  • A maior parte das decisões em engenharia de software envolve trade-offs entre valores como desempenho, legibilidade, correção, flexibilidade, escalabilidade, resiliência, portabilidade e velocidade de desenvolvimento, e raramente existe uma escolha em que um lado esteja absolutamente certo.
  • O gosto de um engenheiro é definido por quais desses valores ele prioriza e em que grau. Por exemplo, se valoriza velocidade e correção mais do que velocidade de desenvolvimento, tenderá a preferir Rust e uma nuvem específica; se valoriza resiliência mais do que velocidade, fará naturalmente escolhas como distribuição multi-região.

Mau gosto: culto inflexível às “best practices”

  • Mau gosto aparece quando os valores preferidos da pessoa não combinam com o projeto atual, mas ela insiste em empurrar metodologias que acredita terem funcionado no passado — como verificação formal, reescrita em uma linguagem específica, multi-região excessiva ou metaprogramação complexa — sem considerar o contexto.
  • Essas pessoas justificam suas escolhas com critérios absolutos do tipo “isso é best practice”. Pode funcionar bem em situações específicas, mas quando o contexto muda, isso acaba conduzindo a equipe na direção errada, como uma bússola descalibrada.

Bom gosto: escolher valores adequados ao contexto e ter flexibilidade

  • Bom gosto é a capacidade de escolher corretamente quais valores colocar em primeiro plano e quais sacrificar dentro de um problema específico e sob restrições organizacionais e de negócio. Por isso, é algo difícil de medir com perguntas simples ou testes teóricos, e só se revela no design e nos resultados de projetos reais.
  • Só depois de observar repetidamente, em vários projetos, o padrão de que projetos com designs com os quais você concordava deram certo, enquanto projetos com escolhas das quais você discordava sofreram mais, é que se pode verificar se “meu gosto estava certo/errado neste contexto”.

Como desenvolver bom gosto

  • A ideia é que bom gosto não se adquire por meio de uma única resposta correta ou de um livro-texto, mas vai sendo acumulado aos poucos ao passar por diferentes tipos de projeto e revisitar conscientemente questões como “o que fluiu bem e onde houve dificuldade” e “quais escolhas de valor acabaram cobrando seu preço depois”.
  • O ponto central é a flexibilidade: em vez de tratar uma linguagem, padrão ou arquitetura específica como regra absoluta, é importante manter abertura para novos domínios e para o gosto dos colegas, experimentar diferentes perspectivas e linguagens e continuar atualizando o próprio gosto de base.

Ainda não há comentários.

Ainda não há comentários.