YAGNI x deixar a porta aberta
Pergunta
Como você equilibra YAGNI ('você não vai precisar disso') com a necessidade de não se pintar num canto arquitetural?
Resposta esperada
YAGNI diz pra não construir capacidade especulativa — não abstrair pra um segundo caso de uso que talvez nunca venha, não adicionar configurabilidade que ninguém pediu. O custo do YAGNI mal aplicado é code hoje que fica no caminho amanhã. O equilíbrio: YAGNI se aplica forte a FEATURES e a ABSTRAÇÕES prematuras (baratas de adicionar depois, quando o padrão real aparece); mas decisões estruturais caras de reverter (o modelo de dados, a fronteira entre serviços, síncrono vs assíncrono no core) merecem pensar no provável futuro, porque 'adicionar depois' ali significa migração. A regra prática: não construa o que não precisa, mas evite decisões que FECHAM portas importantes de graça. Manter o código simples e bem fatorado é o que deixa a porta aberta — não uma camada de indireção 'pro caso de'.
Por que perguntam isso
Pergunta sênior. Conecta YAGNI com decisões reversíveis. Bom candidato distingue 'feature especulativa' de 'decisão que fecha porta'.