จ้างนักพัฒนาเยาวชนฉันควรถามอะไร [ปิด]


56

ขณะนี้เรากำลังจ้างนักพัฒนารุ่นใหม่เพื่อช่วยเหลือฉันเนื่องจากฉันมีโครงการมากกว่าที่ฉันสามารถจัดการได้ในขณะนี้ ฉันไม่เคยจ้างใครที่ไม่ใช่เพื่อนหรือคนรู้จักอย่างน้อยที่สุด ฉันมีการสัมภาษณ์ทางโทรศัพท์กับผู้สมัครคนเดียวที่โดดเด่นสำหรับฉันจริงๆ (บนกระดาษ) แต่ฉันไม่เคยทำแบบนี้มาก่อน

โครงการของเรานั้นมีความยืดหยุ่นในการใช้งานสูงเว็บแอปพลิเคชั่นที่ใช้ข้อมูลจำนวนมากซึ่งประมวลผลการทำธุรกรรมหลายล้านครั้งต่อชั่วโมงทั่วทั้งเซิร์ฟเวอร์และไคลเอนต์ เพื่อให้เป็นภาษา / สแต็คที่เฉพาะเจาะจงเราใช้ ASP.Net MVC2, WebForms และ C # 4, MSSQL 2008 R2 ซึ่งทั้งหมดทำงานบน Windows Server 2008 R2

ฉันควรถามเขาอย่างไร ฉันควรจัดโครงสร้างการโทรอย่างไร


5
ทำไมเป็นนักพัฒนารุ่นเยาว์และไม่ใช่รุ่นพี่?
งาน

10
ค่าใช้จ่าย; บริษัท เพิ่งเริ่มมีกำไรในไตรมาสนี้ ... และอัตตาของฉันเปราะบาง;)
Jeremy Boyd

48
ในหลาย ๆ ทางผู้พัฒนา "ไม่แพง" อาจมีราคาแพงกว่าผู้พัฒนาที่มีประสบการณ์ / ราคาแพง ความคิดเห็นอัตตาที่เปราะบางนั้นน่ากลัวมาก หากคุณไม่เคยจ้างคนที่ฉลาดกว่าคุณคุณก็เป็นครูและไม่เคยเป็นนักเรียน คุณจะถูกทิ้งให้อยู่ในผงฝุ่นแบบนั้น
JohnFx

6
มีจูเนียร์ปลอมบางตัวที่นั่น (ประสบการณ์ <3 ปี แต่มีทักษะจำนวนมาก) อายุสำคัญหรือไม่
James P.

2
หากคุณจ้างนักพัฒนารุ่นเยาว์หมายความว่าคุณไม่สามารถประเมินประสบการณ์ของพวกเขาได้ เพราะพวกเขามีประสบการณ์ไม่มากนักในอาชีพการงานสั้น ๆ ในอีกทางหนึ่งคุณสามารถประเมินทักษะการเขียนโปรแกรมและดูว่าพวกเขาเขียนรหัสอย่างไร ดังนั้นขั้นตอนแรกคือการทดสอบทักษะเช่นhttp://tests4geeks.comในขั้นตอนที่สองคุณสามารถขอให้พวกเขาเขียนโปรแกรมง่ายๆที่บ้าน ในกรณีของคุณอาจเป็นแอปพลิเคชัน MVC ที่แสดงรายการข้อมูลบางอย่างโดยใช้ JSON และ AJAX รายการจะรีเฟรชโดยอัตโนมัติโดยตัวจับเวลาเพื่อให้สามารถโพสต์รายการได้โดยไม่ต้องอ้างอิง ..
harsh

คำตอบ:


49

ถามเกี่ยวกับสิ่งที่พวกเขาอ่านบล็อกเทคโนโลยีถามสิ่งที่ผู้สมัครพบว่าน่าสนใจในเทคโนโลยีปัจจุบันและทำไม

