จะรู้จักโปรแกรมเมอร์ดีอย่างไร [ปิด]


131

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

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

แก้ไข: ตามคำตอบของ Manoj นี่คือคำถามที่เกี่ยวข้องกับงานการเขียนโค้ดในการสัมภาษณ์งาน


3
<โจ๊ก> เพื่อให้รู้จักโปรแกรมเมอร์ที่ดีฉันมักจะใช้The Programmers Dress Codeเป็นไม้เท้า ;-) </joke>
Galonian

7
ฉันประมาณ 6 ', 185 ปอนด์, โกนหัวและเคราแพะ ฉันกำลังสวม Chuck Taylors และเสื้อยืดสีน้ำเงินเหนือตัวระบายความร้อนสีขาว กรุณาลงคะแนนฉันเบา ๆ - ฉันตอบคำถาม :)
MusiGenesis

6
ที่เกี่ยวข้องหรือซ้ำ: programmers.stackexchange.com/questions/4614/…
Maniero

1
นี่คือมุมมองอื่นของหัวข้อ - วิธีสัมภาษณ์โปรแกรมเมอร์

2
คำถามนี้เหมาะสมสำหรับไซต์นี้ในปี 2008 เมื่อถูกถาม ห้าปี. ห้าปีต่อมา Prog.SE เปลี่ยนเป็น SO2 ซึ่งซ้ำกัน
Warren P

คำตอบ:


157

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

ถามพวกเขาว่าพวกเขาไม่ชอบอะไรเกี่ยวกับภาษาหรือแพลตฟอร์มโปรดของพวกเขา พวกเขาจะแก้ไขสิ่งต่าง ๆ อย่างไร พวกเขาต้องการเห็นอะไรในรุ่นถัดไป พวกเขามีงานอดิเรกหรือไม่? หากพวกเขามีบล็อกอ่านมัน ตรวจสอบสถานะออนไลน์ทั่วไปของพวกเขา


3
ความคิดที่ยอดเยี่ยม - โดยเฉพาะโครงการงานอดิเรกและปัญหาเกี่ยวกับภาษาโปรดของพวกเขานั้นดีสำหรับฉันจริงๆ ควรเปิดเผยเพิ่มเติมเกี่ยวกับความสัมพันธ์กับการเขียนโปรแกรม บล็อกเป็นความคิดที่ดี โชคไม่ดีพวกเขามักจะไม่มีบล็อก :-( ขอบคุณ ...

25
ความหลงใหลไม่ได้แปลว่าเป็นมืออาชีพหรือการทำงานเป็นทีม พวกเขาอาจต้องการโค้ดว่าอะไรเจ๋ง / สนุกไม่ใช่สิ่งที่ต้องการการเข้ารหัส

22
@Preston: ในขณะที่มันเป็นจริงในทางทฤษฎีฉันไม่ได้พบใครที่หลงใหลซึ่งไม่ได้มีความสุขที่จะทำเช่นเดียวกัน ฉันได้พบกับนักเขียนรหัสพรีมาที่คิดว่าพวกเขาอยู่เหนือสิ่งนั้น แต่โดยทั่วไปแล้วพวกเขาไม่ได้หลงใหล การทดสอบความเป็นมืออาชีพนั้นค่อนข้างยากแล้ว ...
Jon Skeet

36
ตรวจสอบจำนวนป้ายของพวกเขา

83

การจ้างคนดีเป็นยาก

ฉันได้ทำผิดพลาดจริง ๆ เพื่อให้ดีขึ้น คุณเริ่มเชื่อใจในลำไส้มากขึ้นหลังจากสองสามครั้งแรกที่คุณไม่ไว้ใจและเสียใจ

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

นอกจากนี้ยังมีคำถามอื่นอีก 57 ข้อ (ณ วันที่ 20/11/2551) ในSoftware Engineering Stackexchange ที่ติดแท็กสัมภาษณ์และบางคนก็ดูมีความเกี่ยวข้องมาก


2
การจ้างคนดีนั้นเป็นเรื่องยาก :)
สาเหตุที่ดีที่สุด

