Dalam Menangani pertanyaan rekan kerja kuno saya , berbagai orang membahas strategi untuk berurusan dengan rekan kerja yang tidak mau mengintegrasikan alur kerja mereka dengan tim.
Saya ingin, jika mungkin, mempelajari beberapa strategi untuk "mengajar" seorang rekan kerja yang tidak tahu apa - apa tentang teknik dan alat modern, dan mungkin sedikit apatis.
Saya sudah mulai bekerja dengan seorang programmer yang sampai saat ini telah bekerja dalam isolasi relatif, di bagian lain dari perusahaan. Dia memiliki pengetahuan domain yang luas dan yang paling penting dia telah menunjukkan keterampilan pemecahan masalah yang baik , sesuatu yang tampaknya kurang dimiliki oleh banyak kandidat.
Namun, kode aktual (C #) yang saya lihat adalah kemunduran ke hari-hari VB6. Struktur prosedural, notasi Hongaria, variabel global (penyalahgunaan static
), tidak ada antarmuka, tidak ada tes, tidak digunakannya Generik, melempar System.Exception
... Anda mendapatkan idenya.
Programmer ini sedikit lebih tua dari saya dan, setidaknya dengan kesan pertama, tidak secara aktif mencari perubahan positif. Saya tidak akan mengatakan resisten terhadap perubahan, karena saya pikir itu sebagian besar merupakan masalah tentang bagaimana topik tersebut dibahas , dan saya ingin dipersiapkan.
Programmer cenderung orang yang keras kepala, dan masuk dengan senjata merintis dan melembagakan tinjauan kode rip-it-to-shreds dan kebijakan ketat ditegakkan sangat mungkin tidak akan menghasilkan hasil akhir yang saya inginkan. Jika ini adalah karyawan baru, seorang programmer junior, saya tidak akan berpikir dua kali untuk mengambil posisi "mentor", tapi saya sangat khawatir memperlakukan karyawan yang berpengalaman sebagai pemula yang tidak mengerti (yang bukan dia - dia hanya belum mengimbangi kemajuan tertentu di lapangan).
Bagaimana saya bisa meningkatkan standar kualitas kode pengembang ini dengan cara Dale Carnegie, melalui persuasi lembut dan insentif non-materi? Apa yang akan menjadi strategi terbaik untuk melakukan perubahan halus, bertahap, tanpa menciptakan situasi yang bermusuhan?
Apakah orang lain - terutama pengembang utama - pernah dalam situasi seperti ini sebelumnya? Strategi mana yang berhasil merangsang minat dan menciptakan dinamika kelompok yang positif? Strategi mana yang tidak berhasil dan akan lebih baik untuk dihindari?
Klarifikasi:
Saya benar-benar merasa bahwa beberapa orang menjawab berdasarkan perasaan pribadi tanpa benar-benar membaca semua detail pertanyaan. Harap perhatikan hal-hal berikut, yang seharusnya tersirat tetapi saya sekarang membuat eksplisit:
Rekan kerja ini hanya "senior" saya berdasarkan usia. Saya tidak pernah mengatakan bahwa jabatannya, lingkup pengaruh, atau tahun-tahun di organisasi melebihi jabatan saya, dan pada kenyataannya, tidak ada yang benar. Dia seorang programmer LOB yang telah terserap ke dalam toko pengembangan utama. Itu dia.
Saya bukan karyawan baru, programmer junior, atau idiot naif lainnya dengan rencana besar untuk mengubah perusahaan dalam semalam. Saya pada dasarnya bertanggung jawab atas proses perangkat lunak, tetapi karena banyak orang yang telah bekerja sebagai "lead" tahu, tanggung jawab tidak selalu berkorelasi secara tepat dengan bagan organisasi.
Saya tidak bertanya kepada orang-orang bagaimana cara saya, datang neraka atau air tinggi . Saya bisa melakukan itu jika saya mau, dengan hasil bersih adalah bahwa orang ini akan menjadi kesal dan / atau berhenti. Tolong coba pahami bahwa saya mencari metode sosial , kooperatif untuk mendorong perubahan.
Penyebutan "... variabel global ... tidak ada tes ... melempar
System.Exception
" dimaksudkan untuk menunjukkan bahwa masalahnya bukan hanya dangkal atau estetika . Praktik yang dapat bekerja untuk aplikasi CRUD yang relatif kecil tidak serta merta bekerja untuk aplikasi perusahaan besar, dan pada kenyataannya, tidak ada kode sejauh ini yang benar-benar telah lulus tes integrasi.
Tolong, cobalah untuk mengambil pertanyaan pada nilai nominal, menerima bahwa saya benar-benar tahu apa yang saya bicarakan, dan baik menjawab pertanyaan yang sebenarnya saya tanyakan atau pindah.
PS Ucapan terima kasih yang tulus kepada mereka yang -did- menawarkan saran yang membangun daripada berdebat dengan premis. Saya akan membiarkan ini terbuka untuk sementara waktu lebih lama karena saya berharap untuk mendengar lebih banyak dalam pengalaman dunia nyata.