โลกของ Software Engineering กำลังเผชิญกับการเปลี่ยนแปลงครั้งใหญ่เมื่อเครื่องมือช่วยเขียนโค้ดด้วย AI กลายเป็นเครื่องมือมาตรฐานในการพัฒนาซอฟต์แวร์ประจำวัน แต่หลายบริษัทยังคงห้ามใช้เครื่องมือเหล่านี้ในระหว่างการสัมภาษณ์ทางเทคนิค ทำให้เกิดช่องว่างระหว่างวิธีการทำงานจริงของวิศวกรกับวิธีการประเมินพวกเขาเพื่อรับงาน
ปัญหาของกระบวนการสัมภาษณ์ที่ล้าสมัย
การสัมภาษณ์เขียนโค้ดแบบดั้งเดิมมุ่งเน้นไปที่คำถาม Data Structures และ Algorithms เป็นหลัก โดยต้องการให้ผู้สมัครเขียนโค้ดตั้งแต่เริ่มต้นโดยไม่มีความช่วยเหลือใดๆ วิธีการนี้เหมือนกับการขอให้คนทำการหารยาวด้วยมือเปล่าในขณะที่เครื่องคิดเลขมีอยู่ที่โต๊ะทำงานทุกแห่ง แนวทางปฏิบัตินี้มาจากยุคที่การเขียนโค้ดทีละบรรทัดเป็นข้อจำกัดหลักในการพัฒนาซอฟต์แวร์
อย่างไรก็ตาม บทบาทของ Software Engineer ได้พัฒนาไปอย่างมีนัยสำคัญ นักพัฒนาสมัยใหม่ใช้เวลาส่วนใหญ่ในการควบคุมเครื่องมือ AI ตรวจสอบโค้ดที่สร้างขึ้น และแก้ปัญหาสถาปัตยกรรมระดับสูงมากกว่าการใช้งาน Algorithm พื้นฐานด้วยตนเอง ชุดทักษะที่สำคัญที่สุดในปัจจุบันเกี่ยวข้องกับการจัดการและสั่งการผู้ช่วย AI อย่างมีประสิทธิภาพเพื่อบรรลุวัตถุประสงค์ทางธุรกิจ
แนวทางการสัมภาษณ์แบบดั้งเดิมเทียบกับแบบสมัยใหม่:
แนวทางแบบดั้งเดิม | แนวทาง AI แบบสมัยใหม่ |
---|---|
อัลกอริทึมที่เขียนด้วยมือ | การประสานงานเครื่องมือ AI |
โครงสร้างข้อมูลตั้งแต่เริ่มต้น | ทักษะการตรวจสอบผลลัพธ์ |
ความเร็วในการเขียนโค้ดด้วยมือ | คุณภาพของการทำงานร่วมกับ AI |
คำตอบถูกหรือผิด | เกณฑ์การประเมินที่ละเอียดลึกซึ้ง |
การแก้ปัญหาเชิงวิชาการ | การจำลองงานจริง |
การต่อต้านและข้อกังวลจากชุมชน
ชุมชนเทคโนโลยียังคงแบ่งแยกในประเด็นนี้ บางคนโต้แย้งว่าคำถามเกี่ยวกับการคิดเชิงอัลกอริทึมทำหน้าที่เป็นตัวแทนของความฉลาด ช่วยระบุผู้สมัครที่สามารถเรียนรู้เครื่องมือใหม่ได้อย่างรวดเร็วและสังเกตเห็นข้อผิดพลาดในโค้ดที่ AI สร้างขึ้น มีข้อกังวลที่สมเหตุสมผลว่าวิศวกรที่พึ่งพาความช่วยเหลือจาก AI มากเกินไปอาจพลาดข้อบกพร่องที่ละเอียดอ่อนหรือไม่เข้าใจตรรกะพื้นฐานของโซลูชันของตน
เพราะ LLM นั้นไร้ประโยชน์เว้นแต่คุณจะรู้คำตอบของสิ่งที่คุณกำลังมองหาอยู่แล้ว อย่างน้อยถ้าคุณพยายามจะเป็นโปรแกรมเมอร์ที่จริงจังและมีความสามารถ
คนอื่นๆ ชี้ให้เห็นว่าบริษัทต่างๆ ไม่ได้ปรับแนวทางการจ้างงานให้สะท้อนความเป็นจริงของการพัฒนาซอฟต์แวร์สมัยใหม่ที่ Agentic Coding ได้เปลี่ยนแปลงข้อกำหนดของงานไปโดยสิ้นเชิง
ทักษะที่ยังคงมีความสำคัญ
แม้ว่า AI สามารถสร้างโค้ดได้อย่างมีประสิทธิภาพ แต่ความสามารถบางอย่างของมนุษย์ยังคงไม่สามารถทดแทนได้ วิศวกรที่มีคุณค่าที่สุดในปัจจุบันมีความเชี่ยวชาญในการระบุข้อกำหนดที่คลุมเครือ การต่อต้านงานที่เป็นไปไม่ได้ และการถามคำถามเพื่อขอความชัดเจนเมื่อเป้าหมายขัดแย้งกัน พวกเขาสามารถควบคุมเครื่องมือ AI หลายตัวพร้อมกัน สร้างแผนงานที่ครอบคลุม และตรวจสอบผลลัพธ์อย่างอิสระ
Meta-skills เหล่านี้เกี่ยวกับการจัดการโครงการ การคิดเชิงวิพากษ์ และการประสานงานเครื่องมือไม่สามารถจำลองได้ง่ายๆ โดยระบบ AI ปัจจุบัน Large Language Model ส่วนใหญ่จะพยายามตอบคำถามใดๆ ไม่ว่าจะคลุมเครือหรือมีปัญหาเพียงใด แทนที่จะขอความชัดเจน
ทักษะสำคัญสำหรับวิศวกรซอฟต์แวร์ยุคใหม่:
- การระบุข้อกำหนดที่คลุมเครือและแสวงหาความชัดเจน
- การปฏิเสธงานที่เป็นไปไม่ได้หรือไม่สอดคล้องกับเป้าหมาย
- การประสานงานเครื่องมือ AI สำหรับเขียนโค้ดหลายตัวพร้อมกัน
- การสร้างแผนงานที่ครอบคลุมเพื่อการตรวจสอบ
- การตรวจสอบผลลัพธ์ที่ AI สร้างขึ้นด้วยตนเอง
- การจัดการและสั่งงานผู้ช่วย AI เพื่อบรรลุเป้าหมายทางธุรกิจ
การหาสมดุลที่เหมาะสม
ความท้าทายสำหรับผู้จัดการฝ่ายสรรหาบุคลากรอยู่ที่การพัฒนาวิธีการประเมินใหม่ที่สะท้อนข้อกำหนดของงานจริง ไม่เหมือนกับปัญหาการเขียนโค้ดแบบดั้งเดิมที่มีคำตอบที่ถูกหรือผิดชัดเจน การประเมินความสามารถของคนในการทำงานกับเครื่องมือ AI ต้องใช้เกณฑ์การประเมินที่ละเอียดอ่อนมากขึ้น การเปลี่ยนแปลงนี้ต้องการกระบวนการสัมภาษณ์ที่ซับซ้อนมากขึ้นที่จำลองสถานการณ์การทำงานจริงแทนที่จะเป็นแบบฝึกหัดทางวิชาการ
การเปลี่ยนผ่านนี้สะท้อนการเปลี่ยนแปลงทางประวัติศาสตร์ในอุตสาหกรรมอื่นๆ เช่นเดียวกับที่เราหยุดทดสอบช่างไม้เรื่องความเร็วในการใช้เลื่อยมือหลังจากที่เครื่องมือไฟฟ้ากลายเป็นมาตรฐาน อุตสาหกรรมซอฟต์แวร์อาจต้องยกเลิกการทดสอบการเขียนโค้ดแบบบริสุทธิ์เพื่อใช้การประเมินที่วัดทักษะการทำงานร่วมกับ AI แทน
ขณะที่อุตสาหกรรมยังคงพัฒนาต่อไป บริษัทที่ปรับแนวทางการจ้างงานให้เข้ากับเวิร์กโฟลว์การพัฒนาสมัยใหม่อาจได้เข้าถึงกลุ่มผู้มีความสามารถที่กว้างขึ้น ในขณะที่บริษัทที่ยึดติดกับวิธีการล้าสมัยเสี่ยงที่จะพลาดผู้สมัครที่มีคุณสมบัติเหมาะสมซึ่งเก่งในงานประจำวันจริงๆ
อ้างอิง: Would you hire a calculator?