เมื่อเป็นอัจฉริยะทางเทคนิคไม่เพียงพอที่จะเป็นนักพัฒนาที่ประสบความสำเร็จ? [ปิด]


18

มีการถกเถียงกันมากมายเกี่ยวกับคำถามที่ยอดเยี่ยม " ชื่อเสียงสูงใน Stack Overflow จะช่วยให้ได้งานที่ดีหรือไม่ " ผมเห็นด้วยทันทีด้วยJoshKที่พื้นกล่าวว่า " ไม่มี " (ฉันจะจะอธิบายว่าทำไม) แต่โจเอล chimed ในที่มีจำนวนมากของข้อเท็จจริงที่น่าเชื่อซึ่งทำให้ผม upvote เขาเช่นกัน

คำถามของฉันคือสิ่งที่คุณต้องการทักษะอื่น ๆ (นอกเหนือจากการเป็นอัจฉริยะทางเทคนิค) จากนักพัฒนา? เพื่อให้ได้งานหรือเพื่อให้มัน

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

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

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


บริษัท ของฉันเต็มไปด้วยหอคอยงาช้างพร้อมเงินเดือนงาช้างสำหรับผู้พักอาศัย :(
dr Hannibal Lecter

มุมมองสวยจากยอดหอคอยงาช้าง :)

ชื่อเสียงสูงที่นี่ทำให้ฉันได้รับเชิญให้วางโปรไฟล์ในอาชีพ StackOverflow ซึ่งนำไปสู่การโทรจากนายหน้าซึ่งนำไปสู่ข้อเสนอที่จะย้ายไปที่ซีแอตเทิล :-)
วินไคลน์

คำตอบ:


22

ทักษะการสื่อสารที่ยอดเยี่ยม

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


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

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


คุณจะเพิ่มรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการสื่อสารกับคนที่ไม่ใช่ด้านเทคนิค (เช่นการจัดการหรือลูกค้า) เกี่ยวกับสิ่งที่มีเทคนิคสูงหรือไม่ ขณะนี้ฉันกำลังอ่านหนังสือที่ยอดเยี่ยมเกี่ยวกับเรื่องที่เรียกว่า "แม้แต่ Geek Can Speak"

มันเป็นคำถามที่สำคัญถ้าคุณสามารถคิดในความคิดของพวกเขา ฉันเคยพบว่าการอธิบายการพัฒนาซอฟต์แวร์ในฐานะ "เราเขียนสูตรการถักนิตติ้ง" เหมาะกับความคิดของคุณยาย

3
ฉันมีความชอบสำหรับผู้สมัครที่มีความสามารถในการใช้ภาษาอังกฤษอย่างดีเยี่ยมและมีความตั้งใจที่จะใช้เวลาพิเศษเพื่อฝึกฝนทักษะการเขียนและการพูด ในทางกลับกันถ้าเขาหรือเธอพูดหรือเขียนราวกับว่าชีวิตเป็นเพียงอีกแอปพลิเคชั่นที่ติดตั้งบน Twitter ฉันจะทำอย่างดีที่สุดเพื่อให้สุภาพเมื่อฉันแสดงประตู
Adam Crossland

@Pierre หนังสือเล่มนี้ออนไลน์หรือไม่ ฉันหาตำแหน่งบน Safari ไม่ได้

1
@ Pierre303 คุณอาจพบว่า "The Nerd Handbook" น่าสนใจ randsinrepose.com/archives/2007/11/11/the_nerd_handbook.html ผู้เขียนมีบล็อกที่น่าสนใจมาก

15

การทำงานเป็นทีม / การสื่อสาร:

  • เพื่อให้สามารถอธิบายวิธีการแก้ปัญหาหรือปัญหาของคุณ
  • เพื่อให้สามารถทำงานกับคนอื่นโดยไม่ทำให้พวกเขารู้สึกแย่ (ไม่ทางใดทางหนึ่ง) - เพื่อทำให้พวกเขารู้สึกว่าได้ทำงานกับคุณเป็นที่น่าพอใจ

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

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

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


15

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


+1 สำหรับความคิดเห็นที่ติดตา - ฉันสงสัยว่าตัวแทนระดับสูงจะมีความสัมพันธ์กับการคงอยู่หรือไม่
Gary Rowe

@ แกรี่ - ฉันคิดว่ามันเป็นไปได้ถ้ามันได้รับโดยคำตอบสำหรับคำถามที่ต้องใช้งานบางอย่างในการแก้ปัญหาไม่ใช่คำถามที่มือใหม่ที่ขาดเซมิโคลอนหรืออะไรบางอย่าง ;)
Michael K

12

สิ่งเหล่านี้มีลักษณะมากกว่าทักษะ แต่ฉันอยากจะแนะนำว่าสิ่งเหล่านี้ยังคุ้มค่าที่จะหาใครสักคนที่จะเป็นนักพัฒนาที่ประสบความสำเร็จ:

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

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

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

แรงจูงใจในตัวเองก็เป็นทักษะสำคัญที่จะต้องดู ไดรฟ์พวกเขาคืออะไร? พวกเขาสามารถพูดได้ดีแค่ไหน? "Office Space"มีบรรทัดนี้จาก Peter Gibbons:

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

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

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


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

7

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

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

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

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


6

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

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

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

"กาแฟสำหรับคนใกล้ชิด" อย่างที่ชายคนหนึ่งพูดในภาพยนตร์หนึ่งครั้ง


4

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


2

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


1

มันไม่เพียงพอ

การใช้ความคิดเบื้องต้น. การแก้ปัญหา. สนใจในเทคโนโลยีโดยรวม ทัศนคติในการทำสิ่งต่าง ๆ อย่างถูกวิธี วิริยะ. การเล่นเป็นทีม / การสื่อสาร

ให้คะแนนทักษะแต่ละข้อที่ 1-5 หากคุณได้รับขั้นต่ำ 3 และโดยเฉลี่ย 20+ คุณจะมีชีวิตที่ดีในฐานะนักพัฒนา 25+ จะเป็นนักพัฒนาที่ประสบความสำเร็จ น้อยกว่า 10 และคุณต้องคิดอย่างจริงจังเกี่ยวกับอาชีพในการพัฒนาซอฟต์แวร์

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