7
สิ่งที่หน้าจอโทรศัพท์คำถามเริ่มต้นที่ดี แต่แล้วคำถามที่มากขึ้นเรื่อย ๆ กลายเป็นไร้สาระ ฉันไม่คิดว่าโปรแกรมเมอร์ที่ดีต้องรู้2^16ด้วยใจ และรุ่นติดตามอย่างรวดเร็วที่ด้านล่างเป็นเพียงเรื่องตลกที่น่าสงสาร
ปีเตอร์

ลิงก์ SO ดูเหมือนใช้งานไม่ได้ (ไม่มีผลลัพธ์หรือ 404)
Stijn Geukens

@StijnGeukens ดูเหมือนว่าแท็กนั้นถูกย้ายไปยังวิศวกรรมซอฟต์แวร์ ฉันได้อัพเดทลิงค์แล้ว
Hamish Smith

47

ความคิดบางอย่าง:

  • ถามคำถามปลายเปิดหลาย ๆ มุมจากหลายมุม

    • ตรวจสอบบางรหัส มีอะไรระบุ? ข้อผิดพลาดทางเทคนิคความไม่สอดคล้องกันของสไตล์ความคิดเห็นอัลกอริธึมการบำรุงรักษา ฯลฯ ...
    • เขียนรหัส ค้นหากระบวนการการพิสูจน์อักษรกระสุนอ่านง่าย ฯลฯ
    • สร้างการออกแบบระดับสูงสำหรับระบบขนาดเล็ก มองหาความเข้าใจของปัญหาแนวทางการสื่อสารความครบถ้วนสมบูรณ์รายละเอียด
    • อธิบายกระบวนการพัฒนาซอฟต์แวร์ มองหาการออกแบบการทำงานร่วมกันทบทวนการทดสอบนิสัยที่ดี / ไม่ดีและประสบการณ์โดยรวม
  • เลือกอะไรก็ได้ที่ผู้สมัครอ้างว่ารู้ดี ถามคำถามง่ายๆแล้วถามคำถามอีกข้อที่ละเอียดกว่านี้เล็กน้อยและดำเนินการ "ขุด" ต่อไปจนกว่าจะถึงขีด จำกัด ของความรู้ของผู้สมัคร สิ่งนี้ทำให้คุณมีความคิด:

    • ความซื่อสัตย์: เขา / เธอรู้มากเท่ากับที่อ้างไว้หรือไม่?
    • ความรู้ลึก: เขา / เธอเรียนรู้ได้ดีแค่ไหน?
    • การสื่อสาร: เขา / เธออธิบายสิ่งที่คุณไม่คุ้นเคยได้ดีเพียงใด กระบวนการคิดเป็นตรรกะหรือไม่
    • ปฏิกิริยาต่อสถานการณ์ที่ตึงเครียด: s / เขาทำงานหนักแค่ไหนในการตอบ ปลอมหรือไม่ หลีกเลี่ยงไม่ได้ที่ "ฉันไม่รู้" ง่ายหรือยาก?
  • ถามว่าผู้สมัครที่จัดการกับสถานการณ์ต่างๆงานก่อนหน้า: การทำงานเป็นทีมโครงการที่ค้างชำระแก้จุดบกพร่องฯลฯ คำตอบเป็นบวกหรือลบ? หลงใหล? ฉลาด? หยิ่ง?

ผมพบว่าผู้สมัครที่ดีที่สุดที่จะกระตือรือร้น, เก๋ามั่นใจ แต่สุภาพและมีความสำคัญมากที่สุดในปัจจุบัน คุณต้องรู้ว่ามีบางคนอยู่ข้างใน :-)


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

@Dustin IMO มันเป็นความประมาทสวย (?) ในส่วนของพวกเขาเพียงแค่แสดงความคิดเห็นในรหัสที่ผู้สมัครควรจะตรวจสอบ โดยพื้นฐานแล้วจะให้คำตอบหรือความสับสนฟรีตามความคิดเห็นที่มี
cst1992

39

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

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

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

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

แก้ไข: ฉันยังมีความคิดเห็นเกี่ยวกับการสัมภาษณ์เขียนที่นี่


3
คุณเข้าใจถูกต้องเกี่ยวกับ googling - โปรแกรมเมอร์ที่ดีไม่จำเป็นต้องรู้ทุกอย่าง แต่เขาควรจะรู้ได้อย่างรวดเร็ว

