Saya memiliki pengembang senior dengan delapan tahun pengalaman .NET mulai besok untuk mengerjakan aplikasi kode 11.000 baris. Di tim ada saya dan programmer lain. Kami berdua memiliki pengalaman masing-masing sekitar tiga tahun.
Ini proyek pertama saya sebagai manajer (saya juga pengembang di proyek ini) dan ini adalah pertama kalinya saya harus memperkenalkan seseorang ke basis kode yang sudah ada. Jelas saya akan membahas setiap modul, proses penyebaran, dll, dan menyerahkan mereka lokasi repositori kontrol sumber, dokumentasi (yang bukan yang terbaik), dll.
Berapa lama saya harus memberi mereka sebelum mereka siap untuk mulai menulis fitur baru dan memperbaiki bug?
project-management
c
senior-developer
Tuan Bliz
sumber
sumber
Jawaban:
Saya akan menetapkan beberapa bug prioritas rendah pada hari pertama, dengan cara itu tidak ada yang berteriak jika mereka tidak segera memberikan pengembang baru waktu untuk mengenal dasar kode.
Hal paling penting yang harus dilakukan adalah melakukan review kode dari semua pekerjaannya dalam beberapa minggu pertama. Anda tidak ingin mengetahui bahwa orang itu pergi ke arah yang salah atau tidak mengikuti standar perusahaan pengkodean bulan menjadi hal. Lebih baik memastikan dia tahu apa yang diharapkan dari awal, dan ulasan kode memastikan hal ini. Tentu saja saya pikir tinjauan kode baik untuk semua karyawan (Kami meninjau 100% kode kami sebelum penempatan), tetapi mereka sangat penting untuk karyawan baru dan harus dilakukan secara langsung di mana Anda dapat menjawab pertanyaan dan merujuknya ke dokumentasi yang mungkin tidak mereka miliki. belum terlihat jika perlu.
Yang tidak Anda inginkan adalah seorang pria baru datang dan menggunakan gaya yang berbeda dari Anda semua. Orang sering mencoba untuk tetap menggunakan gaya kode dari pekerjaan mereka sebelumnya bahkan ketika itu bertentangan dengan gaya kode yang digunakan di tempat baru yang dapat membuat kebingungan dan gangguan di pihak pengembang lainnya.
Satu hal yang saya perhatikan bahkan dengan pengembang berpengalaman adalah bahwa beberapa dari mereka tidak sebagus dalam wawancara, review kode akan membantu Anda menemukan ini dengan cepat, sehingga Anda dapat memperbaikinya. Ini juga akan mendorong mereka untuk benar-benar menyelesaikan sesuatu, saya telah melihat karyawan baru yang tidak ditinjau kode menyeret keluar proyek tanpa menunjukkan apa yang mereka lakukan kepada siapa pun dan kemudian meninggalkan seminggu sebelum tenggat waktu yang mereka tahu tidak akan tercapai karena mereka berada di atas kepala mereka dan belum benar-benar menyelesaikan bagian dari proyek. Lebih baik periksa lebih awal dan sering dengan orang baru sampai Anda benar-benar yakin mereka sedang berolahraga.
Juga, itu normal bagi orang baru itu akan terkejut pada keadaan proyek warisan Anda. Itu tidak dirancang dengan cara yang menurutnya seharusnya. Harapkan ini, dengarkan dia dan jangan secara otomatis mengabaikan semua yang dia katakan. Secara khusus, orang ini tampaknya memiliki lebih banyak pengalaman daripada Anda atau pengembang lain, ia mungkin melihat hal-hal yang tidak Anda pertimbangkan. Namun, sebagai manajer, Anda harus menyeimbangkan perubahan yang diajukan terhadap beban kerja dan tenggat waktu saat ini. Anda semua mungkin ingin menginvestasikan waktu untuk mempelajari cara memperbaiki kode yang ada dan menginvestasikan beberapa jam dalam perkiraan waktu Anda untuk melakukan itu terutama jika orang baru tersebut memiliki masalah yang valid. Anda mungkin tidak dapat mendukung penulisan ulang total (banyak orang yang datang dengan pemikiran baru kita harus mulai dari awal dan melakukannya dengan lebih baik),
Jika Anda memiliki waktu di mana dia tidak diharapkan untuk berkontribusi penuh (dan sepenuhnya bertanggung jawab atas waktunya oleh klien), itu mungkin juga saat dia dapat memulai beberapa hal refactoring yang ingin Anda lakukan tetapi tidak ada. ' Aku tidak punya waktu untuk melakukannya. Terkadang, adalah hal yang baik untuk menggunakan periode pelatihan orang baru untuk mengatasi beberapa hal yang tidak ada dalam rencana proyek. Mereka dapat mempelajari basis kode dan jika apa yang ingin mereka lakukan tidak berhasil, Anda belum memengaruhi jadwal yang ada karena Anda belum memasukkan mereka ke dalam jadwal yang ada. Dan jika itu berhasil, Anda mungkin memiliki kemenangan besar yang membuat pemeliharaan di masa depan lebih mudah atau keamanan lebih baik atau apa pun masalahnya.
sumber
Mulai segera pada tugas-tugas kecil - hal-hal yang tidak memerlukan gambaran lebih besar.
Saat mereka menjadi lebih percaya diri dan terbiasa dengan basis kode, pasangkan mereka ke tugas yang lebih besar dan lebih besar. Seberapa cepat itu terjadi sebagian besar tergantung pada mereka.
sumber
Saya selalu ingin mendapatkan tugas yang diberikan kepada saya langsung, dengan pengertian bahwa akan butuh waktu lebih lama untuk menggali kode, dan banyak pertanyaan akan ditanyakan selama beberapa hari / minggu pertama.
Saya menemukan bahwa saya tidak dapat sepenuhnya membungkam sebuah proyek sampai saya benar-benar harus masuk dan memperbaiki atau mengubah sesuatu.
Juga ... Tidak peduli seberapa baik Anda pikir Anda telah menjelaskan bagaimana sebuah proyek bekerja, selalu ada 'oh ya saya lupa memberi tahu Anda', 'kami mengalami masalah ini, jadi kami melakukan ini' saat-saat yang tidak hilang sampai Anda benar-benar mulai bekerja.
sumber
Berapa lama tali?
sumber
Dalam komunitas open source, setiap orang yang ingin bergabung dengan proyek terlebih dahulu berurusan dengan beberapa masalah kecil. Jika dia dapat menangani masalah dengan sangat baik, tugas yang lebih penting akan diberikan kepadanya. Dengan cara ini, mereka akan menjadi pengembang inti proyek.
Pengembang senior ini memiliki delapan tahun pengalaman .NET, sehingga Anda dapat memberinya beberapa bug sederhana untuk diperbaiki. Jika mudah baginya untuk berurusan dengan mereka, Anda bisa menetapkan dia masalah yang kompleks untuk membantu dia akrab dengan seluruh aplikasi. Setelah itu, dia bisa mulai menulis fitur baru dan menganalisis masalah aneh. Lakukan saja, tidak ada waktu setup!
sumber
8 tahun pengalaman. Saya hanya akan melemparkannya. Dia harus bisa berenang. Seperti yang orang lain catat, mulailah dengan tugas-tugas kecil yang mudah. Ini akan memungkinkan dia untuk meraba-raba melalui kode check-in / proses check-out, dan setiap proses pembangunan lain yang Anda miliki.
Saya telah berganti pekerjaan berkali-kali dan saya telah menjadi kontributor dalam semuanya dalam minggu pertama. Terberat membawa saya satu minggu untuk mendapatkan kode untuk kompilasi (100k + baris kode setidaknya). Pembangunan penuh memakan waktu 8 jam untuk proyek itu.
Saya bekerja kira-kira 80 jam pada minggu pertama (proyek sangat serius).
sumber
Untuk sebuah aplikasi yang kecil, dan pengembang yang berpengalaman, saya akan berpikir sehari sudah cukup untuk bug dasar. bug terlibat atau fitur kecil lebih dekat dengan seminggu (begitu mereka lebih jelas tentang masalah domain dan arsitektur).
sumber
Jawabannya adalah, tergantung. Jika Anda ingin dia untuk memperbaiki off dengan satu kesalahan pada sesuatu atau mengubah warna elemen GUI, maka sekitar 5 menit (di sini di mana kita menjaga kode kita), jika Anda ingin desain ulang total seluruh arsitektur aplikasi yang akan membutuhkan sedikit lebih lama.
Ini benar-benar tergantung pada tugas yang Anda harapkan darinya.
sumber