Dato che sono diventato uno sviluppatore migliore, trovo che gran parte delle mie capacità progettuali provengono più dall'intuizione che dall'analisi meccanica. Questo è fantastico Mi permette di leggere il codice e di sentirlo più velocemente. Mi permette di tradurre i disegni tra lingue e astrazioni molto più facilmente. E mi permette di fare le cose più velocemente.
Il rovescio della medaglia è che trovo più difficile spiegare ai compagni di squadra (e peggio, alla direzione) perché un particolare design sia vantaggioso; soprattutto i compagni di squadra che sono in ritardo sulle migliori pratiche. "Questo design è più testabile!" o "Dovresti favorire la composizione rispetto all'eredità". andare oltre le loro teste e condurre nella mia tana di coniglio cercando di indurre tutti nell'ultimo decennio di progressi nell'ingegneria del software.
Ci riuscirò meglio con la pratica ovviamente, ma nel frattempo comporta un sacco di tempo sprecato e / o cattivo design (che porterà a perdere tempo a ripararlo in seguito). Come posso spiegare meglio perché un determinato design è superiore, quando i benefici non sono completamente evidenti per il pubblico?