Karena saya telah menjadi pengembang yang lebih baik, saya menemukan bahwa sebagian besar keterampilan desain saya berasal lebih dari intuisi daripada analisis mekanik. Ini bagus. Ini memungkinkan saya membaca kode dan lebih cepat merasakannya. Ini memungkinkan saya menerjemahkan desain antara bahasa dan abstraksi dengan lebih mudah. Dan itu membuat saya menyelesaikan lebih cepat.
Kelemahannya adalah saya merasa lebih sulit untuk menjelaskan kepada rekan satu tim (dan lebih buruk lagi, manajemen) mengapa desain tertentu menguntungkan; terutama rekan satu tim yang ketinggalan zaman dalam praktik terbaik. "Desain ini lebih bisa diuji!" atau "Anda harus memilih komposisi daripada warisan." pergi tepat di atas kepala mereka, dan mengarah ke lubang kelinci saya mencoba untuk memberi petunjuk semua orang dalam dekade terakhir dari kemajuan rekayasa perangkat lunak.
Saya akan menjadi lebih baik dengan latihan tentu saja, tetapi sementara itu melibatkan banyak waktu yang terbuang dan / atau desain yang buruk (yang akan menyebabkan waktu terbuang memperbaikinya nanti). Bagaimana saya bisa lebih menjelaskan mengapa desain tertentu lebih unggul, ketika manfaatnya tidak sepenuhnya jelas bagi audiens?