โดยพื้นฐานแล้วสำหรับการสัมภาษณ์ทางโทรศัพท์คุณต้องการทราบว่านี่คือคนที่กระตือรือร้นเกี่ยวกับเทคโนโลยีและการเขียนโปรแกรมและสนใจที่จะเรียนรู้และรู้มากขึ้น

เนื่องจากนี่เป็นรุ่นน้องคุณไม่สามารถคาดหวังได้ว่าพวกเขาจะรู้หัวข้อขั้นสูงมากมาย แต่คุณต้องการให้แน่ใจว่าพวกเขาสามารถคิดเหมือนโปรแกรมเมอร์ได้ให้ปัญหาง่ายๆกับพวกเขาและให้พวกเขาแนะนำวิธีแก้ปัญหาให้พวกเขา มันจะให้ข้อมูลเชิงลึกเกี่ยวกับวิธีที่พวกเขาคิดและแก้ไขปัญหา


ฉันหวังว่าฉันจะสามารถเลือกคำตอบได้สองข้อเพราะทั้งคุณและ Peter K. นั้นเป็นคอมโบที่ยอดเยี่ยม
Jeremy Boyd

5
คำตอบนี้มี จำกัด และจะทำร้ายคนที่ทำตามคำแนะนำนี้เท่านั้น สำหรับหน้าจอโทรศัพท์ให้ทำตามคำแนะนำของสตีฟเย็กจของมัน สำหรับในคนมีการเข้ารหัสความท้าทายและทำตามโจเอลคู่มือการรบแบบกองโจรในการสัมภาษณ์ มีคำถามเกี่ยวกับการออกแบบ - "ขั้นตอนทั้งหมดที่จำเป็นในการทำ <แทรกซอฟต์แวร์ทั่วไปที่ไม่มีส่วนร่วม>?" คุณจะพบว่าโดยไม่คำนึงถึงประสบการณ์พนักงานดีทุกคนมีคำตอบที่ดีและรวดเร็วสำหรับปัญหาเหล่านี้
Robert P

หวังว่าฉันจะสามารถ +3 @RobertP บล็อกจากคนในอุตสาหกรรมเช่น Yegge, Joel และ Atwood เป็นขุมทรัพย์สำหรับทุกคนที่สัมภาษณ์หรืออยู่ในตำแหน่งผู้นำใด ๆ หรือใครก็ตามในอุตสาหกรรมจริงๆ แต่โดยเฉพาะอย่างยิ่งถ้าคุณอยู่ในตำแหน่งที่จะให้คำแนะนำหรือวัดวิศวกรอื่น ๆ
จิมมี่ฮอฟฟา

26

ฉันใช้วิธีการสัมภาษณ์ทางโทรศัพท์แบบเปิดกว้าง แต่เพื่อวางโครงสร้างบางอย่างไว้ฉันมักจะขอให้บุคคลนั้นพูดคุยผ่านเรซูเม่ที่พวกเขาส่งมา บ่อยครั้งที่พวกเขาผ่านเรซูเม่ของพวกเขาจะถามคำถามอื่น ๆ และคุณจะได้รับความเข้าใจที่ดีขึ้นเกี่ยวกับสิ่งที่พวกเขาชอบ

อีกสิ่งที่ควรพิจารณาในระหว่างการสัมภาษณ์ทางโทรศัพท์คือถาม: ฉันสามารถทำงานกับบุคคลนี้ได้หรือไม่ พวกเขามีพลังหรือไม่ น่ารำคาญ? แม่นยำ?


20

รหัสกับพวกเขา

คุณควรทำสิ่งสัมภาษณ์ปกติ แต่ฉันจะไม่จ้างใครเลยโดยไม่ต้องทำการเขียนโปรแกรมคู่กับพวกเขา

