Da ich ein besserer Entwickler geworden bin, spüre ich, dass ein Großteil meiner Konstruktionsfähigkeiten eher auf der Intuition als auf der mechanischen Analyse beruht. Das ist toll. Dadurch kann ich Code lesen und schneller ein Gefühl dafür bekommen. Dadurch kann ich Entwürfe viel einfacher zwischen Sprachen und Abstraktionen übersetzen. Und damit kann ich Dinge schneller erledigen.
Der Nachteil ist, dass es mir schwerer fällt, Teammitgliedern (und noch schlimmer dem Management) zu erklären, warum ein bestimmtes Design vorteilhaft ist. vor allem Teamkollegen, die mit Best Practices hinter der Zeit sind. "Dieses Design ist mehr testbar!" oder "Sie sollten die Komposition der Vererbung vorziehen." Gehen Sie direkt über ihre Köpfe hinweg und führen Sie mich in das Kaninchenloch, in dem ich versuche, alle auf das letzte Jahrzehnt der Fortschritte in der Softwareentwicklung hinzuweisen.
Ich werde es natürlich mit dem Üben besser machen, aber in der Zwischenzeit ist es mit viel Zeitverschwendung und / oder schlechtem Design verbunden (das wird zu Zeitverschwendung führen, um es später zu reparieren). Wie kann ich besser erklären, warum ein bestimmtes Design überlegen ist, wenn die Vorteile für das Publikum nicht ganz offensichtlich sind?