Menyewa Pengembang Junior, Apa yang harus saya tanyakan? [Tutup]


56

Kami saat ini mempekerjakan pengembang junior untuk membantu saya, karena saya memiliki lebih banyak proyek daripada yang saat ini dapat saya kelola. Saya tidak pernah mempekerjakan orang yang bukan teman atau setidaknya seorang kenalan. Saya memiliki wawancara telepon dengan satu-satunya pelamar yang benar-benar menonjol bagi saya (di atas kertas), tetapi saya belum pernah melakukan ini sebelumnya.

Proyek kami semuanya skalabilitas tinggi, aplikasi web intensif data yang memproses jutaan transaksi per jam, di beberapa server dan klien. Untuk lebih spesifik bahasa / stack, kami menggunakan ASP.Net MVC2, WebForms dan C # 4, MSSQL 2008 R2, semua berjalan di atas Windows Server 2008 R2

Apa yang harus saya tanyakan kepadanya? Bagaimana cara saya mengatur panggilan telepon?


5
Mengapa pengembang junior dan bukan pengembang senior?
Ayub

10
Biaya; perusahaan baru menjadi menguntungkan kuartal ini ... dan ego saya rapuh;)
Jeremy Boyd

48
Dalam banyak hal, pengembang "murah" bisa lebih mahal daripada pengembang berpengalaman / mahal. Komentar ego yang rapuh benar-benar menakutkan. Jika Anda tidak pernah mempekerjakan orang yang lebih pintar dari Anda, maka Anda selalu menjadi guru dan tidak pernah menjadi siswa. Anda akan tertinggal dalam debu seperti itu.
JohnFx

6
Ada beberapa junior palsu di luar sana (<3 tahun pengalaman tetapi banyak keterampilan). Apakah usia itu penting?
James P.

2
Jika Anda mempekerjakan Pengembang Muda, itu artinya Anda tidak dapat mengevaluasi pengalaman mereka. Karena mereka tidak memiliki banyak pengalaman dalam karier pendek mereka. Di sisi lain Anda dapat mengevaluasi keterampilan pemrograman mereka dan juga melihat bagaimana mereka menulis kode. Jadi langkah pertama bisa berupa tes keterampilan, seperti http://tests4geeks.com Pada langkah kedua Anda dapat meminta mereka untuk menulis program sederhana di rumah. Dalam kasus Anda itu bisa menjadi aplikasi MVC yang menampilkan daftar beberapa data menggunakan JSON dan AJAX. Daftar diperbarui secara otomatis oleh timer sehingga item yang diposting dapat dilihat tanpa referensi ..
keras

Jawaban:


49

Tanyakan tentang blog teknologi apa yang mereka baca, tanyakan apa yang menurut pelamar menarik dalam teknologi terkini dan mengapa.

Pada dasarnya, untuk wawancara telepon Anda ingin mencari tahu apakah ini seseorang yang antusias tentang teknologi dan pemrograman dan tertarik untuk belajar dan mengetahui lebih banyak.

Karena ini adalah junior, Anda tidak dapat berharap bahwa mereka mengetahui banyak topik lanjutan, tetapi Anda ingin memastikan bahwa mereka dapat berpikir seperti seorang programmer - memberi mereka masalah sederhana dan membuat mereka memandu Anda melalui bagaimana mereka akan menyelesaikannya. Ini akan memberi Anda wawasan tentang bagaimana mereka berpikir dan memecahkan masalah.


Saya berharap saya dapat memilih dua jawaban, karena jawaban Anda dan Peter K. adalah kombinasi yang bagus.
Jeremy Boyd

5
Jawaban ini terbatas, dan itu akan menyakiti orang yang hanya mengikuti saran ini. Untuk layar ponsel, ikuti saran Steve Yegge tentangnya . Untuk orang tatap muka, Miliki tantangan pengodean, dan ikuti Panduan Gerilya Joel untuk Wawancara . Punya pertanyaan desain - "apa saja langkah yang diperlukan untuk membuat <masukkan perangkat lunak yang umum dan tidak penting>?" Anda akan menemukan bahwa terlepas dari pengalaman, semua karyawan baik memiliki jawaban yang baik dan cepat untuk masalah ini.
Robert P