วิธีการของฉัน: ฉันจะใช้เวลา 2-3 ชั่วโมงและปัญหาของเล่น (เช่น "ลองสร้าง Twitter v 0.1" สำหรับ dev เต็มสแต็คหรือ "ลองใช้รายการจากรายการดั้งเดิม" สำหรับผู้ที่มีแบ็คเอนด์) เราจะนั่งลงที่คอมพิวเตอร์เครื่องเดียวกันและเราจะพูดถึงวิธีจัดการกับมัน ฉันจะเขียนบททดสอบครั้งแรกและพูดว่า "ทำบัตรผ่าน" บางทีฉันอาจจะเขียนแบบทดสอบต่อไปเพื่อช่วยให้พวกเขาไป จากนั้นฉันก็ปล่อยให้พวกมันวิ่งโดยกระโดดเป็นครั้งคราวเท่านั้น ในขณะที่เรามีเวลาน้อยฉันจะหยุดพวกเขาและถามว่าพวกเขาจะเอามันไปที่ไหนและสิ่งที่พวกเขาต้องการจะทำก่อนที่จะผลักมันสด

สิ่งที่ฉันมองหา:

  • พวกเขาทำงานร่วมกันได้ดีหรือไม่?
  • พวกเขาเข้าใจพื้นฐานหรือไม่
  • พวกเขาสามารถแบ่งปัญหาออกเป็นส่วน ๆ ได้หรือไม่?
  • พวกเขาให้ความสำคัญกับรหัสที่สะอาดหรือไม่
  • พวกเขาจับข้อบกพร่องของตัวเองหรือไม่?
  • พวกเขาพยายามที่จะพล่ามเมื่อพวกเขาไม่รู้อะไรเลย?
  • พวกเขาสนุกกับการเข้ารหัสหรือไม่

17
ฉันสงสัยว่า Junior จะทำได้ดีในช่วงการเขียนโปรแกรมคู่กับแฟชั่นสไตล์ TDD หรือแม้แต่การทดสอบหน่วยโดยทั่วไป
Martin Blore

3
ขึ้นอยู่กับพื้นหลังของโปรแกรมเมอร์อาวุโส ฉันเพิ่งจ้างหนึ่งสัปดาห์ที่ผ่านมาซึ่งยอดเยี่ยมมาก แม้ว่าในวงกว้างนั้นเป็นส่วนหนึ่งของสิ่งที่ฉันพยายามค้นหาเมื่อสัมภาษณ์ หากพวกเขาไม่เก่งในส่วนการทดสอบฉันจะเขียนข้อสอบด้วยตัวเองหรือปล่อยให้พวกเขาคิดค่าธรรมเนียมล่วงหน้าโดยไม่ต้องทำการทดสอบ ทั้งสองวิธีช่วยให้ฉันเห็นว่าจุดแข็งและจุดอ่อนของพวกเขาคืออะไร
William Pietri

2
ฉันไม่อยากทำสิ่งนี้ในตอนนี้หลังจากประสบการณ์ 10 ปีไม่เป็นไรเมื่อฉันเป็นรุ่นน้อง ความคิดที่น่ากลัว!
AnthonyBlake

3
ฉันจะถือว่าตัวเองเป็นโปรแกรมเมอร์รุ่นเยาว์และยินดีต้อนรับวิธีการนี้เพื่อแสดงวิธีและสิ่งที่ฉันสามารถทำได้ บ่อยครั้งที่ฉันเจอคำถามที่ต้องใช้คำจำกัดความที่สมบูรณ์แบบของพจนานุกรมโดยคำนึงถึงการใช้งานเล็กน้อยและการนำไปใช้โดยรวม คุณต้องการให้ฉันอ้างถึงรายการที่จำไว้เกี่ยวกับการใช้staticคำหลักนอก Wikipedia หรือแสดงว่าฉันจะใช้มันอย่างไรในบริบทที่สามารถนำไปใช้ได้จริง
amcc

7

What's your Stack Overflow account name?

