Pertanyaan ini terinspirasi oleh pertanyaan ini . Sementara pertanyaan lain itu dianggap terlokalisasi, saya percaya masalah mendasarnya adalah sesuatu yang sangat umum di industri kami. Saya tahu ada beberapa pengembang, yang akan membaca ini dan berpikir saya membuat hal ini dan kemudian mereka mungkin menjawab bagaimana semua orang peduli dengan pekerjaan mereka dan ingin belajar, tetapi hanya melihat posting Programmer SE lainnya ( contohnya ), Saya tahu itu tidak benar secara universal.
Jadi katakanlah Anda memiliki seseorang di tim Anda (atau mungkin mayoritas) yang prosedur operasi standarnya adalah untuk menyalin / menempel dan yang percaya bahwa semuanya dapat diselesaikan jika hanya Anda menambahkan cukup panggilan fungsi dan variabel. Orang ini tidak pernah mendengar TDD, KERING atau SOLID dan di luar 40 jam di tempat kerja ketika mereka sibuk bekerja, mereka tidak pernah membaca satu metodologi / praktik / buku desain.
Di masa lalu saya (dan yang lainnya) bertanya, bagaimana Anda mengajar OOD . Tapi sekarang saya berpikir itu bukan pertanyaan yang tepat. Pertanyaan sebenarnya adalah bagaimana Anda mendekati orang / tim tersebut dan membuat mereka ingin tahu tentang cara yang lebih baik dalam melakukan sesuatu? Bagaimana Anda menginspirasi mereka untuk belajar? Tanpa itu, tampaknya semua pengajaran, pertemuan, ceramah, diskusi tidak berguna jika mereka benar-benar bahagia kembali ke meja mereka dan melakukan apa yang selalu mereka lakukan.
Saya bekerja dengan banyak orang seperti itu. Mereka sebenarnya adalah individu yang cukup cerdas, tetapi saya benci ketika saya mendengar, "Saya selesai mengkode, hanya perlu refactor dan dibagi menjadi beberapa kelas untuk membuat DXM bahagia". Mereka tidak melakukan refactor untuk kode yang lebih bersih, mudah dibaca, dapat dipelihara, tetapi hanya karena jika tidak mereka akan dimarahi. Saya tahu mereka mampu belajar, sepertinya ada sedikit motivasi.
Ketika saya memberikan pekerjaan, umumnya bug memiliki cara yang lebih sedikit dan pekerjaan yang saya miliki tidak pernah menjadi 5.000 baris kelas. Yang lain akan membuat komentar seperti, "kode Anda jauh lebih bersih dan mudah dibaca daripada barang-barang kami", sehingga mereka melihat perbedaannya. Tetapi pada saat yang sama, saya merasa mereka percaya bahwa mereka dibayar selama 40 jam terlepas dari apa yang mereka lakukan, jadi mereka sebenarnya tidak keberatan jika mereka menghabiskan 3 hari penuh di QA mencari bug yang seharusnya tidak diperkenalkan di posisi pertama. Atau mereka membutuhkan waktu satu minggu untuk memodifikasi satu kelas karena ada begitu banyak dependensi yang akhirnya mereka sentuh. Namun, "mungkin kelas itu seharusnya ditulis secara berbeda" sepertinya tidak pernah muncul.
Adakah yang bisa dilakukan dalam situasi ini? Adakah yang berhasil? Atau yang terbaik adalah mengisolasi pola pikir seperti itu ke bagian-bagian proyek yang tidak kritis dan meminimalkan kerusakan?
CATATAN: Ketika saya mengatakan "kurangnya motivasi". Saya tidak berpikir itu kurang motivasi untuk bekerja atau melakukan pekerjaan dengan baik karena mereka hanya berhenti peduli. Sebagian besar tim kami sebenarnya justru sebaliknya. Mereka pasti peduli dengan produknya. Kami memiliki orang-orang yang akan bekerja malam dan akhir pekan. Bagian yang saya coba lalui adalah dengan kebiasaan dan keterampilan yang lebih baik, mereka sebenarnya tidak perlu bekerja terlalu banyak. Saya kira "40 jam" membuat pos ini terdengar agak terlalu negatif.