Seandainya saya bisa +3 @RobertP blog dari orang-orang industri seperti Yegge, Joel, dan Atwood adalah harta karun bagi siapa pun yang mewawancarai atau dalam posisi kepemimpinan apa pun. atau siapa pun di industri yang benar-benar, tetapi terutama jika Anda diposisikan untuk memberikan panduan atau mengukur insinyur lain.
Jimmy Hoffa

26

Saya mengambil pendekatan terbuka untuk wawancara telepon, tetapi untuk meletakkan beberapa struktur di atasnya saya biasanya meminta orang tersebut untuk berbicara melalui resume yang mereka kirimkan. Seringkali, cara mereka melalui resume mereka akan menimbulkan pertanyaan lain dan Anda akan mendapatkan pemahaman yang lebih baik tentang seperti apa mereka.

Hal lain yang perlu dipikirkan selama wawancara telepon adalah dengan bertanya: Bisakah saya bekerja dengan orang ini? Apakah mereka energik? Mengganggu? Tepat?


20

Kode dengan mereka.

Anda pasti harus melakukan hal-hal wawancara yang biasa. Tapi saya tidak mempekerjakan siapa pun tanpa melakukan sesi pemrograman berpasangan dengan mereka.

Pendekatan saya: Saya akan membutuhkan 2-3 jam dan masalah mainan (misalnya, "Mari kita membangun Twitter v 0,1" untuk pengembang penuh, atau "Mari menerapkan Daftar dari primitif" untuk orang yang back-end). Kami akan duduk di komputer yang sama dan kami akan membahas cara mengatasinya. Saya akan menulis unit test pertama dan berkata, "lakukan itu". Mungkin saya akan menulis beberapa tes berikutnya untuk membantu mereka melanjutkan. Dan kemudian saya biasanya membiarkan mereka berlari, hanya melompat sesekali. Ketika waktu kami hampir habis, saya akan menghentikan mereka dan bertanya di mana mereka akan membawanya selanjutnya, dan apa yang ingin mereka lakukan sebelum mendorongnya hidup-hidup.

Hal-hal yang saya cari:

  • Bisakah mereka berkolaborasi dengan baik?
  • Apakah mereka mengerti dasar-dasarnya?
  • Bisakah mereka memecah masalah menjadi beberapa bagian?
  • Apakah mereka menghargai kode bersih?
  • Apakah mereka menangkap serangga mereka sendiri?
  • Apakah mereka mencoba omong kosong ketika mereka tidak tahu sesuatu?
  • Apakah mereka menikmati pengkodean?

17
Saya benar-benar ragu seorang Junior akan melakukannya dengan baik pada sesi pemrograman berpasangan dengan gaya busana TDD, atau bahkan tes unit secara umum.
Martin Blore

3
Tergantung pada latar belakang programmer junior. Saya baru saja mempekerjakan satu minggu lalu yang hebat dalam hal itu. Namun, yang lebih luas, itulah bagian dari apa yang saya coba cari tahu ketika wawancara. Jika mereka tidak pandai bagian pengujian, maka saya hanya akan menulis tes sendiri, atau membiarkan mereka mengisi tanpa tes. Either way memungkinkan saya melihat apa kekuatan dan kelemahan mereka.
William Pietri

2
Saya tidak ingin melakukan ini sekarang, setelah 10 tahun pengalaman, apalagi ketika saya masih junior. Pikiran yang mengerikan!
AnthonyBlake

3
Saya akan menganggap diri saya seorang programmer junior dan akan menyambut baik pendekatan ini untuk menunjukkan bagaimana dan apa yang bisa saya lakukan. Terlalu sering saya menemukan pertanyaan yang memerlukan definisi kamus sempurna dengan sedikit memperhatikan penggunaannya dan implementasi keseluruhan. Apakah Anda lebih suka saya kutip daftar yang dihafal dari penggunaan statickata kunci dari Wikipedia atau menunjukkan bagaimana saya dapat menggunakannya dalam konteks yang layak dan berlaku?
amcc

7

What's your Stack Overflow account name?

Salah satu cara terbaik untuk mengetahui bagaimana kode seseorang akan terlihat adalah dengan melihatnya langsung. Salah satu cara terbaik untuk melakukannya adalah melalui SO.