หนึ่งในวิธีที่ดีที่สุดในการทำความเข้าใจว่าโค้ดของใครบางคนกำลังดูอยู่คือการเห็นมันเป็นมือแรก หนึ่งในวิธีที่ดีที่สุดในการทำเช่นนั้นคือผ่าน SO

มิฉะนั้นจะใช้คำถามมาตรฐาน ถามเกี่ยวกับสถานการณ์ที่ยากลำบากและวิธีเอาชนะพวกเขา ถามเกี่ยวกับสิ่งที่พวกเขากำลังเรียนรู้ภาษาใหม่หรือคิดเกี่ยวกับการเรียนรู้และทำไม ถามพวกเขาว่าพวกเขาใช้ IDE อะไรและทำไมพวกเขาถึงเลือกมัน ควบคุมแหล่งที่มาอะไร?

คุณสามารถเรียนรู้ได้มากโดยการถามคำถามปลายเปิดที่อาจไม่เกี่ยวข้องกับโครงการเฉพาะ แต่จะอนุญาตให้พวกเขาทำงานผ่านกระบวนการคิดของคุณแทน


ดีกว่าถามบัญชี GitHub ของพวกเขาแม้ว่าพวกเขาอาจจะได้แบ่งปันข้อมูลนั้นถ้าพวกเขามีบัญชี
งาน

7
ครั้งเดียวที่ฉันลงชื่อเข้าใช้ดังนั้นและตระหนักถึง 90% ของผู้คนที่อยู่ที่นั่นเพียงใส่ใจเกี่ยวกับการพัฒนาเว็บ ... จากนั้นฉันออกไป ... มากสำหรับตัวแทนของฉัน
Pemdas

3
ขณะนี้อาจใช้งานได้ แต่ก็ไม่จำเป็นต้องแม่นยำ หนึ่งอาจใช้ความพยายามอย่างมีนัยสำคัญในงานการจ่ายเงินของพวกเขามากกว่าในคำแนะนำแบบไม่เป็นทางการมีส่วนร่วม
NoChance

5
สำหรับสิ่งที่คุ้มค่านักพัฒนาที่ดีที่สุดบางคนใน บริษัท ของฉันอาจไม่มีบัญชี SO หรือมีชื่อเสียง <100 แน่นอนว่ายอดเยี่ยมหากพวกเขามีบัญชีที่มีตัวแทนระดับสูง แต่คุณไม่สามารถอ่านได้มากนัก พวกเขาไม่มีคนสูง
Jeremy Wiggins

ที่จริงแล้วหากผู้สมัครมีสถานะค่อนข้างใช้งาน SO (หรือบางครั้งพวกเขาเคยเปิดใช้งานมาก่อน) คุณอาจพบลิงก์ไปยังประวัติย่อของพวกเขา ในทางกลับกันผู้สัมภาษณ์ไม่ค่อยมีเวลามองอะไรแบบนี้ ซึ่งในบางกรณีอาจดีสำหรับคุณเพราะฉันไม่ภูมิใจในคำถาม / คำตอบที่ฉันโพสต์ใน SO
Radu Murzea

6

สิ่งหนึ่งที่ฉันไม่เห็นที่นี่ในการอ่านอย่างรวดเร็วของฉันคือความต้องการถามพวกเขาเกี่ยวกับ:

1 - ความเต็มใจที่จะเรียนรู้

2 - ความสามารถในการสอนตนเองและการฝึกอบรมอย่างเป็นทางการ

3 - ตัวอย่างของสิ่งที่พวกเขาเรียนรู้ในอดีต

4 - ตัวอย่างของพื้นที่ที่ไม่สะดวก

5 - คำถามระดับสูงทั่วไปเช่น "ถ้าคุณได้รับมอบหมายให้สร้างเว็บแอปพลิเคชันเกี่ยวกับ ... งานที่ต้องเกิดขึ้นและใครควรทำ" - นี่ควรให้คุณมีความรู้เกี่ยวกับความรู้ในปัจจุบันเกี่ยวกับกระบวนการพัฒนา - มัน ไม่จำเป็นต้องแม่นยำ แต่อย่างน้อยคุณจะได้รับรู้มุมมองของพวกเขาเช่นเดียวกับวันนี้


