Bagaimana Anda menilai profil Github seorang programmer? [Tutup]

54

Banyak orang di komunitas open source mengatakan mereka sangat mempertimbangkan profil Github seorang kandidat saat merekrut.

Saya aktif di Github, dengan beberapa proyek saya sendiri dan beberapa kontribusi untuk orang lain. Tetapi melihat profil saya sendiri seolah-olah saya adalah seorang majikan, saya melihat banyak suara: proyek yang saya kloning tetapi tidak pernah berkontribusi, dll. Proyek dan tambalan yang saya banggakan tidak menonjol.

Jika Anda menilai profil Github orang, bagaimana Anda melakukannya? Dan sebagai pengembang, haruskah saya melakukan sesuatu yang berbeda - misalnya, menghapus repo yang dikloning yang saya tidak aktif kerjakan?

Nathan Long
sumber
1
Saya ingin melihat proyek-proyek yang telah diinisiasi oleh orang itu sendiri dan proyek-proyek sumber terbuka yang telah dia kontribusikan. Kode sumber cukup bukti dari desain, kemampuan pengkodean. Hasrat untuk bekerja pada proyek di luar pekerjaan harian biasa juga akan menunjukkan jalur pilihan mereka. Beberapa petunjuk untuk setidaknya memulai diskusi pekerjaan.
Abi
3
Mengapa mengarang proyek jika Anda tidak akan berkontribusi untuk itu? Ini sepertinya sering terjadi di GitHub. Apakah itu untuk memastikan kode sumber tidak hilang ketika penulis asli memutuskan untuk menghapus repositori?
Htbaa
5
@ Htbaa - kadang-kadang saya mengambil sesuatu sehingga saya bisa melihat-lihat kode sumber, berpikir saya mungkin berkontribusi. Kadang-kadang saya akhirnya berkontribusi; yang lain tidak.
Nathan Long

Jawaban:

51

Saya telah menggunakan profil GitHub, aliran twitter, dan blog semua sebagai indikator kualitas dalam wawancara pemrograman / penyaringan kandidat. Mereka semua menghasilkan sinyal yang berbeda dengan caranya sendiri.

9 dari 10 pelamar tidak pernah mengirimkan satu tambalan ke proyek sumber terbuka tunggal. Bahkan memperbarui dokumentasi yang rusak akan menempatkan Anda pada eselon atas pengembang. Ini menunjukkan bahwa Anda cukup akrab dengan beberapa paket sumber terbuka untuk mengetahui apa yang salah, Anda cukup peduli untuk mengirimkan tambalan, dan pengelola paket tersebut menganggap pekerjaan Anda cukup baik untuk dimasukkan. Sebagai generalisasi, ini menunjukkan bahwa Anda mengambil inisiatif untuk meninggalkan hal-hal kotor lebih baik daripada yang Anda temukan.

Kedengarannya sangat sederhana, tetapi sekali lagi 9 dari 10 pengembang tidak pernah repot untuk mengambil langkah penting ini.

Jadi satu tambalan yang diterima tampak hebat. Sejarah panjang 2-3 tambalan sederhana per kuartal bahkan lebih baik. Bahkan lebih baik daripada itu untuk menyumbang sesuatu yang perlu diperhatikan.

  1. Kontribusi substansial untuk proyek-proyek Open Source penting (0,1% -1% kandidat)
  2. Riwayat panjang kontribusi kecil untuk proyek apa pun (5% kandidat)
  3. Satu tambalan satu lapis untuk paket yang relatif tidak dikenal (10% kandidat teratas)

Pada catatan yang sama, pengembang yang menge-tweet tentang minum dan menonton film sepanjang waktu cenderung melakukan perekrutan yang biasa-biasa saja. Sebuah tweet stream dimana setiap pesan ke-3 adalah tentang poin teknologi menuju jenis pengembang anjing rongsokan fanatik yang peduli pada keahliannya dan tanpa henti mencari solusi.

Blogging juga merupakan indikator kualitas yang hebat, tetapi untuk gaya komunikasi daripada kecakapan teknis. Berapa banyak programmer yang repot menulis artikel blog # 1? Jenis potongan 1% / 5% / 10% yang sama berlaku di sini.

secara rawa
sumber
5
"Jadi satu tambalan yang diterima tampak hebat. Sejarah panjang 2-3 tambalan sederhana per kuartal bahkan lebih baik." Di mana Anda pergi dari profil seseorang untuk melihat permintaan tarik yang diterima pada proyek bercabang dua?
Nathan Long
Nathan Long, saya kira jika Anda pergi ke kontributor, Anda akan dapat melihat namanya?
MIdhun Krishna
Datangi pertanyaan ini, karena mereka membuat pencarian lebih kuat (tidak yakin itu mungkin terjadi sebelumnya), Anda dapat melakukan pencarian seperti ini: github.com/…
Garry Shutler
2
"Pada catatan yang sama, pengembang yang tweet tentang minum dan menonton film sepanjang waktu cenderung melakukan perekrutan yang biasa-biasa saja."
whatsisname
10

Sebagai seorang pengembang, saya tidak akan melakukan sesuatu yang berbeda di akun Github. Bukan masalah Anda bahwa akun Github tidak dapat dievaluasi dengan cepat. Dan sebenarnya itu bukan masalah Github - itu dimaksudkan untuk pengembangan perangkat lunak kolaboratif, bukan untuk mengevaluasi pengembang.

Seharusnya ada alat khusus untuk evaluasi pengguna, bekerja dengan data Github. Untuk saat ini, Anda dapat menggunakan situs pihak ketiga. Misalnya ada http://coderwall.com - satu pandangan cepat pada profil menunjukkan apakah pengembang pernah mengirimkan tambalan, jika orang lain memotong proyeknya, berapa banyak bahasa yang ia gunakan ...

