Um bom programador escreve código funcional. Um bom engenheiro de software resolve o problema certo holisticamente — dominando requisitos, design, tradeoffs, manutenibilidade, testes, operações e o contexto de negócios ao redor do código. Engenharia é código mais julgamento mais responsabilidade sobre todo o ciclo de vida.
Onde a linha realmente fica
Escrever código que passa nos testes é a parte fácil e aprendível. A parte mais difícil e valiosa é tudo ao redor disso: decidir construir, deve se encaixar no sistema, e de conviver com isso depois.