4

พูดคุยเกี่ยวกับโครงการที่คุณเคยทำในอดีต

  • อธิบายสถาปัตยกรรมโดยรวมของโครงการ ระดับสูงก็ดี
  • สิ่งหนึ่งที่คุณชอบเกี่ยวกับโครงการคืออะไร
  • สิ่งหนึ่งที่คุณไม่ชอบเกี่ยวกับโครงการคืออะไร
  • คุณจะทำอะไรที่แตกต่างไปจากเหตุการณ์ในอดีต

นี่เป็นคำถามที่ยอดเยี่ยมสำหรับการสัมภาษณ์ในความเห็นโทรศัพท์หรืออย่างอื่น หากพวกเขาสามารถพูดคุยอย่างชาญฉลาดเกี่ยวกับโครงการที่พวกเขาได้ทำงานอยู่พวกเขามีโอกาส "รับมัน" คุณกำลังจ้างนักพัฒนาระดับต้นดังนั้นจึงไม่สำคัญที่พวกเขาจะเป็นผู้เชี่ยวชาญ แต่อย่างน้อยพวกเขาควรเข้าใจสาขาของตนดีพอที่จะพูดคุยเกี่ยวกับเรื่องนี้ โดยทั่วไปแล้วคนที่คุณต้องการจะจ้างจะไม่มีปัญหาในการทำงานกับเรื่องนี้ในขณะที่คนที่คุณอาจต้องการอยู่ห่าง ๆ จะตอบคำถามสองประโยคหรือน้อยกว่านั้น

คุณทำอะไรเพื่ออยู่ในปัจจุบัน?

  • คุณอ่านบล็อกอะไร
  • คุณอ่านหนังสืออะไร / คุณกำลังอ่านหนังสือ?
  • มีอะไรอีกไหม

ในอุตสาหกรรมที่มีการเปลี่ยนแปลงอยู่ตลอดเวลาฉันคิดว่ามันสำคัญสำหรับพวกเขาที่จะต้องติดตามข่าวสาร นี่ไม่ใช่คำถามที่สำคัญที่สุดที่ฉันถามในการสัมภาษณ์ แต่ถ้าพวกเขาไม่สามารถพูดอะไรได้มันไม่ใช่สัญญาณที่ดี

บอกฉันว่าคุณจะเขียนคลาสรถจักรยานได้อย่างไร

อาจเป็นคำถามที่ดีกว่าสำหรับการสัมภาษณ์ด้วยตนเองเพื่อให้พวกเขาสามารถเขียนโค้ดหลอกได้จริง แต่ฉันคิดว่ามันสามารถใช้ในการสัมภาษณ์ทางโทรศัพท์ได้เช่นกัน ... อธิบายรถจักรยาน ) และให้พวกเขาอธิบายว่าพวกเขาจะจำลองคลาส (es) อย่างไร ไม่มีอะไรมาทำลายที่นี่ แต่ถ้าพวกเขาต่อสู้กับคำถามนี้พวกเขามีแนวโน้มที่จะยังคงเป็นจูเนียร์ TOO ที่จะเป็นสินทรัพย์


2

มีเคล็ดลับการสัมภาษณ์ที่ดีมากมายที่เขียนไว้แล้ว แต่ฉันไม่คิดว่าคุณสามารถเติมตำแหน่งนี้จนกว่าคุณจะรู้ว่าสิ่งที่พวกเขากำลังจะทำในแต่ละวัน หากความคิดแรกของคุณคือ "สิ่งที่ฉันต้องการให้พวกเขาทำ" แค่หยุด ค้นหากลุ่มรหัสเฉพาะเพื่อให้พวกเขาตรวจสอบ เลือกรหัสที่ดีที่สุดและแย่ที่สุดเพื่อให้พวกเขาดูและดูว่าพวกเขารู้ถึงความแตกต่างหรือไม่ ให้พื้นที่ในการทำงานสำหรับโครงการด่วนครั้งแรกที่อาจถูกทอดทิ้ง

