Apakah Anda pikir itu ide yang baik ketika seorang programmer junior perlu bantuan untuk selalu masuk dan mencoba mendidik mereka? Atau akankah mereka mengabaikan semua nasihat "mengajar memancing" yang Anda berikan dan hanya fokus pada "ikan" yang baru saja Anda bawa? Apakah Anda membiarkan mereka selalu mencari tahu sendiri, mengetahui bahwa kesalahan adalah cara terbaik untuk belajar? Atau apakah Anda takut mereka akan sangat terbakar dan frustrasi sehingga mereka akan kehilangan keinginan untuk mempercepat?
Kapan Anda memilih kapan untuk membantu seseorang yang lebih junior daripada Anda dan kapan harus mundur dan membiarkan mereka belajar dari kesalahan mereka?
learning
team-leader
Doug T.
sumber
sumber
Jawaban:
Di salah satu pekerjaan saya, saya belajar dan mengajar (karena saya tentu saja tidak tahu segalanya, tetapi saya tahu lebih dari beberapa)
Tidak di semua biaya meletakkan tangan Anda pada keyboard. Ini membuat frustrasi bagi Anda, dan orang yang Anda ajar. Bahkan jika Anda memberi mereka petunjuk langkah demi langkah, ketika Anda meletakkan tangan Anda pada keyboard itu setara dengan memberi mereka sepotong kode dan mengatakan "ini memperbaikinya".
Dalam apa yang saya pelajari:
sumber
Metode Sokrates, yaitu mengajukan pertanyaan yang mengarahkan mereka untuk berpikir ke arah yang positif
[ini berguna bahkan ketika Anda tidak tahu apa masalahnya, apalagi solusinya]
sumber
Saya telah belajar untuk membantu mereka arsitek dan berhenti di sana. Pilih alat yang tepat, buat desain umum untuk satu atau dua masalah kompleks, dan biarkan mereka melakukannya. Jika mereka kembali dan meminta nasihat, berikan kepada mereka dalam potongan-potongan kecil. Jika tidak, biarkan saja.
Anda sepenuhnya benar tentang "terbakar dan frustrasi". Mereka akan persis seperti itu jika Anda mengelola mikro atau nit-pick. Akhirnya, sangat membantu untuk menjalin hubungan kerja yang ramah dengan rekan kerja Anda. Waktu yang dihabiskan untuk mendapatkan kepercayaan dan saling menghormati akan membayar sendiri 10x lebih.
sumber
Saya membantu mereka ketika saya benar-benar membutuhkan hal-hal yang harus diselesaikan dengan cepat, ketika jelas bahwa mereka telah menabrak dinding bata, dan ketika itu jelas tidak masuk akal untuk mengharapkan mereka mengetahuinya tanpa bantuan. Namun, jika mereka belum menaruh waktu untuk sesuatu, maka lebih baik bagi mereka untuk mencobanya terlebih dahulu.
Sejauh mengambil "ikan" alih-alih "mengajar ikan", cara terbaik untuk melakukannya adalah dengan tidak memecahkan masalah orang-orang untuk mereka . Beri mereka ide dan biarkan mereka menjalankannya. Jika mereka menjalankannya, dan gagal, maka bantu mereka lebih banyak. Jika mereka berhasil, bahkan lebih baik.
sumber
Jika mereka adalah programmer yang baik, mereka harus menemukan cara untuk menyelesaikannya sendiri. Sekarang dalam situasi di mana hampir tidak mungkin untuk menemukan informasi atau solusi untuk masalah yang diberikan meminjamkan uluran tangan tampaknya masuk akal selama Anda menyimpannya dalam alasan. Jangan sendok memberi mereka jawaban.
Mungkin sebagai contoh saya berusia 18 tahun dan telah belajar selama bertahun-tahun sekarang sendiri dan telah menulis beberapa hal gila termasuk kompiler saya sendiri dan saya belajar sendiri. Saya hanya mencari bantuan dengan hal-hal yang benar-benar membuat saya terjebak (seperti dalam saya telah mencari dan bereksperimen setidaknya untuk sehari tetapi tidak berhasil). Saya juga ingin memberikan contoh tandingan: Di kelas pemrograman saya pernah meminta seorang siswa untuk men-debug kode yang bahkan belum dikompilasi!
Pada dasarnya seorang programmer yang baik, bahkan yang junior, harus dapat bereksperimen dan meneliti solusi untuk sebagian besar masalah.
sumber
Saya akan membimbing tetapi saya pergi jika mereka ingin saya melakukan pekerjaan mereka untuk mereka. Biasanya hanya beberapa saran tentang cara mengatasi masalah, atau mengulangi kembali deskripsi tugas yang dapat membantu. Bahkan hanya dengan memberi tahu mereka kata-kata yang seharusnya mereka gunakan di google bisa cukup membantu. 2 menit maksimal.
sumber
Saya baru-baru ini mulai menggunakan teknik pomodoro . Akibatnya, jika saya tidak dapat menjawab pertanyaan tanpa mematahkan pemikiran saya tentang tugas saya saat ini, saya mulai bertanya apakah saya dapat menunda jawaban sampai akhir pomodoro, rata-rata sekitar 15 menit penundaan. Efek samping yang menarik dari hal ini yang saya temukan adalah ketika saya mampir ke meja mereka untuk menjawab pertanyaan, mereka sudah sering menyelesaikannya sendiri. Jika tidak, pada saat itu saya jauh lebih siap untuk memberi mereka perhatian penuh saya.
Ini bukan sekolah. Itu tidak curang jika Anda dengan cepat memberikan fakta yang akhirnya bisa mereka temukan sendiri. Sebaliknya, masuk akal bisnis untuk menghemat waktu mereka, dan dalam pengalaman saya keterampilan diasah sangat sedikit dengan coba-coba dibandingkan dengan seorang mentor yang memberi Anda dorongan kecil yang sering ke arah yang benar. Saya lebih suka mereka belajar 10 cara yang benar untuk melakukan sesuatu dengan bantuan saya daripada 9 cara yang salah dan satu cara sendiri.
Jika sesuatu dapat dengan mudah dilihat, ajari mereka cara melakukannya. Di sisi lain, jika itu adalah sesuatu yang hanya dapat Anda ketahui dari pengalaman, seperti file mana yang akan diselidiki untuk gejala bug tertentu, saya benar-benar tidak melihat ada yang salah dengan hanya memberikan jawaban yang tidak dapat dijelaskan.
Sebaliknya, hal-hal yang lebih subyektif seperti panduan arsitektur harus selalu disertai dengan alasan di baliknya. Untuk satu hal, pengembang junior telah berpikir jauh lebih mendalam tentang tugas spesifik mereka daripada yang Anda miliki. Membicarakannya memastikan Anda tidak langsung menarik kesimpulan. Untuk yang lain, itu mencegah mereka dari menerapkan aturan secara membabi buta ke situasi masa depan di mana mereka mungkin tidak berlaku.
Saya hanya bisa memikirkan satu kasus di mana saya langsung menolak untuk terus membantu rekan kerja, dan setelah menghabiskan beberapa jam menjelaskan sesuatu beberapa kali dan melalui beberapa contoh, setelah itu dia benar-benar masih tidak tahu pernyataan selanjutnya untuk mengetik dengan beberapa petunjuk yang sangat terkemuka. Pada saat itu dia memiliki sedikit harapan untuk mempertahankan pekerjaannya tanpa mempelajari kembali dasar-dasar yang serius, dan tentu saja dia hanya bertahan beberapa bulan.
sumber
Saya berhenti membantu mereka ketika mereka kembali dengan pertanyaan yang sama untuk ketiga kalinya.
Saya memberi tahu mereka bahwa saya akan senang membantu mereka tetapi hanya jika mereka membantu diri mereka sendiri terlebih dahulu. Dari sana mereka pergi mencari kolam lain untuk mencari makanan gratis, dan biasanya mereka dipecat sesaat setelah itu. Atau mereka mengerjakannya dan mendapatkan jackpot ketika mereka kembali untuk lebih ... itu lebih banyak hal untuk dipelajari daripada lebih banyak dari yang sama!
sumber
Saya pikir konteks itu penting.
Jika kita berhadapan dengan masalah dukungan produksi kritis di mana waktu respons penting, maka saya akan benar-benar memberikan banyak bantuan bersama dengan banyak penjelasan sehingga mereka dapat mempelajari masalah tersebut.
Jika tenggat waktu kurang sensitif, maka kompleksitas menjadi driver. Anda dapat, tentu saja, banyak membantu pemula hanya dengan menetapkan tugas-tugas sesuai tingkat keterampilan, tetapi jika itu adalah sesuatu yang dapat diselesaikan melalui penelitian, maka saya setuju dengan poster-poster lain yang membimbing mereka tanpa memberikan jawaban yang tepat adalah pendekatan yang bagus .
Jika mereka mengajukan pertanyaan yang mudah dijawab dengan mencari di tempat lain, maka saya mengarahkan mereka untuk melakukan pekerjaan mereka sendiri. Sejalan dengan itu, jika ada proses atau solusi yang cukup hafal dan ada sedikit nilai dalam membuat mereka menjadi budak untuk itu, maka malu pada Anda jika Anda tidak memiliki wiki yang berguna untuk mereka periksa.
Ketika datang untuk mentransfer pengetahuan domain yang khusus untuk bisnis, maka saya tidak berbasa-basi. Ceramah langsung sesegera mungkin. Pemula membutuhkan itu untuk membantu segala sesuatu yang datang kemudian. Tidak ada yang namanya dididik tentang bisnis terlalu cepat atau terlalu mudah. Saya pernah punya bos yang memainkan semua jenis trik selama satu jam mencoba membimbing saya ke jawaban. Saya masih baru, belum tahu apa-apa tentang aplikasi atau bisnis, dan saya sedang berurusan dengan masalah dukungan produksi. Saya ingin berteriak, "Mengapa kamu & # @ $! Bermain # @ & (* $%! Game? Pengguna yang mencoba mengeluarkan faktur sedang menunggu jawaban!"
sumber
Saya pikir hal pertama yang harus Anda tanyakan kepada mereka sebelum membantu mereka adalah apakah Anda menyelidiki tentang ini? jika ya tanyakan kepada mereka apa yang telah mereka temukan dan arahkan mereka ke arah yang benar. Menyelidiki itu sering dianggap remeh, tetapi merupakan salah satu praktik terbaik yang saya pelajari, menemukan informasi tentang apa yang Anda butuhkan memberi Anda kekuatan untuk belajar sendiri, juga akan membuatnya jelas bahwa mereka harus mencoba dulu.
Jika masalahnya lebih rumit cobalah untuk tidak memberi tahu mereka apa yang harus dilakukan tetapi membagikan beberapa ide, tanyakan kepada mereka bagaimana menurut mereka mereka bisa mendekati masalah.
Jika mereka tidak memiliki petunjuk maka cobalah untuk memecahnya ke tingkat yang sangat dasar di mana Anda tidak memberikan semua detail tetapi menggambarkan solusi yang cukup untuk mereka coba, ada alat yang sangat membantu untuk ini seperti algoritma atau diagram alur .
Sebagai kesimpulan, cobalah untuk membimbing mereka tanpa mengganggu proses belajar, selalu membantu mereka akan membuat mereka bergantung pada Anda untuk setiap tugas yang ditugaskan, yang akan memakan waktu Anda dan tidak produktif.
sumber
Saya menghindari membantu dalam hal-hal sederhana seperti sintaksis yang harus mereka ketahui, atau jika mereka tidak tahu mereka harus dapat memahami sendiri. Jika itu adalah sesuatu yang lebih kompleks, saya tidak keberatan menjelaskan sekali.
Ketika sampai pada hal-hal seperti menjelaskan proses, atau standar pengkodean organisasi / proyek kami dll, saya menggunakan aturan tiga pukulan. Saya benar-benar berpikir bahwa seseorang lumpuh jika dia harus dijelaskan tiga kali lipat. Bahkan itu juga salah satu kriteria dalam penilaian kami.
Banyak yang bergantung pada pelajar. Saya mengharapkan mereka untuk mengambil beberapa barang sendiri. Jika mereka datang dengan: "Saya menghadapi masalah ini, saya mencoba metode A, B dan C tapi saya tidak bisa menyelesaikan masalah", saya akan membantu mereka. Jika mereka hanya datang dengan "Saya menghadapi masalah ini" dan tidak melakukan apa pun saya akan meminta mereka untuk kembali ke buku dan mencari solusi.
sumber
Sebagai programmer pemula sendiri (sekitar 9 bulan dalam pekerjaan saya saat ini menggunakan sebagian besar Perl dan SQL dan dengan a) tidak memiliki pengetahuan tentang Perl dan b) beberapa bulan bermain-main dengan SQL sebelum pekerjaan ini), ketika mengajukan pertanyaan pemrograman, saya mencoba untuk menunjukkan apa yang telah saya lakukan sejauh ini, atau dalam kasus sesuatu yang tidak berfungsi (dan menjadi sulit untuk di-debug), di mana saya pikir bug itu mungkin ada. Jika memungkinkan, saya sudah berusaha belajar cara memancing.
sumber
Saya berhenti membantu dalam keadaan berikut:
Jika saya belum memberikan dokumen yang memadai, atau mereka bekerja dengan alat / kelas yang saya tulis, maka itu adalah tanggung jawab saya untuk membantu mereka
sumber