Kalau tidak, pertanyaan standar berlaku. Tanyakan tentang situasi sulit dan bagaimana mereka mengatasinya. Tanyakan tentang bahasa baru apa yang mereka pelajari atau pikirkan tentang belajar, dan mengapa. Tanyakan kepada mereka apa IDE yang mereka gunakan, dan mengapa mereka memilihnya? Kontrol sumber apa?

Anda dapat belajar banyak dengan mengajukan pertanyaan terbuka yang mungkin tidak berhubungan dengan proyek tertentu, tetapi sebaliknya akan memungkinkan mereka untuk bekerja sama dengan Anda proses pemikiran mereka.


Lebih baik minta akun github mereka, walaupun mereka mungkin akan membagikan info itu jika mereka punya akun.
Pekerjaan

7
Kali ini saya masuk ke SO dan menyadari 90% dari orang-orang di sana hanya peduli tentang pengembangan web ... lalu saya meninggalkan ... begitu banyak untuk rep saya.
Pemdas

3
Meskipun ini bisa berhasil, itu belum tentu akurat. Seseorang dapat melakukan upaya yang signifikan dalam pekerjaan membayar mereka daripada kontribusi saran biasa.
NoChance

5
Betapapun nilainya, beberapa pengembang terbaik di perusahaan saya tidak memiliki akun SO atau memiliki reputasi <100. Tentu saja bagus jika mereka memiliki akun dengan perwakilan tinggi, tetapi Anda tidak dapat membaca banyak tentang mereka tidak memiliki yang tinggi.
Jeremy Wiggins

Sebenarnya, jika kandidat agak aktif di SO (atau jika mereka kadang-kadang aktif di masa lalu), Anda mungkin akan menemukan tautannya di CV mereka. Di sisi lain, pewawancara jarang punya waktu untuk memeriksa sesuatu seperti ini. Yang dalam beberapa kasus bisa baik untuk Anda, karena saya misalnya tidak bangga dengan setiap pertanyaan / jawaban yang saya posting di SO.
Radu Murzea

6

Satu hal yang tidak saya lihat di sini dalam bacaan cepat saya adalah kebutuhan untuk bertanya kepada mereka tentang:

1 - Kesediaan untuk belajar

2 - Kemampuan mengajar mandiri vs pelatihan formal

3 - Contoh sesuatu yang mereka pelajari sendiri di masa lalu

4 - Contoh bidang yang tidak nyaman bagi mereka

5 - Pertanyaan tingkat tinggi umum seperti "jika Anda bertugas membuat aplikasi web tentang ... tugas apa yang perlu terjadi dan siapa yang harus melakukannya" - Ini akan memberi Anda gambaran tentang pengetahuan mereka saat ini tentang proses pengembangan - Ini tidak harus akurat, tetapi setidaknya Anda akan mengetahui pandangan mereka seperti hari ini.


4

Bicaralah dengan saya melalui proyek yang pernah Anda kerjakan

  • Jelaskan keseluruhan arsitektur proyek. Tingkat tinggi baik-baik saja.
  • Apa satu hal yang Anda sukai dari proyek ini?
  • Apa satu hal yang tidak Anda sukai dari proyek ini?
  • Apa sesuatu yang, jika dipikir-pikir, Anda akan lakukan secara berbeda?

Ini adalah pertanyaan yang bagus untuk wawancara menurut pendapat saya, telepon atau lainnya. Jika mereka dapat berbicara secara cerdas tentang proyek yang mereka kerjakan, kemungkinan mereka "mengerti". Anda menyewa pengembang tingkat junior, jadi belum penting mereka menjadi ahli, tetapi mereka setidaknya harus memahami bidang mereka dengan cukup baik untuk membicarakannya. Biasanya orang yang ingin Anda pekerjakan tidak akan kesulitan menjalankan ini, sementara orang yang ingin Anda hindari akan menjawab dalam beberapa kalimat atau kurang.

Apa yang Anda lakukan agar tetap terkini?

  • Blog apa yang Anda baca?
  • Buku apa yang sudah Anda baca / yang Anda baca?
  • Ada yang lain?

Dalam industri yang terus berubah, saya pikir penting bagi mereka untuk tetap mengikuti perkembangan terkini. Ini bukan pertanyaan paling penting yang saya tanyakan dalam sebuah wawancara, tetapi jika mereka tidak bisa mengatakan sesuatu, itu bukan pertanda baik.

