Apa yang dapat saya? Bagaimana Anda akan bereaksi? TOLONG! [Tutup]


13

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.


4
BERTERIAK!!! Dan kata-kata kasar. Itu membuat Anda merasa lebih baik. Oh, tunggu, saya melihat Anda sudah melakukan itu. Cobalah tersenyum. :): D (Senyum jahat juga oke.>: D)
Mateen Ulhaq

Dia hanya mengirim saya email yang mengatakan karena saya punya "keinginan yang kuat untuk tidak terganggu" ia tidak bisa melanjutkan dan akan kembali ke proyek lainnya: p

7
Mengapa seseorang yang tidak memiliki pemahaman sedikit pun tentang pointer dan manajemen memori bekerja pada proyek C ++?
Charles Salvia

2
Satu penjelasan yang mungkin: selama bertahun-tahun kebijaksanaan populer adalah bahwa STL tidak siap untuk prime time, dan akan menghasilkan kode terlalu besar untuk penggunaan produksi. Dulu dimungkinkan untuk menjadi seorang programmer C ++ yang relatif canggih tanpa tahu banyak tentang STL. Jelas banyak hal telah berubah. Namun, jika ia dilatih pada akhir 90-an, atau dibimbing oleh seseorang yang terlatih pada akhir 90-an, ia mungkin grok objek baru () baik-baik saja, tetapi sama sekali tidak bergantung dengan std baru-ketinggalan jaman ini: unique_ptr <object> () thingie. Itu tidak menyelesaikan masalah Anda, tetapi mungkin menjelaskan dari mana asalnya.
Charles E. Grant

2
@ Charles: setuju, saya memiliki beberapa tahun pengalaman C ++ dari industri game, dan tidak pernah menyentuh STL atau tahu apa-apa tentang itu. Melihat potongan kode di atas, yang bisa saya lakukan adalah menggelengkan kepala dan berpikir, "jika Anda ingin menulis C ++, tulis C ++, tetapi sepertinya Anda tidak ingin menulis C ++, jadi mengapa tidak menggunakan level yang lebih tinggi bahasa?"
Carson63000

Jawaban:


14

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?

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.

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.

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.


7
+1 untuk "sepertinya dia punya pengalaman 1 tahun tujuh kali".
Matius Baca

@ Matius: sangat benar.
IAbtract

13

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.


4
Ini adalah contoh bagus dari pandangan manajemen yang tampaknya tidak dimiliki banyak karyawan.
Mark C

Ya, saya bukan manajemen. Kadang-kadang saya berharap saya jadi saya harus lebih berdiri untuk menangani masalah ini. Di lain waktu saya sangat senang saya bukan karena saya tidak harus. Saya hanya seorang pemimpin teknologi.
Edward Strange

1
Hai Nuh, saya akan mengobrol dengan siapa pun yang mengelola tim saat itu - mereka bertanggung jawab untuk memastikan orang yang tepat tersedia dan memiliki keterampilan yang tepat.
Craig Schwarze

9

Dapatkan pekerjaan di perusahaan yang lebih baik di mana Anda dapat bekerja dengan orang yang kompeten.


7
Atau, sebagai alternatif, berhenti menggunakan C ++. Ini akan menyelesaikan berbagai kelas kesalahan buruk.
Mason Wheeler

3
@Mason: Saya setuju. Semua orang menulis C # dan bahagia. :)
IAbtract

2
C ++ seharusnya hanya digunakan jika C ++ sesuai. Saya tahu tidak ada bahasa yang bisa menyelesaikan pekerjaan C ++ juga.
Matius Baca

2
@Matthew membaca, dengan programmer yang tidak kompeten seperti pada contoh OP, apakah C ++ EVER akan sesuai?
Dan Rosenstark

4
@ Yar: Meskipun programmer yang buruk menulis kode buruk dalam setiap bahasa.
Jon Purdy

7

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.


Saya tidak berteriak. Saya hanya berkata, saya sedang sibuk sekarang. Saya memang meniupnya.
Edward Strange

3
@Noah, saya tidak ada di sana, Anda ada, jadi saya menyerah. Pertimbangkan hal ini: orang-orang yang sangat frustrasi sehingga mereka berpikir bahwa orang-orang sengaja melakukan hal-hal bodoh, daripada melakukan hal-hal bodoh, cenderung berbicara dengan suara yang sangat tegang melalui gigi yang terkepal, sambil berpikir bahwa mereka tersenyum dan merdu. Orang lain mungkin juga sangat stres sehingga mereka mendengar: "Bisakah Anda kembali sekitar 10 menit?" sebagai "Keluarkan frack dari kantorku, kau, dirtbag!". Menjadi seorang pemimpin tim sering kali tentang memanipulasi perilaku primata melalui bahasa tubuh dan nada suara.
Charles E. Grant

3

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. ;)


2

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?

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.