Da un lato, mi è stato insegnato da vari libri di ingegneria del software ([1] come esempio) che il mio lavoro di programmatore è quello di creare il miglior software possibile: grande design, flessibilità, facilità di manutenzione, ecc.
D'altra parte, anche se mi rendo conto che in realtà scrivo software per soldi e non per intrattenimento, anche se è molto bello scrivere un buon codice e pianificare in anticipo e refactoring dopo la scrittura e ... mi chiedo se è sempre meglio per il affari (dopotutto dovremmo essere responsabili). L'azienda beneficia sempre di un codice migliore? Forse sto sovrastimando qualcosa, e non è sempre utile?
Quindi come faccio a sapere quando fermarmi nel processo per ottenere il miglior codice possibile? Sono sicuro che l'esperienza è qualcosa che fa la differenza qui, ma credo che questa non possa essere l'unica risposta.
[1] Uncle Bob's in Clean Code dice a pagina 6 che:
They [managers] may defend the schedule and requirements with passion; but that’s their job. It’s your job to defend the code with equal passion.