2
"คนที่รู้จักการเขียนโปรแกรมจำนวนมากและมีทักษะคนดี" ... และนั่นคือปัญหา - ไม่ใช่เรื่องง่ายที่จะหา โดยปกติแล้วพวกเขาจะมีทักษะเดียวเท่านั้น นั่นเป็นเหตุผลที่ฉันพยายามอย่างดีที่สุดเพื่อปรับปรุงทั้งสองสาขา :-)

7
การมีทักษะคนเก่งมักขัดแย้งกับการเป็นนักคิดเชิงนามธรรม การไม่เป็นนักคิดเชิงนามธรรมมักขัดแย้งกับการเป็นโปรแกรมเมอร์ที่ดี
Tomalak

7
Gius: หากคุณโชคดีคุณจะพบโปรแกรมเมอร์ที่เข้าใจว่ามนุษย์เป็นคอมพิวเตอร์ชีวภาพและสนใจในวิธีการทำงานของเรา สิ่งเหล่านี้มักจะพัฒนาทักษะคนดีเช่นกันเนื่องจากพวกเขาสนใจที่จะพัฒนาตนเองในด้านนั้นเช่นกัน

Eigir: ฉันเห็นด้วย แต่ถ้ามีคนพูดถึงที่นี่ถ้าคุณพบใครซักคนคุณก็จะได้แจ็คพอต ;-) ฉันหวังว่าเราจะโชคดี

23

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

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

คนทั่วไปสามารถเรียนรู้ที่จะเป็นโปรแกรมเมอร์ที่ดีกว่าคนทั่วไปไม่สามารถเรียนรู้ที่จะเป็นมนุษย์ที่ดีกว่า


1
หากพวกเขาไม่ชอบทำงานกับคนอื่นคุณจะเรียกพวกเขาว่า“ โปรแกรมเมอร์ที่ดีที่สุดในโลก” ได้อย่างไร? การเขียนโปรแกรมไม่เพียงเกี่ยวกับการพูดคุยกับคอมไพเลอร์และการแยกรหัสงานส่วนใหญ่ของนักพัฒนาซอฟต์แวร์ / โปรแกรมเมอร์ต้องการความร่วมมือจำนวนหนึ่ง
Christopher Creutzig

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

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

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

@DoctorJones และฉันเห็นด้วยกับคุณ; คุณไม่ผิดเลย เป็นเพียงคำตอบที่คุณได้รับไม่ใช่คำตอบสำหรับคำถาม "จะรู้จักโปรแกรมเมอร์ดีได้อย่างไร"
Benubird

16

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


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

โดยทั่วไปความคิดเกี่ยวกับงานการเขียนโค้ดนั้นดีมาก แต่ฉันกลัวว่าการสร้างงานที่จะแสดงสิ่งที่อยู่ในตัวพวกเขานั้นค่อนข้างยาก - และเป็นหัวข้อที่ดีสำหรับการอภิปรายที่ค่อนข้างยาว (แต่ไม่แน่นอน!) ... เราควรถามคำถามเกี่ยวกับที่นี่ได้ไหม ;-)

รายชื่อบล็อกโปรดของพวกเขาจะเป็นตัวบ่งชี้ที่ยอดเยี่ยม!

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

@gius - ฉันคิดว่าคุณควรถามคำถามนั้น
Manoj

16

ฉันชอบคำตอบตัณหา ฉันเชื่อว่าคุณต้องหลงใหลในสิ่งที่คุณทำงานด้วยเพื่อให้เก่งในเรื่องนั้น

โปรแกรมโปรแกรมเมอร์ที่ดีอยู่ด้านข้างนอกเหนือจากการทำงาน (อย่างน้อยก็ซักครั้ง) เขา / เธอชอบที่จะแก้ปัญหาการเขียนโปรแกรม และเมื่อเขา / เธอไม่สามารถหาโปรแกรมที่ตอบสนองความต้องการเฉพาะที่บ้านได้โดยทั่วไปเขาจะพยายามแก้ไขด้วยตนเอง

แต่มีโปรแกรมเมอร์หลายประเภท

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

หากคุณสามารถค้นหา "แฮ็กเกอร์" ที่มีเอกสารที่ดีมากและมีทักษะการสื่อสารที่ยอดเยี่ยมฉันจะเชื่อว่าคุณมีแจ็คพอต

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