หวังว่าคุณจะได้ว่าจ้างโปรแกรมเมอร์ที่ดีที่สุด แต่ทุกคนมีสาขาที่ดีกว่า / มีประสบการณ์มากกว่าคนอื่น ๆ ใช้ประโยชน์จากมันและกำหนดบทบาทของพวกเขาตามนั้น

โอ้และจ้างคนที่มีประวัติว่าจะทำสิ่งต่าง ๆ ให้สำเร็จ


0

เมื่อคุณคุยกับนักพัฒนาแบบตัวต่อตัวคุณสามารถรู้จักเขาแล้วตรวจสอบว่าพวกเขาซื่อสัตย์กับคุณหรือไม่

ในการทำเช่นนั้นคุณสามารถถามคำถามต่อไปนี้ให้เขารู้ว่าเขาซื่อสัตย์จริงๆ

  1. หากพวกเขาได้ทำการรับรองใด ๆ เช่นการตรวจสอบการรับรองของ Microsoft กับพวกเขาเพื่อทราบว่าพวกเขาได้ทำการศึกษาอย่างแท้จริงแล้วและชัดเจน

  2. นักพัฒนารุ่นน้องบางคนที่ทำโครงการปีสุดท้ายจะไม่ทำโครงการด้วยตัวเองเช่นเพื่อนของพวกเขาต้องทำเพื่อพวกเขา ฯลฯ

ความซื่อสัตย์มีบทบาทสำคัญมากเมื่อผู้พัฒนารุ่นน้องได้รับความไว้วางใจในโครงการที่เป็นความลับ

หากคุณรู้สึกว่าคุณสามารถไว้วางใจพวกเขาได้คุณสามารถให้แบบสอบถามเกี่ยวกับเทคโนโลยีที่พวกเขาได้รับการคัดเลือกตามด้วยข้อความที่ใช้งานจริงได้ในบางกรณีเพื่อตรวจสอบว่าพวกเขามีความสามารถเชิงตรรกะหรือไม่


1
สมมติว่าเลวร้ายที่สุดของคน?
tp1

+1 สำหรับสมมติฐาน @ tp1 เปิดตัวเลือกทั้งหมดไว้ : D
Karthik Sreenivasan

0

Nada Aldahleh CEO ของ Sandglaz เพิ่งเขียนโพสต์บล็อกเกี่ยวกับเรื่องนี้ตามประสบการณ์ของเธอในการว่าจ้างนักพัฒนาเพื่อเริ่มต้น นี่คือบางสิ่งที่เธอมองหา:

  • การแก้ปัญหาความคิดตั้ง
  • ทักษะการสื่อสารที่แข็งแกร่ง
  • ถามคำถามสถาปัตยกรรมและอัลกอริทึม นักพัฒนารุ่นน้องควรสามารถออกแบบคุณสมบัติขนาดเล็กและคำถามเกี่ยวกับอัลกอริทึมที่สามารถบอกเกี่ยวกับความคิดในการแก้ปัญหาและประเภทของพื้นฐานที่พวกเขามี
  • ปริศนาเพื่อแยกทักษะการวิเคราะห์

และแน่นอนการทดสอบการเขียนโปรแกรมซึ่งไม่ควรประกอบด้วยคำถามของ Fizz Buzz การมอบหมายงานในชีวิตจริงที่สามารถทำให้เสร็จภายในสองสามชั่วโมงที่สำนักงานของคุณจะเป็นการทดสอบที่ดีที่สุด

คุณสามารถอ่านคำแนะนำของเธอเพิ่มเติมได้ที่นี่: http://blog.sandglaz.com/how-to-interview-and-hire-junior-developers/

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.