Saya mencoba untuk memimpin tim perangkat lunak yang tertinggal. Salah satu masalah utama adalah bahwa setiap kali ada sesuatu yang agak sulit, saya akhirnya harus menetapkannya untuk diri saya sendiri. Saya memiliki satu pengembang lain dengan keterampilan sedang dan setengah magang. Sayangnya, keterampilan pengembang lainnya tidak termasuk desain.
Jadi saya memohon bos saya untuk salah satu dari orang-orang di salah satu tim lain, dia telah bekerja di sini lebih lama daripada yang saya miliki (5 tahun). Dia tidak bisa bersaing dengan saya di desain ATAU bahasa yang kita gunakan, tapi saya pikir dia yang paling kompeten selain saya.
Hari ini dia memberi saya sepotong kode yang melakukan sesuatu yang tidak sedikit berbeda dengan:
object const& my_class::get_object() const
{
return *std::unique_ptr<object>(new object());
}
Dia bertanya kepada saya apakah itu masalah! Saya mengatakan satu-satunya hal yang dapat saya pikirkan, "Ya. Itu masalah." Kemudian dia datang ke meja saya dan bertanya bagaimana cara memperbaikinya !! Saya berkata, "Gunakan objek yang selamat dari panggilan fungsi." Lalu dia mulai panik, "Ya, tapi bagaimana, satu-satunya hal yang bisa kupikirkan adalah membuat variabel anggota."
Saya agak sibuk saat ini karena saya sudah mencoba untuk melakukan pekerjaan tambahan saya harus mengambil alih untuk orang lain di tim karena dia tidak bisa mengetahuinya ... Saya menyuruh orang itu pergi karena saya sibuk dan mencari tahu sendiri. Lalu dia pergi dengan gusar berbicara tentang bagaimana itu bukan kesalahannya jika dia mengacaukan semuanya. Dia ketakutan sejak dia masuk tim dan saya pikir itu tidak menjadi lebih baik.
Aku merasa seperti tenggelam di sini. APA yang bisa saya lakukan? Apa cara yang tepat untuk menghadapinya? Apakah lebih masuk akal untuk membantu orang ini yang telah menulis C ++ selama 7 tahun mencari tahu cara mengembalikan referensi ke objek yang tidak hancur saat dikembalikan? Aku merasa itu konyol untuk dilakukan dan bertanya-tanya bagaimana aku bisa melakukan sesuatu seperti itu.
Kadang-kadang saya pikir mereka sengaja melakukannya tetapi menurut saya itu hanya mendera ... tapi sekali lagi, begitu juga pertanyaan yang saya tanyakan hari ini. Ini bukan anak kecil yang duduk di rumah mencoba mencari program pertamanya, otaknya hancur oleh petunjuk.
Jawaban:
Saya memberikan semua buku C ++ saya beberapa tahun yang lalu, sambil bersumpah bahwa saya tidak akan pernah menyentuh bahasa itu lagi, dan bahkan saya dapat mengatakan bahwa orang ini tidak tahu apa yang dia lakukan. Saya pikir Anda harus duduk dengannya dan mencari tahu apa tingkat keahliannya.
Ini terdengar seperti mungkin dia punya pengalaman 1 tahun tujuh kali - bukan tujuh tahun pengalaman. Di perusahaan yang lebih besar, sangat mungkin bagi pekerja tidak terampil untuk bersembunyi dan mengacak "sekitar sistem" setiap kali mereka tertangkap.
Jika ini masalahnya, maka Anda harus berhenti dan mencari tahu apa tingkat keterampilan orang. Saya mengerti Anda merasa kewalahan dengan tenggat waktu dan semacamnya, tetapi Anda tidak bisa menyelesaikan pekerjaan ketika Anda bahkan tidak yakin dengan apa yang termasuk dalam tim Anda. Anda tidak dapat menyelesaikan proyek jika terus melakukan kesalahan yang sama - lebih cepat kali ini.
Mengambil semua pekerjaan untuk diri sendiri berarti Anda tidak memiliki tim, Anda juga tidak memiliki kepercayaan pada mereka. Itu harus diperbaiki dulu.
sumber
Masalah semacam ini adalah roti dan mentega manajemen. Satu pertanyaan yang perlu ditanyakan oleh semua manajer adalah, "Apakah karyawan saya memiliki keterampilan yang dibutuhkan untuk melakukan pekerjaan itu?" Jika jawabannya "tidak", manajer yang baik tidak berteriak atau berhenti - manajer yang baik akan memperbaiki situasi.
Berikut ini satu pengamatan - C ++ bukan bahasa yang sepele, jadi mungkinkah menggunakan sesuatu yang lebih kompeten di pengembang junior Anda? Jika harus dalam C ++, maka Anda harus melatih pengembang yang ada, atau merekrut pengembang baru dengan keterampilan yang sesuai.
Saya berada dalam situasi yang tidak berbeda setahun yang lalu. Saya dibawa untuk memimpin tim pemrogram VB6 yang bekerja pada kode spaghetti, dan keinginan manajemen adalah beralih ke sistem yang berorientasi objek dan dirancang dengan baik yang ditulis dalam .NET. Kami telah membuat beberapa kemajuan luar biasa di bidang ini, jadi perubahan seperti ini dimungkinkan.
Satu komentar terakhir. Jika Anda tidak suka berurusan dengan masalah semacam ini, saya akan keluar dari manajemen dan kembali ke peran teknis semata. Jenis-jenis masalah berantakan ini adalah roti dan mentega kehidupan seorang manajer, dan itu tidak cocok untuk semua orang.
sumber
Dapatkan pekerjaan di perusahaan yang lebih baik di mana Anda dapat bekerja dengan orang yang kompeten.
sumber
Hal yang benar adalah membantunya mengatasi masalah. Itu tidak harus tepat di tempat. Anda bisa mengatakan, "Saya terikat sekarang. Baca Bab X dari C ++ STL, dan mari kita sentuh basis lagi besok pukul 11 pagi.".
Berteriak dapat bekerja untuk beberapa orang dan beberapa situasi jika itu hanya masalah motivasi. Tetapi, jika itu masalah kompetensi atau pengetahuan, meneriaki orang dan meledakkannya sama sekali tidak membantu. Ini seperti meneriaki orang yang tidak bisa berbahasa Inggris. itu tidak membantu mereka memahami apa yang Anda coba katakan, dan itu dapat membunuh motivasi yang mereka miliki untuk mencoba membantu Anda. Mereka ada di mana mereka berada, dan tidak ada jumlah kemarahan atau frustrasi di pihak Anda akan membuat mereka lebih baik dalam menulis C ++ dalam 48 jam ke depan. Anda mungkin juga harus kembali ke manajemen dan menjelaskan bahwa ruang lingkup proyek berada di luar kemampuan tim Anda saat ini. Hal-hal seperti inilah mengapa menjadi pemimpin tim sangat sulit.
sumber
Nah, jika saya memiliki seseorang yang telah menulis kode selama 7 tahun menanyakan sesuatu yang terdengar sangat mendasar, saya harus bertanya-tanya apa lagi yang sedang terjadi. Saya bukan programmer C ++ jadi saya tidak bisa mengomentari aspek itu.
Apa yang ingin saya ketahui, sebagai atasannya, saya asumsikan, jika ada hal lain yang mengganggunya. Saya menyadari bahwa Anda mungkin tidak punya waktu saat itu, tetapi hal terakhir yang harus Anda lakukan adalah mendorong seseorang menjauh seperti itu.
Sisihkan waktu untuk berbicara dengannya dan biarkan dia tahu saat itu, "Saya mengerti urgensi Anda tentang ini, tetapi saya tidak punya waktu untuk ini sekarang. Begitu saya melakukannya, saya akan memberi tahu Anda. Saya harapkan tidak lebih dari sekitar satu jam. "
Dengan cara ini Anda telah menyampaikan pemahaman Anda tentang urgensinya, bahwa Anda tidak punya waktu, dan bahwa Anda akan kembali bersamanya. Bahkan sebanyak harapan ketika Anda akan kembali bersamanya. Dia akan merasa jauh lebih baik tentang itu daripada diusir (itu adalah bagaimana saya akan mengambilnya).
Yang harus Anda lakukan sekarang adalah menyisihkan waktu dan biarkan dia tahu kapan Anda bisa berbicara dengannya tentang masalah tersebut. Kembali melacak dan menelan kesombongan, biarkan orang itu tahu Anda memahami urgensinya dan hanya tidak punya waktu untuk mengatasinya. Anda juga harus melihat apakah dia memiliki sesuatu di bidang pribadinya yang dapat memengaruhi perhatiannya - misalnya, apa lagi yang bisa mengganggunya. Kehidupan pribadi juga mempengaruhi kita para programmer. ;)
sumber
Saya pikir Anda perlu duduk dengan bos Anda dan menjelaskan semuanya kepadanya. Kedengarannya gila - apa yang dilakukan pria itu bahkan bekerja di sana jika dia tidak tahu dasar-dasarnya?
sumber