Pilihan lain adalah membuat ringkasan seperti itu di beranda Anda secara otomatis menggunakan Github API: daftar proyek khusus dengan sejumlah garpu dan pengamat, terakhir kali diperbarui, dll.

Lukas Stejskal
sumber
6
"Git tidak dimaksudkan untuk mengevaluasi pengembang." Katakan itu kepada Andreessen Horowitz, yang baru saja menginvestasikan $ 100 juta ke GitHub karena " Ketika saya bertanya kepada semua orang apa yang mereka gunakan untuk merekrut insinyur, dan semua orang menggunakan GitHub ." Katakan saja ...
MikeSchinkel
8

Berhati-hatilah saat Anda menilai kandidat berdasarkan profil GitHub. GitHub bukan CV. Ada banyak insinyur hebat yang tidak memiliki profil mencolok, karena banyak alasan: mereka mungkin bekerja untuk perusahaan sumber tertutup, atau mereka mungkin menghabiskan lebih banyak waktu untuk kegiatan lain seperti keluarga, hobi, dll.

Meskipun kontribusi untuk proyek open source mungkin merupakan nilai tambah bagi seorang kandidat (seperti yang disebutkan @marshally), Anda harus mengevaluasi dan merekrut dengan cara kuno, berbicara.

Beberapa referensi yang saya temui setelah membaca utas ini:

defvol
sumber
2
Amin. Orang yang mengerjakan ratusan proyek dan menyerahkan 1000 tambalan dokumentasi yang rusak bukanlah orang yang ingin Anda pekerjakan - ia tidak akan pernah menyelesaikan sesuatu yang bermanfaat. Satu-satunya kriteria nyata adalah yang kuno mengambil waktu untuk berbicara dan memahami seseorang. Tidak peduli seberapa besar budaya pop dari industri kami ingin memperlakukan para dev seperti robot, kami tetap manusia (yah, kebanyakan dari kita)
gbjbaanb
1
Anda tidak harus hanya memperhitungkan statistik profil GitHub. Anda benar-benar dapat melihat kode untuk menentukan apakah mereka adalah programmer yang baik.
Siyuan Ren
5

Saya pikir Anda bisa, Anda hanya perlu meluangkan waktu mencari apakah dia benar-benar aktif di github atau tidak, dengan melihat aliran aktivitasnya.

Anda dapat melihat bagaimana dorongan, masalah dll, yang merupakan indikator besar bahwa dia benar-benar aktif dan mengerjakan sesuatu, daripada hanya bermain-main.

Jika seseorang ingin mengevaluasi Anda, ia harus melihat gambar "sejati" Anda, kode jelek dan juga kode bagus. Saya mewawancarai baru-baru ini dan pewawancara meminta saya untuk membuka akun github saya, kemudian dia melihat-lihat salah satu repo saya, melirik beberapa kode jelek yang saya tulis setahun yang lalu pada bahasa yang saya pelajari.

Jadi, dia bertanya kepada saya, bagaimana Anda bisa meningkatkan ini? Saya menjawab semua jawabannya dengan benar, karena saya tahu bagaimana memperbaikinya, tetapi saya tidak benar-benar peduli untuk memperbaiki proyek itu, karena itu hanya proyek bagi saya, untuk belajar.

Sama halnya dengan akun stackoverflow.com. Ini lebih jelas pada SO karena Anda memiliki reputasi, dll.

zengr
sumber
4

Saya pribadi tidak melihat nilai dalam melihat profil mereka sendiri. Seperti yang Anda katakan dengan benar, cenderung ada rasio kebisingan yang cukup besar sehingga tidak layak untuk disaring.

Saya baru-baru ini melamar dan dikecualikan untuk pekerjaan dev pertama saya dan saya pikir proses yang mereka gunakan sangat adil. Daripada bertanya tentang profil dan sejenisnya mereka berkonsentrasi pada proyek yang saya pilih untuk daftar di CV saya.

Sebenarnya hanya ada beberapa hal yang Anda perlu kumpulkan dari seorang kandidat, yang utama dapat mereka kembangkan, apakah mereka termotivasi dan bagaimana mereka tergerak. Semua ini bisa didapat dari wawancara pra atau putaran pertama, ini bisa dilakukan melalui telepon atau 1 jam di situs wawancara.

Idenya adalah untuk membiarkan kandidat melakukan pembicaraan dan mencari tahu di mana gairah mereka berada. Saya menemukan bahwa gaya yang lebih santai ini membuat saya membuka lebih banyak daripada mengirimkan profil saya untuk salah satu layanan yang saya gunakan terkait dengan pengembangan.

Senang rasanya tidak diluncurkan ke wawancara teknologi terlebih dahulu. Tampaknya mereka memiliki sikap yang tepat untuk menemukan "tim" yang baik dan kemudian menilai keterampilan.

DeanMc
sumber
3
Saya setuju bahwa kecocokan dan gairah kepribadian itu penting, tetapi banyak orang telah menulis tentang betapa sulitnya menentukan, seperti yang Anda katakan, "bisakah mereka berkembang." Tampaknya merupakan kebijaksanaan konvensional (setidaknya, di dunia Ruby, tempat saya bekerja) bahwa membaca kode seseorang adalah cara terbaik untuk melihat apa yang dapat mereka lakukan sebelum wawancara. Untuk lebih dalam lagi, Anda akan membawa mereka dan memasangkan program dengan mereka, yang menunjukkan kepada Anda kepribadian mereka dan seberapa baik mereka memecahkan masalah. Jadi ini bukan / atau. Saya pikir profil seseorang dapat menjadi alat yang berguna; pertanyaannya, sekali lagi, adalah bagaimana menilainya.
Nathan Long