Kami adalah tim yang terdiri dari 3 pengembang (2 pengembang berpengalaman dan satu junior).
Kami baru saja memulai proyek baru. Kami telah merancang aplikasi, upaya terkonsentrasi pada pemilihan arsitektur yang tepat dan sekarang kami meletakkan baris pertama kode. Kami menulis inti dari itu, apa yang akan menjadi dasar dari seluruh aplikasi.
Ini bukan aplikasi yang mudah juga. Persyaratan kinerja keras, didistribusikan secara masif, model entitas yang kompleks, dll.
Kita semua berada di luar zona nyaman kita, terutama junior. Dia tidak memiliki pengalaman untuk membuat desain yang baik dimuka. Tapi itu bukan masalah karena aku dan dev yang lain ada di sana untuk membantu dan kami berdua percaya pada mentoring dan dalam membangun tim, tapi ... kami tidak tahu persis apa yang akan menjadi cara terbaik untuk melakukannya, sehingga ia mendapat pengalaman yang menyenangkan dan mempelajari jumlah keterampilan maksimum.
Kami berdua menyadari bahwa kami tidak memiliki junior di proyek-proyek baru, hanya pada yang sudah ada di mana lebih mudah di junior karena ia memiliki seluruh basis kode untuk belajar dan menginspirasi. Tetapi untuk aplikasi ini kami hampir tidak memiliki kode. Kami baru saja mulai.
Kami sedang memikirkan beberapa pendekatan:
- minta dia mencoba sendiri selama beberapa hari kemudian campur tangan dan refactor kode bersama dengannya, arahkan dia ke arah yang benar kemudian ulangi => Mungkin bukan pengalaman yang menyenangkan baginya karena kita akan menunjukkan kesalahannya pada setiap refactor ;
- minta dia memasangkan pemrograman dengan salah satu dari kita => dia mungkin hanya menjadi "pengamat" dan setuju dengan semua yang kita lakukan, tanpa benar-benar belajar banyak atau mencerna banyak informasi;
- minta kami membuat kerangka setiap modul, dengan desain yang solid dan kemudian memberikan modul kepadanya untuk menambahkan bagian yang hilang => mungkin tidak menyenangkan untuk diambil setelah kami dan ada risiko bahwa dia hanya memperhatikan mengisi celah dan tidak untuk seluruh desain.
Bagaimana kita bisa melibatkannya dalam desain sehingga dia tidak merasa tertinggal di luar dari itu dan agar dia belajar banyak dari pengalaman dan mendapatkan cukup kepercayaan untuk mencobanya sendiri?
Jawaban:
Saya merekomendasikan pedoman berikut:
sumber
Saya pikir itu tergantung pada area mana yang Anda ingin agar pengembang junior untuk meningkatkan Ketika saya masih sangat junior, mereka biasa memberi saya API yang saya butuhkan untuk membangun satu hal terbatas, seperti:
->
Tugas: buat halaman dengan daftar personel yang menunjukkan statistiknya ketika catatan personel diklik. Berikut adalah contoh halaman sederhana yang dibuat sebelumnya dalam proyek.
Aspek yang paling penting dari tugas yang diberikan sedang dipecahkan hanya dengan sumber daya yang diberikan dan tidak memerlukan perubahan di dalamnya.
sumber
Semua 3 cara terlihat bagus untuk saya. Sebenarnya mencoba 10 cara lincah yang berbeda pada saat yang sama akan memberi Anda hasil yang baik segera, setidaknya Anda akan tahu cara mana yang bekerja dan mana yang tidak (yang mana yang akan bekerja paling baik sangat tergantung pada kepribadian para pemain).
Masalah pemrograman pasangan tidak akan terjadi jika Anda tetap berpegang pada proses dengan pengetikan / pemikiran topi berganti setiap 10 menit (atau lebih), tidak terkecuali, mengikuti proses yang awalnya dijelaskan oleh Kent Beck (saya tidak ingat di mana)
Adapun melibatkan orang lain dalam desain - apa yang kami temukan yang membantu adalah jika selama fase desain beberapa dokumen desain (dengan beberapa model UML) dibuat. Orang-orang lain (junior Anda) kemudian dapat membuktikan membacanya, mengulasnya, memerankan pendukung iblis. Peran pihak ke-3 yang tidak murni dan independen ini sebenarnya bisa sangat bermanfaat, misalnya untuk pengujian eksplorasi - http://www.softwaretestinghelp.com/exploratory-testing-beyond-traditional-testing-boundaries
sumber