คำถามที่ฉันจะถามเมื่อจ้างโปรแกรมเมอร์คือ: "ทำไมคุณถึงสอนตัวเองในฐานะโปรแกรมเมอร์?" นั่นจะเป็นของแถมที่ตายถ้าพวกเขาลังเลอยู่ที่นั่น

นั่นคือความคิดเห็นของฉัน


2
คำถามที่สร้างแรงบันดาลใจ - "ทำไมคุณถึงสอนตัวเองในฐานะโปรแกรมเมอร์?"

5
เราสูญเสียทรัพยากรทั้งหมดไม่ช้าก็เร็ว หินเท่านั้นที่จะตลอดไป
Carl Manaster

1
สายตาสั้นเล็กน้อย "Schlubladendenken"

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

5
คุณมีคำจำกัดความที่แตกต่างสำหรับ "แฮ็กเกอร์" มากกว่าฉัน "แฮ็กเกอร์" สำหรับฉันคือใครบางคนที่ "แฮ็ก" สิ่งต่าง ๆ เข้าด้วยกันโดยเร็วที่สุดเท่าที่จะเป็นไปได้จนกว่าพวกเขาจะได้ผลลัพธ์ (แปลก ๆ ) แต่ทิ้งร่องรอยแห่งการทำลายล้างและสยองขวัญไว้ "แฮ็กเกอร์" ไม่เป็นมืออาชีพ
David Masters

7

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


นี่เป็นความคิดที่ดีมากและฉันต้องการเห็นว่าเป็นแบบฝึกหัดมาตรฐาน ในฐานะที่เป็นคนที่ถูกไล่ออกจากงานหลายงานเพื่อไม่ให้เข้ากับวัฒนธรรมของ บริษัท หรือจากการตัดสินระดับทักษะที่ไม่เหมาะสมฉันชอบที่จะทดสอบน้ำก่อน
DarenW

20
ปัญหานี้คือถ้ามีคนทำงานอยู่แล้วพวกเขาสามารถหยุดงานได้หนึ่งสัปดาห์เพื่อไปทำงานกับ บริษัท อื่นเพื่อดูว่าพวกเขาได้งานจริงหรือไม่
Cercerilla

@Cererilla ใช่แล้ว! มันยากพอที่จะหาเวลาสัมภาษณ์ได้ แต่เพียงผู้เดียวให้ฝึกซ้อมการทำงานให้พวกเขาเป็นเวลาหนึ่งสัปดาห์
eaglei22

6

มันยากมากที่จะรู้จักโปรแกรมเมอร์จากการสัมภาษณ์งานคนเดียว

บางสิ่งที่ตัดสินว่าบางคนเป็นโปรแกรมเมอร์ที่ดีคือ:

  • สามารถทำงานเป็นทีมได้
  • เขียนรหัสที่ดีที่เข้าใจและบำรุงรักษาได้
  • สามารถเรียนรู้เกี่ยวกับเทคโนโลยีใหม่

ดังนั้นคุณมีคำแนะนำเล็ก ๆ น้อย ๆ ที่คุณสามารถหาได้ในการสัมภาษณ์:

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

3

คุณสามารถทำการทดสอบในการสัมภาษณ์

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

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

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


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

3

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

หลังจากนั้นฉันใช้เทคนิคสองสามอย่างในสาขา Java เช่นถกเถียงหลักการบางอย่างซึ่งส่วนใหญ่นำมาจาก Effective Java

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

แต่ในท้ายที่สุดฉันจำไว้เสมอว่าการจ้างเป็นการพนันชนิดหนึ่ง ... ยากมากที่จะคาดการณ์ ...


2

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


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

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

@ Rexxar: พวกเขาจะยังคงออกหากพวกเขาไม่ชอบ มันเป็นเพียงความซื่อสัตย์และตรงไปตรงมามากกว่าที่จะให้มันเป็นอย่างนั้น IMO อย่างน้อยสำหรับฉันมันน่าจะเป็นข้อบวกไม่ใช่ลบ (เนื่องจากเป็นสัญญาชั่วคราวระยะสั้นและในตอนท้ายจะได้รับถาวรหรือเป็นลาก่อน)
Vinko Vrsalovic

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

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