Katakan padaku bagaimana kamu akan menulis kelas Sepeda

Mungkin pertanyaan yang lebih baik untuk wawancara langsung sehingga mereka benar-benar dapat menulis beberapa kode pseudo, tapi saya pikir itu bisa bekerja untuk wawancara telepon juga ... Jelaskan sepeda (sepeda itu memiliki pegangan, roda, dll. Seseorang mengendarainya. ) dan minta mereka menggambarkan bagaimana mereka akan memodelkan kelas (es). Tidak ada yang melanggar di sini, tetapi jika mereka berjuang dengan pertanyaan ini, mereka kemungkinan masih TERLALU junior untuk menjadi aset.


2

Ada banyak tips wawancara yang baik yang sudah ditulis, tetapi saya tidak berpikir Anda dapat mengisi posisi ini sampai Anda tahu persis apa yang akan mereka lakukan setiap hari. Jika pikiran pertama Anda adalah, "Apa pun yang saya butuhkan mereka lakukan." berhenti saja. Temukan potongan kode tertentu untuk mereka tinjau. Pilih kode terbaik dan terburuk bagi mereka untuk dilihat dan lihat apakah mereka tahu bedanya. Beri mereka area untuk dikerjakan untuk proyek cepat pertama yang mungkin telah diabaikan.

Mudah-mudahan Anda telah mempekerjakan programmer terbaik, tetapi setiap orang memiliki bidang yang lebih baik / lebih berpengalaman daripada yang lain. Manfaatkan itu dan jelaskan peran mereka.

Oh, dan pekerjakan seseorang dengan riwayat menyelesaikan sesuatu.


0

Saat Anda berdiskusi satu lawan satu dengan pengembang, Anda dapat mengenalnya dan kemudian memeriksa apakah mereka jujur ​​dengan Anda.

Untuk melakukannya, Anda dapat mengajukan pertanyaan berikut kepadanya untuk mengetahui seberapa jujur dia sebenarnya

  1. Jika mereka telah melakukan sertifikasi, seperti Sertifikasi Microsoft cek dengan mereka untuk mengetahui apakah mereka telah benar-benar mempelajari dan menghapusnya.

  2. Beberapa pengembang junior yang telah melakukan proyek tahun terakhir mereka, tidak akan melakukan proyek sendiri yaitu teman-teman mereka pasti melakukannya untuk mereka dll.

Jujur memainkan peran yang sangat penting, ketika pengembang junior dipercayakan dengan proyek-proyek rahasia.

Jika Anda merasa dapat mempercayai mereka, maka Anda dapat memberikan kuesioner tentang teknologi mana yang mereka rekrut diikuti oleh teks praktis dengan beberapa skenario kasus untuk memeriksa apakah mereka memiliki kemampuan logis yaitu untuk memeriksa apakah mereka memiliki sentuhan konstan dalam pemrograman.


1
dengan asumsi yang terburuk dari orang?
tp1

+1 untuk asumsi. @ tp1 Menjaga semua opsi terbuka. : D
Karthik Sreenivasan

0

CEO Sandglaz Nada Aldahleh baru-baru ini menulis posting blog tentang ini, berdasarkan pengalamannya sendiri dalam mempekerjakan pengembang untuk startup-nya. Berikut beberapa hal yang ia cari:

  • pola pikir pemecahan masalah
  • keterampilan komunikasi yang kuat
  • ajukan pertanyaan arsitektur dan algoritma; seorang pengembang junior harus dapat merancang fitur-fitur kecil baru dan pertanyaan-pertanyaan algoritma dapat menceritakan tentang pola pikir pemecahan masalah dan jenis dasar yang mereka miliki
  • teka-teki untuk mengisolasi keterampilan analitis

Dan, tentu saja, tes pemrograman, yang seharusnya tidak terdiri dari pertanyaan Fizz Buzz. Tugas nyata yang dapat diselesaikan dalam beberapa jam di kantor Anda akan menjadi jenis tes terbaik.

Anda dapat membaca lebih banyak sarannya di sini: http://blog.sandglaz.com/how-to-interview-and-hire-junior-developers/

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.