“ คนสุดท้ายที่ออกจากโปรแกรม ช่วยปิดโปรแกรมแก้ไขโค้ดด้วยนะ ” วลีติดตลกนี้กำลังแพร่หลายในฟอรัมของนักพัฒนา สะท้อนให้เห็นถึงอารมณ์ขันที่วิตกกังวลเกี่ยวกับการเพิ่มขึ้นของผู้ช่วยเขียนโค้ดด้วย AI เมื่อโมเดล AI มีความสามารถในการเขียนโค้ดมากขึ้นเรื่อยๆ โปรแกรมเมอร์หลายคนจึงตั้งคำถามว่านักพัฒนาที่เป็นมนุษย์จะประสบชะตากรรมเดียวกับพนักงานขับลิฟต์หรือพนักงานโอเปเรเตอร์โทรศัพท์หรือไม่ – งานที่ล้าสมัยไปเพราะระบบอัตโนมัติ ในปี 2024 พาดหัวข่าวตัวใหญ่ประกาศว่าปัญญาประดิษฐ์อาจเขียนโค้ดทั้งหมดของเราในไม่ช้า ทำให้นักพัฒนาที่เป็นมนุษย์ไม่มีอะไรทำ แต่เบื้องหลังความตื่นเต้นและกระแสข่าว ความเป็นจริงนั้นซับซ้อนกว่านั้นมาก
ใช่แล้ว ปัจจุบัน AI สามารถสร้างโค้ดได้เร็วกว่ามนุษย์ แต่ โค้ดนั้นดีแค่ไหน และ AI สามารถจัดการวงจรการพัฒนาซอฟต์แวร์ทั้งหมดได้ด้วยตัวเองหรือไม่ ผู้เชี่ยวชาญส่วนใหญ่กล่าวว่า “ยังไม่เร็วขนาดนั้น” ผู้นำด้านวิศวกรรมซอฟต์แวร์อย่าง Satya Nadella ซีอีโอของ Microsoft เน้นย้ำว่า “AI จะไม่เข้ามาแทนที่โปรแกรมเมอร์ แต่จะกลายเป็นเครื่องมือสำคัญในคลังแสงของพวกเขา มันเกี่ยวกับการเพิ่มศักยภาพให้มนุษย์ทำงานได้มากขึ้น ไม่ใช่ทำงานน้อยลง” ( AI จะมาแทนที่โปรแกรมเมอร์หรือไม่? ความจริงเบื้องหลังกระแส | โดย The PyCoach | Artificial Corner | มี.ค. 2025 | Medium ) ในทำนองเดียวกัน Jeff Dean หัวหน้าฝ่าย AI ของ Google ตั้งข้อสังเกตว่า แม้ว่า AI จะสามารถจัดการงานเขียนโค้ดทั่วไปได้ “แต่ยังขาดความคิดสร้างสรรค์และทักษะการแก้ปัญหา” ซึ่งเป็นคุณสมบัติที่นักพัฒนาซอฟต์แวร์นำมาใช้ แม้แต่ Sam Altman ซีอีโอของ OpenAI ก็ยอมรับว่า AI ในปัจจุบัน “เก่งมากในงานเฉพาะด้าน” แต่ “แย่มากในงานเต็มรูปแบบ” โดยปราศจากการกำกับดูแลของมนุษย์ กล่าวโดยสรุป AI เก่งในการช่วยเหลือในส่วนต่างๆ ของงาน แต่ไม่สามารถเข้ามาแทนที่งานของโปรแกรมเมอร์ได้อย่างสมบูรณ์ตั้งแต่ต้นจนจบ
เอกสารฉบับนี้จะนำเสนอมุมมองที่ตรงไปตรงมาและสมดุลเกี่ยวกับคำถามที่ว่า “ปัญญาประดิษฐ์จะเข้ามาแทนที่โปรแกรมเมอร์หรือไม่?” เราจะตรวจสอบว่าปัญญาประดิษฐ์ส่งผลกระทบต่อบทบาทการพัฒนาซอฟต์แวร์ในปัจจุบันอย่างไร และการเปลี่ยนแปลงที่จะเกิดขึ้นในอนาคตจะเป็นอย่างไร โดยใช้ตัวอย่างจากโลกแห่งความเป็นจริงและเครื่องมือใหม่ๆ (ตั้งแต่ GitHub Copilot ไปจนถึง ChatGPT) เราจะสำรวจว่านักพัฒนาสามารถปรับตัว ปรับเปลี่ยน และคงความสำคัญไว้ได้อย่างไรเมื่อปัญญาประดิษฐ์พัฒนาขึ้น แทนที่จะตอบแบบง่ายๆ ว่าใช่หรือไม่ใช่ เราจะเห็นว่าอนาคตคือความร่วมมือระหว่างปัญญาประดิษฐ์และนักพัฒนาที่เป็นมนุษย์ เป้าหมายคือการเน้นย้ำถึง ข้อมูลเชิงลึกที่เป็นประโยชน์ เกี่ยวกับสิ่งที่นักพัฒนาสามารถทำได้เพื่อประสบความสำเร็จในยุคของปัญญาประดิษฐ์ – ตั้งแต่การนำเครื่องมือใหม่ๆ มาใช้ การเรียนรู้ทักษะใหม่ๆ และการคาดการณ์ว่าอาชีพด้านการเขียนโค้ดอาจพัฒนาไปอย่างไรในอีกไม่กี่ปีข้างหน้า
ปัญญาประดิษฐ์ (AI) ในการพัฒนาซอฟต์แวร์ในปัจจุบัน
ปัญญาประดิษฐ์ (AI) ได้ผสานรวมเข้ากับกระบวนการพัฒนาซอฟต์แวร์สมัยใหม่อย่างรวดเร็ว จากที่เคยเป็นนิยายวิทยาศาสตร์ เครื่องมือที่ใช้ AI กำลัง เขียนและตรวจสอบโค้ด ทำงานอัตโนมัติในส่วนที่น่าเบื่อ และเพิ่มประสิทธิภาพการทำงานของนักพัฒนา ปัจจุบันนักพัฒนาใช้ AI ในการสร้างโค้ดตัวอย่าง เติมฟังก์ชันอัตโนมัติ ตรวจจับข้อผิดพลาด และแม้กระทั่งสร้างกรณีทดสอบ ( อนาคตของวิศวกรซอฟต์แวร์จะเป็นอย่างไร? ผลกระทบของ AI [2024] ) ( อนาคตของวิศวกรซอฟต์แวร์จะเป็นอย่างไร? ผลกระทบของ AI [2024] ) กล่าวอีกนัยหนึ่ง AI กำลังเข้ามาแทนที่งานหนักและงานซ้ำซาก ทำให้โปรแกรมเมอร์สามารถมุ่งเน้นไปที่ด้านที่ซับซ้อนกว่าของการสร้างซอฟต์แวร์ได้ มาดูกันว่าความสามารถและเครื่องมือ AI ที่โดดเด่นบางอย่างที่กำลังเปลี่ยนแปลงการเขียนโปรแกรมในปัจจุบันมีอะไรบ้าง:
-
การสร้างโค้ดและการเติมข้อความอัตโนมัติ: ผู้ช่วยเขียนโค้ด AI สมัยใหม่สามารถสร้างโค้ดได้จากข้อความแจ้งเตือนที่เป็นภาษาธรรมชาติหรือบริบทของโค้ดบางส่วน ตัวอย่างเช่น GitHub Copilot (สร้างขึ้นบนโมเดล Codex ของ OpenAI) ผสานรวมกับโปรแกรมแก้ไขเพื่อแนะนำบรรทัดหรือบล็อกโค้ดถัดไปขณะที่คุณพิมพ์ โดยใช้ชุดข้อมูลฝึกฝนขนาดใหญ่ของโค้ดโอเพนซอร์สเพื่อเสนอคำแนะนำที่สอดคล้องกับบริบท ซึ่งมักจะสามารถเติมฟังก์ชันทั้งหมดได้จากเพียงแค่ความคิดเห็นหรือชื่อฟังก์ชัน ในทำนองเดียวกัน ChatGPT (GPT-4) สามารถสร้างโค้ดสำหรับงานที่กำหนดได้เมื่อคุณอธิบายสิ่งที่คุณต้องการด้วยภาษาอังกฤษธรรมดา เครื่องมือเหล่านี้สามารถร่างโค้ดพื้นฐานได้ในไม่กี่วินาที ตั้งแต่ฟังก์ชันช่วยเหลือง่ายๆ ไปจนถึงการดำเนินการ CRUD ทั่วไป
-
การตรวจจับและทดสอบข้อบกพร่อง: AI ยังช่วยในการตรวจจับข้อผิดพลาดและปรับปรุงคุณภาพโค้ด เครื่องมือวิเคราะห์แบบคงที่และลินเตอร์ที่ขับเคลื่อนด้วย AI สามารถระบุข้อบกพร่องที่อาจเกิดขึ้นหรือช่องโหว่ด้านความปลอดภัยได้โดยการเรียนรู้จากรูปแบบข้อบกพร่องในอดีต เครื่องมือ AI บางตัวสร้างการทดสอบหน่วยโดยอัตโนมัติหรือแนะนำกรณีทดสอบโดยการวิเคราะห์เส้นทางของโค้ด ซึ่งหมายความว่านักพัฒนาสามารถรับข้อเสนอแนะได้ทันทีเกี่ยวกับกรณีพิเศษที่พวกเขาอาจมองข้ามไป การค้นหาข้อบกพร่องตั้งแต่เนิ่นๆ และแนะนำวิธีแก้ไข AI ทำหน้าที่เหมือนผู้ช่วย QA ที่ทำงานอย่างไม่รู้จักเหน็ดเหนื่อยเคียงข้างนักพัฒนา
-
การเพิ่มประสิทธิภาพและการปรับโครงสร้างโค้ด: อีกหนึ่งการใช้งานของ AI คือการแนะนำการปรับปรุงโค้ดที่มีอยู่ เมื่อได้รับโค้ดตัวอย่าง AI สามารถแนะนำอัลกอริทึมที่มีประสิทธิภาพมากขึ้นหรือการใช้งานที่สะอาดกว่าโดยการจดจำรูปแบบในโค้ด ตัวอย่างเช่น อาจแนะนำการใช้งานไลบรารีที่เป็นแบบฉบับมากกว่า หรือชี้ให้เห็นโค้ดที่ซ้ำซ้อนซึ่งสามารถปรับโครงสร้างใหม่ได้ สิ่งนี้ช่วยลดภาระทางเทคนิคและปรับปรุงประสิทธิภาพ เครื่องมือปรับโครงสร้างโค้ดที่ใช้ AI สามารถแปลงโค้ดให้เป็นไปตามแนวทางปฏิบัติที่ดีที่สุดหรืออัปเดตโค้ดให้เข้ากับเวอร์ชัน API ใหม่ ช่วยประหยัดเวลาของนักพัฒนาในการแก้ไขด้วยตนเอง
-
DevOps และระบบอัตโนมัติ: นอกเหนือจากการเขียนโค้ดแล้ว AI ยังช่วยในกระบวนการสร้างและปรับใช้ซอฟต์แวร์ เครื่องมือ CI/CD อัจฉริยะใช้แมชชีนเลิร์นนิงเพื่อทำนายว่าการทดสอบใดมีแนวโน้มที่จะล้มเหลว หรือเพื่อจัดลำดับความสำคัญของงานสร้างบางอย่าง ทำให้กระบวนการบูรณาการอย่างต่อเนื่องเร็วขึ้นและมีประสิทธิภาพมากขึ้น AI สามารถวิเคราะห์บันทึกการผลิตและตัวชี้วัดประสิทธิภาพเพื่อระบุปัญหาหรือแนะนำการปรับปรุงโครงสร้างพื้นฐาน กล่าวโดยสรุป AI ช่วยเหลือไม่เพียงแค่ในการเขียนโค้ดเท่านั้น แต่ยังครอบคลุมตลอดวงจรการพัฒนาซอฟต์แวร์ ตั้งแต่การวางแผนไปจนถึงการบำรุงรักษา
-
อินเทอร์เฟซภาษาธรรมชาติและเอกสารประกอบ: เรายังเห็นว่า AI ช่วยให้การโต้ตอบกับเครื่องมือพัฒนาเป็นไปอย่างเป็นธรรมชาติมากขึ้น นักพัฒนาสามารถ ขอให้ AI ทำงานต่างๆ ได้ ("สร้างฟังก์ชันที่ทำ X" หรือ "อธิบายโค้ดนี้") และได้รับผลลัพธ์ แชทบอท AI (เช่น ChatGPT หรือผู้ช่วยนักพัฒนาเฉพาะทาง) สามารถตอบคำถามเกี่ยวกับการเขียนโปรแกรม ช่วยในการจัดทำเอกสาร และแม้กระทั่งเขียนเอกสารโครงการหรือข้อความยืนยันการเปลี่ยนแปลงโค้ดได้ สิ่งนี้ช่วยเชื่อมช่องว่างระหว่างความตั้งใจของมนุษย์กับโค้ด ทำให้การพัฒนาเข้าถึงได้ง่ายขึ้นสำหรับผู้ที่สามารถอธิบายสิ่งที่ต้องการได้
-

นักพัฒนาซอฟต์แวร์หันมาใช้เครื่องมือ AI มากขึ้น: ผลสำรวจในปี 2023 ระบุว่า นักพัฒนาซอฟต์แวร์ถึง 92% ใช้เครื่องมือเขียนโค้ดด้วย AI ในรูปแบบใดรูปแบบหนึ่ง ไม่ว่าจะเป็นในที่ทำงาน ในโครงการส่วนตัว หรือทั้งสองอย่าง มีเพียง 8% เท่านั้นที่รายงานว่าไม่ได้ใช้ความช่วยเหลือจาก AI ในการเขียนโค้ดเลย แผนภูมินี้แสดงให้เห็นว่า สองในสามของนักพัฒนาซอฟต์แวร์ใช้เครื่องมือ AI ทั้ง ในและนอก ที่ทำงาน ในขณะที่หนึ่งในสี่ใช้เฉพาะในที่ทำงาน และส่วนน้อยใช้เฉพาะนอกที่ทำงานเท่านั้น ข้อสรุปที่ชัดเจนคือ การเขียนโค้ดโดยใช้ AI ช่วยเหลือได้กลายเป็นกระแสหลักในหมู่นักพัฒนาซอฟต์แวร์อย่างรวดเร็ว ( ผลสำรวจเผยผลกระทบของ AI ต่อประสบการณ์ของนักพัฒนา - The GitHub Blog )
การแพร่หลายของเครื่องมือ AI ในการพัฒนาซอฟต์แวร์ ส่งผลให้ ประสิทธิภาพเพิ่มขึ้นและลดความน่าเบื่อหน่าย ในการเขียนโค้ด ผลิตภัณฑ์ถูกสร้างขึ้นเร็วขึ้น เนื่องจาก AI ช่วยสร้างโค้ดพื้นฐานและจัดการงานที่ซ้ำซาก ( อนาคตของวิศวกรซอฟต์แวร์จะเป็นอย่างไร? ผลกระทบของ AI [2024] ) ( AI จะเข้ามาแทนที่นักพัฒนาในปี 2025 หรือไม่: มองอนาคตแบบคร่าวๆ ) เครื่องมืออย่าง Copilot ยังสามารถแนะนำอัลกอริทึมหรือวิธีแก้ปัญหาทั้งหมดที่ “อาจไม่ชัดเจนในทันทีสำหรับนักพัฒนาที่เป็นมนุษย์” ได้ด้วยการเรียนรู้จากชุดข้อมูลโค้ดจำนวนมหาศาล ตัวอย่างในโลกแห่งความเป็นจริงมีมากมาย เช่น วิศวกรสามารถขอให้ ChatGPT ใช้ฟังก์ชันการเรียงลำดับหรือค้นหาข้อบกพร่องในโค้ดของพวกเขา และ AI จะสร้างวิธีแก้ปัญหาฉบับร่างในไม่กี่วินาที บริษัทต่างๆ เช่น Amazon และ Microsoft ได้นำ AI pair programmer (CodeWhisperer ของ Amazon และ Copilot ของ Microsoft) มาใช้ในทีมพัฒนาของพวกเขา โดยรายงานว่างานเสร็จเร็วขึ้นและใช้เวลาน้อยลงกับโค้ดพื้นฐานที่น่าเบื่อ ในความเป็นจริง จาก ผลสำรวจของ Stack Overflow ในปี 2023 พบ 70% ของนักพัฒนา 70% ของนักพัฒนาใช้เครื่องมือ AI ในการเขียนโค้ด และ 3% เชื่อมั่นในความแม่นยำของเครื่องมือเหล่านี้อย่างมาก - ShiftMag ) ผู้ช่วยที่ได้รับความนิยมมากที่สุดคือ ChatGPT (ใช้โดยผู้ตอบแบบสอบถามประมาณ 83%) และ GitHub Copilot (ประมาณ 56%) ซึ่งแสดงให้เห็นว่า AI สำหรับการสนทนาทั่วไปและตัวช่วยที่ผสานรวมเข้ากับ IDE ต่างก็เป็นผู้เล่นสำคัญ นักพัฒนาส่วนใหญ่หันมาใช้เครื่องมือเหล่านี้เพื่อเพิ่มประสิทธิภาพการทำงาน (ระบุโดยผู้ตอบแบบสอบถามประมาณ 33%) และเร่งการเรียนรู้ (25%) ในขณะที่ประมาณ 25% ใช้เครื่องมือเหล่านี้เพื่อเพิ่มประสิทธิภาพโดยการทำงานซ้ำๆ โดยอัตโนมัติ
สิ่งสำคัญที่ควรทราบคือ บทบาทของ AI ในการเขียนโปรแกรมนั้นไม่ใช่เรื่องใหม่ทั้งหมด – องค์ประกอบบางส่วนมีมานานแล้ว (ลองพิจารณาการเติมโค้ดอัตโนมัติใน IDE หรือเฟรมเวิร์กการทดสอบอัตโนมัติ) แต่สองปีที่ผ่านมาถือเป็นจุดเปลี่ยนสำคัญ การเกิดขึ้นของโมเดลภาษาขนาดใหญ่ที่มีประสิทธิภาพ (เช่น ซีรี่ส์ GPT ของ OpenAI และ AlphaCode ของ DeepMind) ได้ขยายขอบเขตความเป็นไปได้ไปอย่างมาก ตัวอย่างเช่น ระบบ AlphaCode ระดับการแข่งขันเขียนโปรแกรม โดยได้อันดับประมาณ 54% ในการแข่งขันเขียนโค้ด – ซึ่งเทียบเท่ากับทักษะของคู่แข่งที่เป็นมนุษย์โดยเฉลี่ย ( AlphaCode ของ DeepMind เทียบเท่ากับความสามารถของโปรแกรมเมอร์โดยเฉลี่ย ) นี่เป็นครั้งแรกที่ระบบ AI สามารถแข่งขัน ได้ อย่างไรก็ตาม เป็นเรื่องที่น่าสนใจว่า แม้แต่ AlphaCode ที่มีความสามารถสูง ก็ยังห่างไกลจากการเอาชนะนักเขียนโค้ดที่เป็นมนุษย์ที่เก่งที่สุด ในการแข่งขันเหล่านั้น AlphaCode สามารถแก้ปัญหาได้ประมาณ 30% ภายในจำนวนครั้งที่กำหนด ในขณะที่โปรแกรมเมอร์มนุษย์ชั้นนำสามารถแก้ปัญหาได้มากกว่า 90% ด้วยการลองเพียงครั้งเดียว ช่องว่างนี้แสดงให้เห็นว่า แม้ว่า AI จะสามารถจัดการกับงานอัลกอริทึมที่กำหนดไว้อย่างดีได้ในระดับหนึ่ง แต่ ปัญหาที่ยากที่สุดซึ่งต้องใช้การคิดอย่างลึกซึ้งและความเฉลียวฉลาดนั้นยังคงเป็นจุดแข็งของ มนุษย์
โดยสรุปแล้ว AI ได้เข้ามามีบทบาทสำคัญในเครื่องมือการทำงานประจำวันของนักพัฒนาซอฟต์แวร์ ตั้งแต่การช่วยเขียนโค้ดไปจนถึงการเพิ่มประสิทธิภาพการใช้งาน AI เข้าไปเกี่ยวข้องกับทุกส่วนของกระบวนการพัฒนา ความสัมพันธ์ในปัจจุบันส่วนใหญ่เป็นแบบพึ่งพาอาศัยกัน: AI ทำหน้าที่เป็น ผู้ช่วย (สมชื่อ) ที่ช่วยให้นักพัฒนาเขียนโค้ดได้เร็วขึ้นและลดความหงุดหงิดลง แทนที่จะเป็นนักบินอัตโนมัติอิสระที่สามารถบินได้เองโดยลำพัง ในส่วนถัดไป เราจะเจาะลึกถึงวิธีการที่การนำเครื่องมือ AI มาใช้เปลี่ยนแปลง บทบาทของนักพัฒนา และลักษณะงานของพวกเขา ทั้งในทางที่ดีและทางที่ไม่ดี
ปัญญาประดิษฐ์กำลังเปลี่ยนแปลงบทบาทและประสิทธิภาพการทำงานของนักพัฒนาอย่างไร
เมื่อ AI เข้ามาจัดการงานประจำมากขึ้น บทบาทของนักพัฒนาซอฟต์แวร์จึงเริ่มเปลี่ยนแปลงไป แทนที่จะใช้เวลาหลายชั่วโมงในการเขียนโค้ดพื้นฐานหรือแก้ไขข้อผิดพลาดเล็กๆ น้อยๆ นักพัฒนาสามารถมอบหมายงานเหล่านั้นให้กับผู้ช่วย AI ได้ ซึ่งทำให้ โฟกัสของนักพัฒนาเปลี่ยน ไปสู่การแก้ปัญหาในระดับที่สูงขึ้น การออกแบบสถาปัตยกรรม และด้านความคิดสร้างสรรค์ของวิศวกรรมซอฟต์แวร์ โดยพื้นฐานแล้ว AI กำลัง เสริมศักยภาพ นักพัฒนา ทำให้พวกเขามีประสิทธิภาพมากขึ้นและอาจสร้างสรรค์นวัตกรรมได้มากขึ้น แต่สิ่งนี้จะหมายถึงงานเขียนโปรแกรมลดลง หรือเป็นเพียงงานประเภทใหม่กันแน่? มาสำรวจผลกระทบต่อประสิทธิภาพการทำงานและบทบาทกัน:
เพิ่มประสิทธิภาพการทำงาน: จากข้อมูลส่วนใหญ่และการศึกษาเบื้องต้น เครื่องมือเขียนโค้ด AI ช่วยเพิ่มประสิทธิภาพการทำงานของนักพัฒนาได้อย่างมาก งานวิจัยของ GitHub พบว่านักพัฒนาที่ใช้ Copilot สามารถทำงานให้เสร็จเร็วกว่าผู้ที่ไม่ได้ใช้ AI มาก ในการทดลองหนึ่ง นักพัฒนาแก้ปัญหาการเขียนโค้ดได้เร็วขึ้นโดยเฉลี่ย 55% ด้วยความช่วยเหลือจาก Copilot โดยใช้เวลาประมาณ 1 ชั่วโมง 11 นาที แทนที่จะเป็น 2 ชั่วโมง 41 นาที หากไม่ใช้ ( งานวิจัย: การวัดผลกระทบของ GitHub Copilot ต่อประสิทธิภาพและความสุขของนักพัฒนา - The GitHub Blog ) นี่คือความเร็วที่เพิ่มขึ้นอย่างน่าทึ่ง ไม่ใช่แค่ความเร็วเท่านั้น นักพัฒนายังรายงานว่าความช่วยเหลือจาก AI ช่วยลดความหงุดหงิดและ "การหยุดชะงักของกระบวนการทำงาน" ในแบบสำรวจ นักพัฒนา 88% ที่ใช้ Copilot กล่าวว่ามันทำให้พวกเขามีประสิทธิภาพมากขึ้นและช่วยให้พวกเขามุ่งเน้นไปที่งานที่น่าพึงพอใจมากขึ้น ( นักพัฒนากี่เปอร์เซ็นต์ที่กล่าวว่า github copilot ทำให้... ) เครื่องมือเหล่านี้ช่วยให้โปรแกรมเมอร์ "อยู่ในโซน" โดยจัดการส่วนที่น่าเบื่อ ซึ่งจะช่วยประหยัดพลังงานทางจิตใจสำหรับปัญหาที่ยากขึ้น ด้วยเหตุนี้ นักพัฒนาหลายคนจึงรู้สึกว่าการเขียนโค้ดสนุกขึ้นกว่าเดิม มีงานที่น่าเบื่อน้อยลง และมีความคิดสร้างสรรค์มากขึ้น
การเปลี่ยนแปลงการทำงานประจำวัน: ขั้นตอนการทำงานประจำวันของโปรแกรมเมอร์กำลังเปลี่ยนแปลงไปพร้อมกับประสิทธิภาพการทำงานที่เพิ่มขึ้น งานที่ซ้ำซากจำเจจำนวนมาก เช่น การเขียนโค้ดพื้นฐาน การทำซ้ำรูปแบบทั่วไป การค้นหาไวยากรณ์ สามารถถ่ายโอนไปยัง AI ได้ ตัวอย่างเช่น แทนที่จะเขียนคลาสข้อมูลที่มี getter และ setter ด้วยตนเอง นักพัฒนาสามารถสั่งให้ AI สร้างขึ้นมาได้เลย แทนที่จะค้นหาเอกสารเพื่อหา API ที่ถูกต้อง นักพัฒนาสามารถถาม AI ด้วยภาษาธรรมชาติได้ นั่นหมายความว่า นักพัฒนาจะใช้เวลาน้อยลงกับการเขียนโค้ดซ้ำซาก และใช้เวลามากขึ้นกับงานที่ต้องใช้การตัดสินใจของมนุษย์ เมื่อ AI เข้ามาเขียนโค้ดง่ายๆ 80% งานของนักพัฒนาจะเปลี่ยนไปเป็นการดูแลผลลัพธ์ของ AI (ตรวจสอบคำแนะนำโค้ด ทดสอบ) และจัดการกับปัญหาที่ยาก 20% ที่ AI แก้ไขไม่ได้ ในทางปฏิบัติ นักพัฒนาอาจเริ่มต้นวันด้วยการคัดกรอง pull request ที่สร้างโดย AI หรือตรวจสอบชุดแก้ไขที่ AI แนะนำ แทนที่จะเขียนการเปลี่ยนแปลงเหล่านั้นทั้งหมดตั้งแต่เริ่มต้น
การทำงานร่วมกันและพลวัตของทีม: ที่น่าสนใจคือ AI กำลังส่งผลต่อพลวัตของทีมด้วยเช่นกัน เมื่อภารกิจประจำถูกทำให้เป็นอัตโนมัติ ทีมอาจทำงานได้มากขึ้นโดยไม่ต้องพึ่งพาผู้พัฒนาซอฟต์แวร์รุ่นน้องมากนัก บริษัทบางแห่งรายงานว่าวิศวกรอาวุโสของพวกเขาสามารถพึ่งพาตนเองได้มากขึ้น พวกเขาสามารถสร้างต้นแบบฟีเจอร์ได้อย่างรวดเร็วด้วยความช่วยเหลือจาก AI โดยไม่ต้องพึ่งพาผู้พัฒนาซอฟต์แวร์รุ่นน้องในการร่างแบบเบื้องต้น อย่างไรก็ตาม นี่ก็ก่อให้เกิดความท้าทายใหม่ นั่นคือ การให้คำปรึกษาและการแบ่งปันความรู้ แทนที่ผู้พัฒนาซอฟต์แวร์รุ่นน้องจะเรียนรู้จากการทำงานง่ายๆ พวกเขาอาจต้องเรียนรู้วิธี การจัดการ ผลลัพธ์จาก AI อย่างมีประสิทธิภาพ การทำงานร่วมกันของทีมอาจเปลี่ยนไปเป็นการทำกิจกรรมต่างๆ เช่น การร่วมกันปรับปรุงคำแนะนำของ AI หรือการตรวจสอบโค้ดที่สร้างโดย AI เพื่อหาข้อผิดพลาด ในด้านบวก เมื่อทุกคนในทีมมีผู้ช่วย AI มันอาจช่วยสร้างความเท่าเทียมกันและทำให้มีเวลามากขึ้นสำหรับการพูดคุยเกี่ยวกับการออกแบบ การระดมความคิดสร้างสรรค์ และการจัดการกับความต้องการของผู้ใช้ที่ซับซ้อนซึ่งปัจจุบันยังไม่มี AI ใดเข้าใจได้โดยตรง อันที่จริง จากผลสำรวจของ GitHub ในปี 2023 พบว่า นักพัฒนามากกว่า 4 ใน 5 คนเชื่อว่าเครื่องมือเขียนโค้ดด้วย AI จะ ช่วยเพิ่มประสิทธิภาพการทำงานร่วมกันเป็นทีม หรืออย่างน้อยก็ช่วยให้พวกเขาสามารถทำงานร่วมกันในด้านการออกแบบและการแก้ปัญหาได้มากขึ้น (ผล สำรวจเผยผลกระทบของ AI ต่อประสบการณ์ของนักพัฒนา - The GitHub Blog )
ผลกระทบต่อบทบาทงาน: คำถามสำคัญคือ AI จะลดความต้องการโปรแกรมเมอร์ลงหรือไม่ (เนื่องจากโปรแกรมเมอร์แต่ละคนมีประสิทธิภาพมากขึ้น) หรือจะเปลี่ยนทักษะที่ต้องการไปเท่านั้น ตัวอย่างในอดีตจากการใช้ระบบอัตโนมัติอื่นๆ (เช่น การเกิดขึ้นของเครื่องมือ DevOps หรือภาษาโปรแกรมระดับสูง) ชี้ให้เห็นว่างานของนักพัฒนาไม่ได้ถูกกำจัดไป แต่กลับถูกยก ระดับขึ้น ที่จริงแล้ว นักวิเคราะห์ในอุตสาหกรรมคาดการณ์ว่า บทบาทของวิศวกรซอฟต์แวร์จะยังคงเติบโตต่อไป แต่ลักษณะของบทบาทเหล่านั้นจะเปลี่ยนไป รายงานล่าสุดของ Gartner คาดการณ์ว่าภายในปี 2027 องค์กรด้านวิศวกรรมซอฟต์แวร์ 50% จะนำแพลตฟอร์ม "ปัญญาประดิษฐ์ด้านวิศวกรรมซอฟต์แวร์" ที่เสริมด้วย AI มาใช้เพื่อเพิ่มประสิทธิภาพการทำงาน เพิ่มขึ้นจากเพียง 5% ในปี 2024 ( อนาคตของวิศวกรซอฟต์แวร์เป็นอย่างไร? ผลกระทบของ AI [2024] ) นี่แสดงให้เห็นว่าบริษัทต่างๆ จะบูรณาการ AI อย่างกว้างขวาง แต่ก็หมายความว่านักพัฒนาจะต้องทำงาน ร่วมกับ แพลตฟอร์มอัจฉริยะเหล่านั้นด้วย ในทำนองเดียวกัน บริษัทที่ปรึกษา McKinsey คาดการณ์ว่า แม้ว่า AI อาจช่วยทำให้งานหลายอย่างเป็นไปโดยอัตโนมัติ แต่ประมาณ 80% ของงานเขียนโปรแกรมยังคงต้องอาศัยมนุษย์เข้ามาเกี่ยวข้อง และยังคงเป็นงานที่ “เน้นมนุษย์เป็นศูนย์กลาง” กล่าว อีกนัยหนึ่ง เรายังคงต้องการคนสำหรับตำแหน่งนักพัฒนาส่วนใหญ่ แต่รายละเอียดของงานอาจเปลี่ยนแปลงไป
การเปลี่ยนแปลงที่อาจเกิดขึ้นอย่างหนึ่งคือ การเกิดขึ้นของบทบาทต่างๆ เช่น “วิศวกรซอฟต์แวร์ AI” หรือ “วิศวกรระบบตอบสนองอัตโนมัติ” – นักพัฒนาที่เชี่ยวชาญในการสร้างหรือจัดการส่วนประกอบ AI เรากำลังเห็นความต้องการนักพัฒนาที่มีความเชี่ยวชาญด้าน AI/ML พุ่งสูงขึ้นแล้ว จากการวิเคราะห์ของ Indeed พบว่างานที่เกี่ยวข้องกับ AI ที่เป็นที่ต้องการมากที่สุด 3 อันดับแรก ได้แก่ นักวิทยาศาสตร์ข้อมูล วิศวกรซอฟต์แวร์ และวิศวกรการเรียนรู้ของเครื่อง และความต้องการในบทบาทเหล่านี้ เพิ่มขึ้นมากกว่าสองเท่าในช่วงสามปีที่ผ่านมา ( อนาคตของวิศวกรซอฟต์แวร์เป็นอย่างไร? ผลกระทบของ AI [2024] ) วิศวกรซอฟต์แวร์แบบดั้งเดิมถูกคาดหวังมากขึ้นเรื่อยๆ ว่าจะต้องเข้าใจพื้นฐานของการเรียนรู้ของเครื่อง หรือบูรณาการบริการ AI เข้ากับแอปพลิเคชัน แทนที่จะทำให้นักพัฒนาตกงาน “AI อาจยกระดับวิชาชีพ ทำให้นักพัฒนาสามารถมุ่งเน้นไปที่งานระดับสูงและนวัตกรรมได้” ( AI จะเข้ามาแทนที่นักพัฒนาในปี 2025 หรือไม่: มองอนาคตอย่างคร่าวๆ ) งานเขียนโค้ดประจำหลายอย่างอาจถูกจัดการโดย AI แต่เหล่านักพัฒนาจะยุ่งอยู่กับการออกแบบระบบ การบูรณาการโมดูล การรับรองคุณภาพ และการแก้ไขปัญหาใหม่ๆ มากขึ้น วิศวกรอาวุโสจากบริษัทที่เน้นด้าน AI แห่งหนึ่งสรุปได้อย่างดีเยี่ยมว่า AI ไม่ได้เข้ามาแทนที่นักพัฒนาของเรา แต่เป็นการ เสริมศักยภาพให้ พวกเขาต่างหาก นักพัฒนาเพียงคนเดียวที่ได้รับเครื่องมือ AI อันทรงพลังสามารถทำงานได้เทียบเท่ากับนักพัฒนาหลายคน แต่ในขณะเดียวกัน นักพัฒนาคนนั้นก็จะได้รับมอบหมายงานที่ซับซ้อนและมีผลกระทบมากขึ้น
ตัวอย่างในโลกแห่งความเป็นจริง: ลองพิจารณาสถานการณ์จากบริษัทซอฟต์แวร์แห่งหนึ่งที่ได้นำ GitHub Copilot มาใช้สำหรับนักพัฒนาทุกคน ผลลัพธ์ที่เห็นได้ชัดคือเวลาที่ใช้ในการเขียน unit test และโค้ดพื้นฐานลดลงอย่างมาก นักพัฒนาจูเนียร์คนหนึ่งพบว่าการใช้ Copilot ช่วยให้เธอสร้างโค้ดของฟีเจอร์ใหม่ได้ถึง 80% อย่างรวดเร็ว จากนั้นจึงใช้เวลาในการปรับแต่งส่วนที่เหลืออีก 20% และเขียน integration test ประสิทธิภาพการทำงานของเธอในแง่ของปริมาณโค้ดเพิ่มขึ้นเกือบสองเท่า แต่ที่น่าสนใจกว่านั้นคือลักษณะการมีส่วนร่วมของเธอเปลี่ยนไป – เธอกลายเป็น ผู้ตรวจสอบโค้ดและผู้ออกแบบ test สำหรับโค้ดที่เขียนโดย AI มากขึ้น ทีมงานยังสังเกตเห็นว่าการตรวจสอบโค้ดเริ่มจับ ข้อผิดพลาดของ AI ได้มากกว่าข้อผิดพลาดจากการพิมพ์ของมนุษย์ ตัวอย่างเช่น Copilot แนะนำการเข้ารหัสที่ไม่ปลอดภัยเป็นครั้งคราว นักพัฒนาต้องเป็นคนตรวจจับและแก้ไขข้อผิดพลาดเหล่านั้น ตัวอย่างประเภทนี้แสดงให้เห็นว่าในขณะที่ผลผลิตเพิ่มขึ้น การกำกับดูแลและความเชี่ยวชาญของมนุษย์กลับมีความสำคัญมากยิ่งขึ้น ในกระบวนการทำงาน
โดยสรุปแล้ว AI กำลังเปลี่ยนแปลงวิธีการทำงานของนักพัฒนาอย่างปฏิเสธไม่ได้ ทำให้พวกเขาสามารถทำงานได้เร็วขึ้นและรับมือกับปัญหาที่ซับซ้อนมากขึ้น แต่ก็จำเป็นต้อง พัฒนาทักษะ (ทั้งในการใช้ AI และการคิดในระดับสูง) นี่ไม่ใช่เรื่องของ “AI แย่งงาน” แต่เป็นเรื่องของ “AI เปลี่ยนแปลงงาน” นักพัฒนาที่เรียนรู้ที่จะใช้เครื่องมือเหล่านี้อย่างมีประสิทธิภาพสามารถเพิ่มผลกระทบของตนได้เป็นทวีคูณ คำพูดติดปากที่เรามักได้ยินคือ “AI จะไม่แทนที่นักพัฒนา แต่คนที่ใช้ AI อาจเข้ามาแทนที่คนที่ไม่ได้ใช้” ส่วนต่อไปจะสำรวจว่าทำไมนักพัฒนาที่เป็นมนุษย์ยังคงมีความสำคัญ (สิ่งที่ AI ไม่ ดี) และนักพัฒนาสามารถปรับทักษะของตนให้ประสบความสำเร็จควบคู่ไปกับ AI ได้อย่างไร
ข้อจำกัดของปัญญาประดิษฐ์ (เหตุใดมนุษย์จึงยังคงมีความสำคัญ)
แม้ว่า AI ในปัจจุบันจะมีศักยภาพที่น่าประทับใจ แต่ก็มี ข้อจำกัด ซึ่งทำให้ไม่สามารถแทนที่โปรแกรมเมอร์ที่เป็นมนุษย์ได้ การเข้าใจข้อจำกัดเหล่านี้เป็นกุญแจสำคัญในการเห็นว่าทำไมโปรแกรมเมอร์จึงยังคงมีความจำเป็นอย่างมากในกระบวนการพัฒนา AI เป็นเครื่องมือที่มีประสิทธิภาพ แต่ไม่ใช่ยาวิเศษที่จะมาแทนที่ความคิดสร้างสรรค์ การคิดเชิงวิเคราะห์ และความเข้าใจในบริบทของนักพัฒนาที่เป็นมนุษย์ ต่อไปนี้คือข้อจำกัดพื้นฐานบางประการของ AI ในการเขียนโปรแกรม และจุดแข็งที่สอดคล้องกันของนักพัฒนาที่เป็นมนุษย์:
-
ขาดความเข้าใจและความคิดสร้างสรรค์อย่างแท้จริง: โมเดล AI ในปัจจุบันไม่ เข้าใจ โค้ดหรือปัญหาอย่างแท้จริงเหมือนมนุษย์ พวกมันจดจำรูปแบบและแสดงผลลัพธ์ที่น่าจะเป็นไปได้ตามข้อมูลการฝึกฝน ซึ่งหมายความว่า AI อาจประสบปัญหาในการทำงานที่ต้องการวิธีแก้ปัญหาที่สร้างสรรค์หรือความเข้าใจอย่างลึกซึ้งในโดเมนปัญหาใหม่ๆ AI อาจสามารถสร้างโค้ดให้ตรงตามข้อกำหนดที่เคยเห็นมาก่อนได้ แต่หากขอให้มันออกแบบอัลกอริทึมใหม่สำหรับปัญหาที่ไม่เคยมีมาก่อนหรือตีความข้อกำหนดที่ไม่ชัดเจน มันก็มีแนวโน้มที่จะล้มเหลว ดังที่ผู้สังเกตการณ์คนหนึ่งกล่าวไว้ว่า AI ในปัจจุบัน “ขาดความสามารถในการคิดสร้างสรรค์และวิเคราะห์อย่างมีวิจารณญาณที่นักพัฒนาซอฟต์แวร์มี” ( AI จะเข้ามาแทนที่นักพัฒนาซอฟต์แวร์ในปี 2025 หรือไม่: มองอนาคตอย่างคร่าวๆ ) มนุษย์เก่งในการคิดนอกกรอบ – ผสมผสานความรู้เฉพาะด้าน สัญชาตญาณ และความคิดสร้างสรรค์เพื่อออกแบบสถาปัตยกรรมซอฟต์แวร์หรือแก้ปัญหาที่ซับซ้อน ในทางตรงกันข้าม AI ถูกจำกัดด้วยรูปแบบที่เรียนรู้มา หากปัญหาไม่ตรงกับรูปแบบเหล่านั้น AI อาจสร้างโค้ดที่ไม่ถูกต้องหรือไม่สมเหตุสมผล (โดยมักจะมั่นใจ!) นวัตกรรม ในด้านซอฟต์แวร์ ไม่ว่าจะเป็นการคิดค้นฟีเจอร์ใหม่ ประสบการณ์การใช้งานใหม่ หรือแนวทางทางเทคนิคใหม่ๆ ยังคงเป็นกิจกรรมที่ขับเคลื่อนด้วยมนุษย์เป็นหลัก
-
บริบทและความเข้าใจภาพรวม: การสร้างซอฟต์แวร์ไม่ใช่แค่การเขียนโค้ด แต่เกี่ยวข้องกับการเข้าใจ เหตุผล เบื้องหลังโค้ด – ข้อกำหนดทางธุรกิจ ความต้องการของผู้ใช้ และบริบทที่ซอฟต์แวร์ทำงานอยู่ AI มีขอบเขตความเข้าใจบริบทที่แคบมาก (โดยปกติจะจำกัดอยู่แค่ข้อมูลที่ได้รับในแต่ละครั้ง) มันไม่เข้าใจวัตถุประสงค์โดยรวมของระบบหรือวิธีการที่โมดูลหนึ่งโต้ตอบกับอีกโมดูลหนึ่งนอกเหนือจากสิ่งที่ระบุไว้ในโค้ดอย่างชัดเจน ผลก็คือ AI อาจสร้างโค้ดที่ใช้งานได้ในงานเล็กๆ แต่ไม่เหมาะสมกับสถาปัตยกรรมระบบขนาดใหญ่ หรือละเมิดข้อกำหนดโดยนัยบางอย่าง นักพัฒนาซอฟต์แวร์ที่เป็นมนุษย์จึงจำเป็นเพื่อให้แน่ใจว่าซอฟต์แวร์สอดคล้องกับเป้าหมายทางธุรกิจและความคาดหวังของผู้ใช้ การ ออกแบบระบบที่ซับซ้อน – การเข้าใจว่าการเปลี่ยนแปลงในส่วนหนึ่งอาจส่งผลกระทบต่อส่วนอื่นๆ อย่างไร วิธีการสร้างสมดุลระหว่างข้อดีข้อเสีย (เช่น ประสิทธิภาพเทียบกับความอ่านง่าย) และวิธีการวางแผนวิวัฒนาการระยะยาวของโค้ดเบส – เป็นสิ่งที่ AI ยังทำไม่ได้ในปัจจุบัน ในโครงการขนาดใหญ่ที่มีส่วนประกอบนับพัน AI “เห็นต้นไม้แต่ไม่เห็นป่า” ดังที่ระบุไว้ในการวิเคราะห์หนึ่ง “AI ยังมีข้อจำกัดในการทำความเข้าใจบริบทและความซับซ้อนทั้งหมดของโครงการซอฟต์แวร์ขนาดใหญ่” ซึ่งรวมถึงข้อกำหนดทางธุรกิจและการพิจารณาประสบการณ์ของผู้ใช้ ( AI จะเข้ามาแทนที่นักพัฒนาซอฟต์แวร์ในปี 2025 หรือไม่: มองอนาคตแบบคร่าวๆ ) มนุษย์ยังคงมีวิสัยทัศน์ในภาพรวม
-
สามัญสำนึกและการแก้ไขความคลุมเครือ: ข้อกำหนดในโครงการจริงมักคลุมเครือหรือเปลี่ยนแปลงอยู่เสมอ นักพัฒนาที่เป็นมนุษย์สามารถขอคำชี้แจง ตั้งสมมติฐานที่สมเหตุสมผล หรือโต้แย้งคำขอที่ไม่สมจริงได้ AI ไม่มีสามัญสำนึกหรือความสามารถในการถามคำถามเพื่อขอคำชี้แจง (เว้นแต่จะมีการระบุไว้อย่างชัดเจนในข้อความแจ้งเตือน และถึงกระนั้นก็ไม่มีการรับประกันว่าจะได้คำตอบที่ถูกต้อง) นี่คือเหตุผลที่โค้ดที่สร้างโดย AI บางครั้งอาจถูกต้องทางเทคนิค แต่ใช้งานไม่ได้จริง – มันขาด วิจารณญาณ ที่จะรู้ว่าผู้ใช้ต้องการอะไรจริงๆ หากคำแนะนำไม่ชัดเจน ในทางตรงกันข้าม โปรแกรมเมอร์ที่เป็นมนุษย์สามารถตีความคำขอระดับสูงได้ (“ทำให้ UI นี้ใช้งานง่ายขึ้น” หรือ “แอปควรจัดการกับอินพุตที่ไม่สม่ำเสมอได้อย่างราบรื่น”) และคิดออกว่าต้องทำอะไรในโค้ด AI จำเป็นต้องมีข้อกำหนดที่ละเอียดมากและไม่คลุมเครือเพื่อที่จะทดแทนนักพัฒนาได้อย่างแท้จริง และแม้แต่การเขียนข้อกำหนดดังกล่าวอย่างมีประสิทธิภาพก็ยากพอๆ กับการเขียนโค้ดเอง บทความจาก Forbes Tech Council ได้กล่าวไว้อย่างเหมาะสมว่า เพื่อให้ AI สามารถทดแทนนักพัฒนาได้อย่างแท้จริง AI จะต้องเข้าใจคำสั่งที่ไม่ชัดเจนและปรับตัวได้เหมือนมนุษย์ ซึ่งเป็นระดับการใช้เหตุผลที่ AI ในปัจจุบันยังไม่มี ( โพสต์ของ Sergii Kuzin - LinkedIn )
-
ความน่าเชื่อถือและ “ภาพลวงตา”: โมเดล AI ที่สร้างขึ้นในปัจจุบันมีข้อบกพร่องที่รู้จักกันดีอย่างหนึ่ง คือ พวกมันสามารถสร้างผลลัพธ์ที่ไม่ถูกต้องหรือสร้างขึ้นมาเองทั้งหมด ซึ่งปรากฏการณ์นี้มักเรียกว่า ภาพลวงตา ในการเขียนโค้ด นี่อาจหมายความว่า AI เขียนโค้ดที่ดูเหมือนสมเหตุสมผล แต่ผิดหลักตรรกะหรือไม่ปลอดภัย นักพัฒนาไม่สามารถเชื่อคำแนะนำของ AI ได้อย่างสนิทใจ ในทางปฏิบัติ โค้ดที่เขียนโดย AI ทุกชิ้น จำเป็นต้องได้รับการตรวจสอบและทดสอบอย่างรอบคอบโดยมนุษย์ ข้อมูลจากการสำรวจของ Stack Overflow สะท้อนให้เห็นถึงเรื่องนี้ – ในบรรดาผู้ที่ใช้เครื่องมือ AI มีเพียง 3% เท่านั้นที่เชื่อมั่นในความถูกต้อง ของผลลัพธ์จาก AI อย่างมาก และที่จริงแล้วมีเปอร์เซ็นต์เล็กน้อยที่ ไม่เชื่อ ( 70% ของนักพัฒนาใช้เครื่องมือเขียนโค้ด AI แต่มีเพียง 3% เท่านั้นที่เชื่อมั่นในความถูกต้องของมันอย่างมาก - ShiftMag ) นักพัฒนาส่วนใหญ่ถือว่าคำแนะนำของ AI เป็นเพียงคำแนะนำที่เป็นประโยชน์ ไม่ใช่สิ่งศักดิ์สิทธิ์ ความเชื่อมั่นที่ต่ำนี้เป็นสิ่งที่สมเหตุสมผล เพราะ AI สามารถทำผิดพลาดแปลกๆ ที่มนุษย์ที่มีความสามารถจะไม่ทำ (เช่น ข้อผิดพลาดแบบ off-by-one การใช้ฟังก์ชันที่เลิกใช้แล้ว หรือการสร้างโซลูชันที่ไม่มีประสิทธิภาพ) เพราะมันไม่ได้ใช้เหตุผลอย่างแท้จริงเกี่ยวกับปัญหา ดังที่ความเห็นในฟอรัมหนึ่งได้กล่าวไว้อย่างเสียดสีว่า “พวกมัน (AI) มักจะเห็นภาพหลอนและเลือกออกแบบแปลกๆ ที่มนุษย์ไม่มีวันทำ” ( โปรแกรมเมอร์จะล้าสมัยเพราะ AI หรือไม่? - คำแนะนำด้านอาชีพ ) การตรวจสอบโดยมนุษย์มีความสำคัญอย่างยิ่งในการตรวจจับข้อผิดพลาดเหล่านี้ AI อาจช่วยให้คุณสร้างฟีเจอร์ได้ 90% อย่างรวดเร็ว แต่ถ้า 10% ที่เหลือมีข้อผิดพลาดเล็กน้อย ก็ยังเป็นหน้าที่ของนักพัฒนาที่เป็นมนุษย์ที่จะต้องวินิจฉัยและแก้ไข และเมื่อมีบางอย่างผิดพลาดในขั้นตอนการผลิต วิศวกรที่เป็นมนุษย์ก็ต้องเป็นผู้แก้ไขข้อผิดพลาด – AI ยังไม่สามารถรับผิดชอบต่อความผิดพลาดของตนเองได้
-
การบำรุงรักษาและการพัฒนาโค้ดเบส: โครงการซอฟต์แวร์มีอายุและเติบโตขึ้นเรื่อย ๆ ตลอดหลายปี จึงต้องการรูปแบบที่สม่ำเสมอ ความชัดเจนสำหรับผู้ดูแลในอนาคต และการอัปเดตเมื่อความต้องการเปลี่ยนแปลงไป AI ในปัจจุบันไม่มีความจำเกี่ยวกับการตัดสินใจในอดีต (นอกเหนือจากคำสั่งที่จำกัด) ดังนั้นจึงอาจไม่สามารถรักษาความสม่ำเสมอของโค้ดในโครงการขนาดใหญ่ได้ เว้นแต่จะได้รับการชี้นำ นักพัฒนาที่เป็นมนุษย์จึงมั่นใจได้ว่าโค้ดสามารถบำรุงรักษาได้ – โดยการเขียนเอกสารที่ชัดเจน เลือกวิธีแก้ปัญหาที่อ่านง่ายมากกว่าวิธีที่ฉลาดแต่คลุมเครือ และปรับปรุงโค้ดตามความจำเป็นเมื่อสถาปัตยกรรมพัฒนาขึ้น AI สามารถช่วยในงานเหล่านี้ได้ (เช่น การแนะนำการปรับปรุงโค้ด) แต่การตัดสินใจ ส่วนใด หรือ ใด ของระบบที่ต้องออกแบบใหม่นั้นเป็นการตัดสินใจของมนุษย์ ยิ่งไปกว่านั้น เมื่อรวมส่วนประกอบต่าง ๆ การทำความเข้าใจผลกระทบของฟีเจอร์ใหม่ต่อโมดูลที่มีอยู่ (การรับรองความเข้ากันได้กับเวอร์ชันก่อนหน้า ฯลฯ) เป็นสิ่งที่มนุษย์จัดการ โค้ดที่สร้างโดย AI ต้องได้รับการบูรณาการและประสานกันโดยมนุษย์ ในฐานะการทดลอง นักพัฒนาบางคนได้ลองให้ ChatGPT สร้างแอปขนาดเล็กทั้งหมด ผลลัพธ์มักจะใช้ได้ผลในตอนแรก แต่จะดูแลรักษาหรือต่อยอดได้ยากมาก เพราะ AI ไม่ได้ใช้สถาปัตยกรรมที่รอบคอบอย่างสม่ำเสมอ – มันตัดสินใจในระดับท้องถิ่นซึ่งสถาปนิกที่เป็นมนุษย์จะหลีกเลี่ยง
-
ข้อควรพิจารณาด้านจริยธรรมและความปลอดภัย: เมื่อ AI เขียนโค้ดมากขึ้น ก็ยิ่งทำให้เกิดคำถามเกี่ยวกับอคติ ความปลอดภัย และจริยธรรม AI อาจสร้างช่องโหว่ด้านความปลอดภัยโดยไม่ตั้งใจ (เช่น การไม่ตรวจสอบความถูกต้องของข้อมูลขาเข้า หรือการใช้การเข้ารหัสที่ไม่ปลอดภัย) ซึ่งนักพัฒนาซอฟต์แวร์ที่มีประสบการณ์จะตรวจพบได้ นอกจากนี้ AI ไม่มีสำนึกด้านจริยธรรมหรือความเป็นธรรมโดยธรรมชาติ ตัวอย่างเช่น AI อาจฝึกฝนด้วยข้อมูลที่มีอคติและแนะนำอัลกอริทึมที่เลือกปฏิบัติโดยไม่ตั้งใจ (ในฟีเจอร์ที่ขับเคลื่อนด้วย AI เช่น รหัสอนุมัติสินเชื่อหรืออัลกอริทึมการจ้างงาน) นักพัฒนาซอฟต์แวร์จึงจำเป็นต้องตรวจสอบผลลัพธ์ของ AI สำหรับปัญหาเหล่านี้ ตรวจสอบให้แน่ใจว่าสอดคล้องกับกฎระเบียบ และใส่ข้อควรพิจารณาด้านจริยธรรมลงในซอฟต์แวร์ ด้าน สังคม ของซอฟต์แวร์ เช่น การทำความเข้าใจความไว้วางใจของผู้ใช้ ความกังวลเกี่ยวกับความเป็นส่วนตัว และการเลือกออกแบบที่สอดคล้องกับคุณค่าของมนุษย์ นั้น “ไม่ควรมองข้าม ด้านการพัฒนาที่เน้นมนุษย์เป็นศูนย์กลางเหล่านี้อยู่นอกเหนือขอบเขตของ AI อย่างน้อยก็ในอนาคตอันใกล้” ( ปัญญาประดิษฐ์จะเข้ามาแทนที่นักพัฒนาซอฟต์แวร์ในปี 2025 หรือไม่: มองอนาคตแบบคร่าวๆ ) นักพัฒนาซอฟต์แวร์ต้องทำหน้าที่เป็นผู้ตรวจสอบและควบคุมคุณภาพสำหรับผลงานที่เกิดจากปัญญาประดิษฐ์
ด้วยข้อจำกัดเหล่านี้ ความเห็นส่วนใหญ่ในปัจจุบันคือ AI เป็นเพียงเครื่องมือ ไม่ใช่สิ่งที่จะมาแทนที่โปรแกรมเมอร์ อย่างที่ Satya Nadella กล่าวไว้ว่า มันเกี่ยวกับ การเสริมศักยภาพให้ นักพัฒนา ไม่ใช่การแทนที่พวกเขา ( AI จะมาแทนที่โปรแกรมเมอร์หรือไม่? ความจริงเบื้องหลังกระแส | โดย The PyCoach | Artificial Corner | มีนาคม 2025 | Medium ) เราอาจมองว่า AI เป็นผู้ช่วยรุ่นเยาว์: มันทำงานเร็ว ไม่รู้จักเหนื่อย และสามารถลองทำงานเบื้องต้นได้หลายอย่าง แต่ต้องการคำแนะนำและความเชี่ยวชาญจากนักพัฒนาอาวุโสเพื่อให้ได้ผลิตภัณฑ์ขั้นสุดท้ายที่สมบูรณ์แบบ ที่น่าสังเกตคือ แม้แต่ระบบเขียนโค้ด AI ที่ล้ำหน้าที่สุดก็ยังถูกนำไปใช้เป็น ผู้ช่วย ในโลกแห่งความเป็นจริง (Copilot, CodeWhisperer เป็นต้น) ไม่ใช่ในฐานะนักเขียนโค้ดอัตโนมัติ บริษัทต่างๆ ไม่ได้ไล่ทีมโปรแกรมเมอร์ออกและปล่อยให้ AI ทำงานอย่างอิสระ แต่พวกเขาได้ผนวก AI เข้ากับขั้นตอนการทำงานของนักพัฒนาเพื่อช่วยเหลือพวกเขา
คำกล่าวที่แสดงให้เห็นถึงเรื่องนี้อย่างชัดเจนมาจาก Sam Altman แห่ง OpenAI ซึ่งกล่าวว่า แม้ว่าเอเจนต์ AI จะพัฒนาขึ้นเรื่อยๆ แต่ “เอเจนต์ AI เหล่านี้จะไม่สามารถทดแทนมนุษย์ได้อย่างสมบูรณ์” ในการพัฒนาซอฟต์แวร์ ( Sam Altman กล่าวว่า เอเจนต์ AI จะทำงานที่วิศวกรซอฟต์แวร์ทำได้ในไม่ช้า: อ่านเรื่องราวฉบับเต็มใน 5 ประเด็น - India Today ) พวกมันจะทำหน้าที่เป็น “เพื่อนร่วมงานเสมือนจริง” ที่จัดการงานที่กำหนดไว้ชัดเจนสำหรับวิศวกรมนุษย์ โดยเฉพาะอย่างยิ่งงานที่มักทำโดยวิศวกรซอฟต์แวร์ระดับเริ่มต้นที่มีประสบการณ์ไม่กี่ปี กล่าวอีกนัยหนึ่ง AI อาจทำงานแทนนักพัฒนาซอฟต์แวร์ระดับเริ่มต้นในบางด้านได้ในที่สุด แต่นักพัฒนาซอฟต์แวร์ระดับเริ่มต้นเหล่านั้นจะไม่ตกงาน – พวกเขาจะพัฒนาไปสู่บทบาทของการกำกับดูแล AI และจัดการกับงานระดับสูงที่ AI ทำไม่ได้ แม้จะมองไปในอนาคต ซึ่งนักวิจัยบางคนคาดการณ์ว่าภายในปี 2040 ปัญญาประดิษฐ์อาจเขียนโค้ดส่วนใหญ่ได้เอง ( อนาคตของวิศวกรซอฟต์แวร์จะเป็นอย่างไร? ผลกระทบของปัญญาประดิษฐ์ [2024] ) ก็ยังเป็นที่ยอมรับกันโดยทั่วไปว่า โปรแกรมเมอร์ที่เป็นมนุษย์ยังคงมีความจำเป็นในการกำกับดูแล ชี้นำ และจุดประกายความคิดสร้างสรรค์และการคิดเชิงวิพากษ์ที่เครื่องจักรขาด ไป
สิ่งสำคัญที่ควรทราบคือ การพัฒนาซอฟต์แวร์นั้นไม่ใช่แค่การเขียนโค้ดเท่านั้น แต่ ยังเกี่ยวข้องกับการสื่อสารกับผู้มีส่วนได้ส่วนเสีย การทำความเข้าใจเรื่องราวของผู้ใช้ การทำงานร่วมกันเป็นทีม และการออกแบบแบบวนซ้ำ ซึ่งทั้งหมดนี้ล้วนเป็นด้านที่ทักษะของมนุษย์มีความสำคัญอย่างยิ่ง AI ไม่สามารถนั่งประชุมกับลูกค้าเพื่อหารือถึงสิ่งที่พวกเขาต้องการอย่างแท้จริงได้ และไม่สามารถเจรจาต่อรองลำดับความสำคัญหรือสร้างแรงบันดาลใจให้ทีมด้วยวิสัยทัศน์เกี่ยวกับผลิตภัณฑ์ได้ องค์ประกอบของมนุษย์ จึงยังคงเป็นหัวใจสำคัญ
โดยสรุปแล้ว AI มีจุดอ่อนที่สำคัญหลายประการ ได้แก่ ขาดความคิดสร้างสรรค์อย่างแท้จริง ความเข้าใจบริบทที่จำกัด มีแนวโน้มที่จะทำผิดพลาด ขาดความรับผิดชอบ และไม่เข้าใจถึงผลกระทบในวงกว้างของการตัดสินใจด้านซอฟต์แวร์ ช่องว่างเหล่านี้เองที่เป็นจุดเด่นของนักพัฒนาซอฟต์แวร์ แทนที่จะมอง AI เป็นภัยคุกคาม อาจจะถูกต้องกว่าที่จะมองว่ามันเป็น เครื่องมือเสริมประสิทธิภาพที่ทรงพลังสำหรับนักพัฒนาซอฟต์แวร์ – ช่วยจัดการงานที่ซ้ำซากจำเจเพื่อให้มนุษย์สามารถมุ่งเน้นไปที่งานที่สำคัญกว่าได้ ส่วนต่อไปจะกล่าวถึงวิธีที่นักพัฒนาสามารถใช้ประโยชน์จากการเสริมประสิทธิภาพนี้โดยการ ปรับทักษะและบทบาทของตนเอง เพื่อให้ยังคงมีความเกี่ยวข้องและมีคุณค่าในโลกของการพัฒนาซอฟต์แวร์ที่เสริมด้วย AI
การปรับตัวและเติบโตอย่างแข็งแกร่งในยุคปัญญาประดิษฐ์
สำหรับโปรแกรมเมอร์และนักพัฒนา การเพิ่มขึ้นของ AI ในการเขียนโค้ดไม่จำเป็นต้องเป็นภัยคุกคามที่ร้ายแรงเสมอไป แต่สามารถเป็นโอกาสได้ กุญแจสำคัญคือการ ปรับตัวและพัฒนาไป พร้อมกับเทคโนโลยี ผู้ที่เรียนรู้ที่จะใช้ประโยชน์จาก AI จะพบว่าตนเอง มากขึ้น ในขณะที่ผู้ที่เพิกเฉยอาจพบว่าตนเองล้าหลัง ในส่วนนี้ เราจะเน้นที่ขั้นตอนและกลยุทธ์เชิงปฏิบัติสำหรับนักพัฒนาเพื่อให้ยังคงมีความเกี่ยวข้องและประสบความสำเร็จในขณะที่เครื่องมือ AI กลายเป็นส่วนหนึ่งของการพัฒนาในชีวิตประจำวัน แนวคิดที่ควรนำมาใช้คือการเรียนรู้อย่างต่อเนื่องและการทำงานร่วมกับ AI มากกว่าการแข่งขัน ต่อไปนี้คือวิธีที่นักพัฒนาสามารถปรับตัวและทักษะและบทบาทใหม่ ๆ ที่พวกเขาควรพิจารณา:
1. ยอมรับ AI ในฐานะเครื่องมือ (เรียนรู้วิธีใช้ผู้ช่วยเขียนโค้ด AI อย่างมีประสิทธิภาพ): อันดับแรกและสำคัญที่สุด นักพัฒนาควรทำความคุ้นเคยกับเครื่องมือ AI ที่มีอยู่ ให้คิดว่า Copilot, ChatGPT หรือ AI เขียนโค้ดอื่นๆ เป็นคู่หูในการเขียนโปรแกรมของคุณ นั่นหมายถึง การเรียนรู้วิธีเขียนคำแนะนำหรือคำอธิบายที่ดี เพื่อให้ได้คำแนะนำโค้ดที่เป็นประโยชน์ และรู้วิธีตรวจสอบหรือแก้ไขข้อผิดพลาดของโค้ดที่สร้างโดย AI อย่างรวดเร็ว เช่นเดียวกับที่นักพัฒนาต้องเรียนรู้ IDE หรือระบบควบคุมเวอร์ชัน การเรียนรู้จุดเด่นและจุดด้อยของผู้ช่วย AI กำลังกลายเป็นส่วนหนึ่งของทักษะ ตัวอย่างเช่น นักพัฒนาสามารถฝึกฝนโดยการนำโค้ดที่เขียนแล้วขอให้ AI ปรับปรุง จากนั้นวิเคราะห์การเปลี่ยนแปลง หรือเมื่อเริ่มต้นงาน ให้ร่างโครงร่างในคำอธิบายและดูว่า AI ให้อะไร จากนั้นปรับปรุงจากตรงนั้น เมื่อเวลาผ่านไป คุณจะพัฒนาสัญชาตญาณเกี่ยวกับสิ่งที่ AI ทำได้ดีและวิธีการทำงานร่วมกับมัน คิดว่านี่คือ “การพัฒนาโดยใช้ AI ช่วย” – ทักษะใหม่ที่จะเพิ่มลงในกล่องเครื่องมือของคุณ ที่จริงแล้ว นักพัฒนาในปัจจุบันพูดถึง "วิศวกรรมคำถาม" ว่าเป็นทักษะอย่างหนึ่ง นั่นคือ การรู้วิธีถามคำถามที่ถูกต้องกับ AI ผู้ที่เชี่ยวชาญด้านนี้จะสามารถบรรลุผลลัพธ์ที่ดีขึ้นอย่างมากจากเครื่องมือเดียวกัน โปรดจำไว้ว่า "นักพัฒนาที่ใช้ AI อาจเข้ามาแทนที่ผู้ที่ไม่ใช้" ดังนั้นจงยอมรับเทคโนโลยีและทำให้มันเป็นพันธมิตรของคุณ
2. เน้นทักษะระดับสูง (การแก้ปัญหา การออกแบบระบบ สถาปัตยกรรม): เนื่องจาก AI สามารถจัดการกับการเขียนโค้ดระดับต่ำได้มากกว่า นักพัฒนาจึงควร ขยับขึ้นไปสู่ระดับนามธรรมที่ สูงขึ้น ซึ่งหมายถึงการให้ความสำคัญกับการทำความเข้าใจการออกแบบระบบและสถาปัตยกรรมมากขึ้น ฝึกฝนทักษะในการแยกแยะปัญหาที่ซับซ้อน ออกแบบระบบที่ปรับขนาดได้ และตัดสินใจด้านสถาปัตยกรรม ซึ่งเป็นส่วนที่ความเข้าใจของมนุษย์มีความสำคัญอย่างยิ่ง เน้นที่เหตุผลและวิธีการแก้ปัญหา ไม่ใช่แค่สิ่งที่ต้องการ ตัวอย่างเช่น แทนที่จะใช้เวลาทั้งหมดไปกับการพัฒนาฟังก์ชันการเรียงลำดับให้สมบูรณ์แบบ (ในเมื่อ AI สามารถเขียนให้คุณได้) ควรใช้เวลาทำความเข้าใจว่าวิธีการเรียงลำดับแบบใดเหมาะสมที่สุดสำหรับบริบทของแอปพลิเคชันของคุณ และมันเข้ากับกระแสข้อมูลของระบบอย่างไร การคิดเชิงออกแบบ – การพิจารณาความต้องการของผู้ใช้ กระแสข้อมูล และการทำงานร่วมกันของส่วนประกอบ – จะมีคุณค่าอย่างมาก AI สามารถสร้างโค้ดได้ แต่เป็นนักพัฒนาที่ตัดสินใจโครงสร้างโดยรวมของซอฟต์แวร์และตรวจสอบให้แน่ใจว่าทุกส่วนทำงานร่วมกันได้อย่างลงตัว การพัฒนาความคิดเชิงภาพรวมของคุณจะทำให้คุณเป็นบุคคลที่ขาดไม่ได้ในการชี้นำ AI (และทีมที่เหลือ) ในการสร้างสิ่งที่ถูกต้อง รายงานฉบับหนึ่งที่มองไปในอนาคตระบุว่า นักพัฒนาควร “มุ่งเน้นไปที่ด้านที่สัญชาตญาณของมนุษย์ไม่สามารถทดแทนได้ เช่น การแก้ปัญหา การคิดเชิงออกแบบ และการทำความเข้าใจความต้องการของผู้ใช้” ( ปัญญาประดิษฐ์จะเข้ามาแทนที่นักพัฒนาในปี 2025 หรือไม่: มองอนาคตแบบคร่าวๆ )
3. พัฒนาความรู้ด้าน AI และ ML ของคุณ: การทำงานร่วมกับ AI นั้น คุณจำเป็นต้อง เข้าใจ AI นักพัฒนาไม่จำเป็นต้องเป็นนักวิจัยด้านแมชชีนเลิร์นนิงทุกคน แต่การมีความเข้าใจอย่างถ่องแท้ว่าโมเดลเหล่านี้ทำงานอย่างไรจะเป็นประโยชน์ เรียนรู้พื้นฐานของแมชชีนเลิร์นนิงและดีพเลิร์นนิง – ไม่เพียงแต่จะเปิดเส้นทางอาชีพใหม่ๆ (เนื่องจากงานที่เกี่ยวข้องกับ AI กำลังเฟื่องฟู ( อนาคตของวิศวกรซอฟต์แวร์เป็นอย่างไร? ผลกระทบของ AI [2024] )) แต่ยังช่วยให้คุณใช้เครื่องมือ AI ได้อย่างมีประสิทธิภาพมากขึ้น ตัวอย่างเช่น หากคุณทราบข้อจำกัดของโมเดลภาษาขนาดใหญ่และวิธีการฝึกฝน คุณสามารถคาดการณ์ได้ว่าเมื่อใดที่มันอาจล้มเหลวและออกแบบข้อความแจ้งเตือนหรือการทดสอบของคุณให้เหมาะสม นอกจากนี้ ผลิตภัณฑ์ซอฟต์แวร์จำนวนมากกำลังรวมคุณสมบัติ AI เข้าไว้ด้วย (ตัวอย่างเช่น แอปที่มีระบบแนะนำหรือแชทบอท) นักพัฒนาซอฟต์แวร์ที่มีความรู้ด้าน ML สามารถมีส่วนร่วมในคุณสมบัติเหล่านั้นหรืออย่างน้อยก็ทำงานร่วมกับนักวิทยาศาสตร์ข้อมูลได้อย่างชาญฉลาด หัวข้อสำคัญที่ควรพิจารณาเรียนรู้ ได้แก่ พื้นฐานวิทยาศาสตร์ข้อมูล วิธีการประมวลผลข้อมูลล่วงหน้า การฝึกฝนเทียบกับการอนุมาน และจริยธรรมของ AI ทำความคุ้นเคยกับเฟรมเวิร์ก AI (TensorFlow, PyTorch) และบริการ AI บนคลาวด์ แม้ว่าคุณจะไม่ได้สร้างโมเดลตั้งแต่เริ่มต้น แต่การรู้วิธีการผสานรวม API AI เข้ากับแอปก็เป็นทักษะที่มีค่า กล่าวโดยสรุป การ เป็น "ผู้เชี่ยวชาญด้าน AI" กำลังมีความสำคัญมากขึ้นเรื่อย ๆ เช่นเดียวกับการเป็นผู้เชี่ยวชาญด้านเทคโนโลยีเว็บหรือฐานข้อมูล นักพัฒนาที่สามารถเชื่อมโยงโลกของวิศวกรรมซอฟต์แวร์แบบดั้งเดิมและ AI ได้ จะอยู่ในตำแหน่งที่ได้เปรียบในการเป็นผู้นำโครงการในอนาคต
4. พัฒนาทักษะด้านมนุษยสัมพันธ์และความรู้เฉพาะด้านให้แข็งแกร่งยิ่งขึ้น: เมื่อ AI เข้ามาแทนที่งานที่ต้องใช้กลไก ทักษะเฉพาะของมนุษย์จึงยิ่งมีความสำคัญมากขึ้น การสื่อสาร การทำงานเป็นทีม และความเชี่ยวชาญเฉพาะด้าน เป็นสิ่งที่เราควรให้ความสำคัญเป็นพิเศษ การพัฒนาซอฟต์แวร์มักเกี่ยวกับการทำความเข้าใจปัญหาในโดเมนนั้นๆ ไม่ว่าจะเป็นด้านการเงิน การดูแลสุขภาพ การศึกษา หรือสาขาอื่นๆ และการแปลงสิ่งนั้นให้เป็นโซลูชัน AI จะไม่มีบริบทหรือความสามารถในการติดต่อประสานงานกับผู้มีส่วนได้ส่วนเสีย แต่คุณมี การมีความรู้มากขึ้นในโดเมนที่คุณทำงานจะทำให้คุณเป็นบุคคลสำคัญในการตรวจสอบให้แน่ใจว่าซอฟต์แวร์นั้นตรงกับความต้องการในโลกแห่งความเป็นจริง ในทำนองเดียวกัน ให้เน้นที่ทักษะการทำงานร่วมกันของคุณ: การให้คำปรึกษา การเป็นผู้นำ และการประสานงาน ทีมยังคงต้องการนักพัฒนาอาวุโสเพื่อตรวจสอบโค้ด (รวมถึงโค้ดที่เขียนโดย AI) เพื่อให้คำปรึกษาแก่นักพัฒนารุ่นน้องเกี่ยวกับแนวทางปฏิบัติที่ดีที่สุด และเพื่อประสานงานโครงการที่ซับซ้อน AI ไม่ได้ขจัดความจำเป็นในการมีปฏิสัมพันธ์ของมนุษย์ในโครงการ อันที่จริง เมื่อ AI สร้างโค้ด การให้คำปรึกษาของนักพัฒนาอาวุโสอาจเปลี่ยนไปเป็นการสอนนักพัฒนารุ่นน้องถึง วิธีการทำงานกับ AI และตรวจสอบความถูกต้องของผลลัพธ์ แทนที่จะสอนวิธีการเขียนลูป for ความสามารถในการชี้นำผู้อื่นในกระบวนทัศน์ใหม่นี้เป็นทักษะที่มีค่า นอกจากนี้ ควรฝึกฝน การคิดเชิงวิพากษ์ – ตั้งคำถามและทดสอบผลลัพธ์ของ AI และสนับสนุนให้ผู้อื่นทำเช่นเดียวกัน การปลูกฝังความสงสัยและความคิดตรวจสอบอย่างมีเหตุผลจะช่วยป้องกันการพึ่งพา AI อย่างไม่ลืมหูลืมตาและลดข้อผิดพลาด โดยพื้นฐานแล้ว ควรพัฒนาทักษะที่ AI ขาดไป ได้แก่ การเข้าใจผู้คนและบริบท การวิเคราะห์เชิงวิพากษ์ และการคิดแบบสหวิทยาการ
5. การเรียนรู้ตลอดชีวิตและความสามารถในการปรับตัว: การเปลี่ยนแปลงในด้าน AI นั้นรวดเร็วมาก สิ่งที่ดูทันสมัยในวันนี้อาจล้าสมัยในอีกไม่กี่ปีข้างหน้า นักพัฒนาจึงต้องให้ความสำคัญกับ การเรียนรู้ตลอดชีวิต มากกว่าที่เคย ซึ่งอาจหมายถึงการทดลองใช้ผู้ช่วยเขียนโค้ด AI ใหม่ๆ เป็นประจำ การเรียนหลักสูตรออนไลน์หรือการรับรองในด้าน AI/ML การอ่านบล็อกงานวิจัยเพื่อติดตามความเคลื่อนไหว หรือการเข้าร่วมชุมชนนักพัฒนาที่เน้น AI ความสามารถในการปรับตัวเป็นกุญแจสำคัญ – ต้องพร้อมที่จะเปลี่ยนไปใช้เครื่องมือและเวิร์กโฟลว์ใหม่ๆ เมื่อมันเกิดขึ้น ตัวอย่างเช่น หากมีเครื่องมือ AI ใหม่ที่สามารถออกแบบ UI จากภาพร่างได้โดยอัตโนมัติ นักพัฒนาฝั่ง front-end ควรพร้อมที่จะเรียนรู้และนำไปใช้ โดยอาจเปลี่ยนไปเน้นที่การปรับปรุง UI ที่สร้างขึ้น หรือปรับปรุงรายละเอียดประสบการณ์ผู้ใช้ที่ระบบอัตโนมัติมองข้ามไป ผู้ที่มองว่าการเรียนรู้เป็นส่วนหนึ่งของอาชีพการงานอย่างต่อเนื่อง (ซึ่งนักพัฒนาหลายคนทำอยู่แล้ว) จะพบว่าการบูรณาการการพัฒนา AI นั้นง่ายขึ้น กลยุทธ์หนึ่งคือการจัดสรรเวลาเล็กน้อยในแต่ละสัปดาห์เพื่อการเรียนรู้และการทดลอง – ถือว่าเป็นการลงทุนในอนาคตของคุณเอง บริษัทต่างๆ เริ่มให้การฝึกอบรมแก่ผู้พัฒนาซอฟต์แวร์เกี่ยวกับการใช้เครื่องมือ AI อย่างมีประสิทธิภาพมากขึ้น การใช้ประโยชน์จากโอกาสเหล่านี้จะทำให้คุณได้เปรียบ ผู้พัฒนาซอฟต์แวร์ที่จะประสบความสำเร็จคือผู้ที่มองว่า AI เป็นพันธมิตรที่กำลังพัฒนาอย่างต่อเนื่อง และปรับปรุงวิธีการทำงานร่วมกับพันธมิตรนี้อย่างสม่ำเสมอ
6. สำรวจบทบาทและเส้นทางอาชีพใหม่ๆ: เมื่อ AI ถูกนำมาใช้ในการพัฒนามากขึ้น โอกาสทางอาชีพใหม่ๆ ก็เกิดขึ้น ตัวอย่างเช่น เตือน (Prompt Engineer) หรือ ผู้เชี่ยวชาญด้านการบูรณาการ AI (AI Integration Specialist) เป็นบทบาทที่มุ่งเน้นการสร้างข้อความแจ้งเตือน เวิร์กโฟลว์ และโครงสร้างพื้นฐานที่เหมาะสมสำหรับการใช้ AI ในผลิตภัณฑ์ อีกตัวอย่างหนึ่งคือ วิศวกรด้านจริยธรรม AI (AI Ethics Engineer) หรือ ผู้ตรวจสอบ AI (AI Auditor ) – บทบาทที่มุ่งเน้นการตรวจสอบผลลัพธ์ของ AI เพื่อหาอคติ การปฏิบัติตามกฎระเบียบ และความถูกต้อง หากคุณสนใจในด้านเหล่านี้ การวางตำแหน่งตัวเองด้วยความรู้ที่เหมาะสมอาจเปิดเส้นทางใหม่ๆ เหล่านี้ได้ แม้แต่ในบทบาทแบบดั้งเดิม คุณอาจพบช่องทางเฉพาะ เช่น "นักพัฒนาส่วนหน้า (frontend developer) ที่ใช้ AI ช่วย" เทียบกับ "นักพัฒนาส่วนหลัง (backend developer) ที่ใช้ AI ช่วย" ซึ่งแต่ละฝ่ายใช้เครื่องมือเฉพาะทาง คอยสังเกตว่าองค์กรต่างๆ จัดโครงสร้างทีมเกี่ยวกับ AI อย่างไร บริษัทบางแห่งมี "กลุ่ม AI" หรือศูนย์ความเป็นเลิศเพื่อเป็นแนวทางในการนำ AI มาใช้ในโครงการต่างๆ การมีส่วนร่วมในกลุ่มดังกล่าวจะทำให้คุณอยู่ในแถวหน้าได้ นอกจากนี้ ลองพิจารณาการมีส่วนร่วมในการพัฒนาเครื่องมือ AI เองด้วย เช่น การทำงานในโครงการโอเพนซอร์สที่ปรับปรุงเครื่องมือสำหรับนักพัฒนา (เช่น การเพิ่มความสามารถของ AI ในการอธิบายโค้ด เป็นต้น) การทำเช่นนี้ไม่เพียงแต่จะทำให้คุณเข้าใจเทคโนโลยีได้ลึกซึ้งยิ่งขึ้น แต่ยังทำให้คุณอยู่ในชุมชนที่เป็นผู้นำการเปลี่ยนแปลงอีกด้วย สิ่งสำคัญคือต้องเตรียมพร้อมสำหรับ ความคล่องตัวในอาชีพการงาน หากส่วนใดส่วนหนึ่งของงานปัจจุบันของคุณกลายเป็นระบบอัตโนมัติ จงเตรียมพร้อมที่จะเปลี่ยนไปรับบทบาทที่ออกแบบ ดูแล หรือเสริมส่วนที่เป็นระบบอัตโนมัติเหล่านั้น
7. รักษาและแสดงให้เห็นถึงคุณภาพของมนุษย์: ในโลกที่ AI สามารถสร้างโค้ดธรรมดาสำหรับปัญหาธรรมดาได้ นักพัฒนาซอฟต์แวร์ที่เป็นมนุษย์ควรพยายามสร้างสรรค์ ที่ยอดเยี่ยม และ อกเห็นใจ ซึ่ง AI ทำไม่ได้ นี่อาจหมายถึงการมุ่งเน้นไปที่ความประณีตของประสบการณ์ผู้ใช้ การเพิ่มประสิทธิภาพการทำงานสำหรับสถานการณ์ที่ไม่ปกติ หรือเพียงแค่การเขียนโค้ดที่สะอาดและมีเอกสารประกอบอย่างดี (AI ไม่เก่งในการเขียนเอกสารประกอบที่มีความหมายหรือคำอธิบายโค้ดที่เข้าใจได้ – คุณสามารถเพิ่มคุณค่าในส่วนนี้ได้!) ควรให้ความสำคัญกับการบูรณาการข้อมูลเชิงลึกของมนุษย์เข้าไปในงาน: ตัวอย่างเช่น หาก AI สร้างโค้ดขึ้นมา คุณควรเพิ่มคำอธิบายที่อธิบายเหตุผลในลักษณะที่มนุษย์คนอื่นสามารถเข้าใจได้ในภายหลัง หรือปรับเปลี่ยนให้สามารถอ่านง่ายขึ้น การทำเช่นนี้จะเพิ่มความเป็นมืออาชีพและคุณภาพที่งานที่สร้างโดยเครื่องจักรล้วนๆ ขาดไป เมื่อเวลาผ่านไป การสร้างชื่อเสียงด้านซอฟต์แวร์คุณภาพสูงที่ "ใช้งานได้จริง" ในโลกแห่งความเป็นจริงจะทำให้คุณโดดเด่น ลูกค้าและนายจ้างจะให้คุณค่ากับนักพัฒนาที่สามารถ ผสมผสานประสิทธิภาพของ AI เข้ากับฝีมือของมนุษย์ ได้
เราควรพิจารณาด้วยว่าเส้นทางการศึกษาอาจปรับตัวอย่างไร นักพัฒนาซอฟต์แวร์หน้าใหม่ที่เข้าสู่วงการไม่ควรหลีกเลี่ยงเครื่องมือ AI ในกระบวนการเรียนรู้ ตรงกันข้าม การเรียนรู้ ด้วย AI (เช่น การใช้ AI ช่วยทำการบ้านหรือโปรเจกต์ แล้ววิเคราะห์ผลลัพธ์) สามารถเร่งความเข้าใจของพวกเขาได้ อย่างไรก็ตาม สิ่งสำคัญคือต้อง เรียนรู้พื้นฐานอย่างลึกซึ้ง เช่น อัลกอริทึม โครงสร้างข้อมูล และแนวคิดหลักของการเขียนโปรแกรม เพื่อให้คุณมีรากฐานที่มั่นคงและสามารถบอกได้ว่าเมื่อใดที่ AI เริ่มทำงานผิดพลาด เนื่องจาก AI จัดการแบบฝึกหัดการเขียนโค้ดง่ายๆ หลักสูตรอาจให้ความสำคัญกับโปรเจกต์ที่ต้องใช้การออกแบบและการบูรณาการมากขึ้น หากคุณเป็นผู้เริ่มต้น ให้มุ่งเน้นไปที่การสร้างพอร์ตโฟลิโอที่แสดงให้เห็นถึงความสามารถของคุณในการแก้ปัญหาที่ซับซ้อนและใช้ AI เป็นหนึ่งในเครื่องมือมากมาย
เพื่อสรุปกลยุทธ์การปรับตัว: จงเป็นนักบิน ไม่ใช่ผู้โดยสาร ใช้เครื่องมือ AI แต่ไม่ควรพึ่งพาหรือชะล่าใจมากเกินไป จงฝึกฝนทักษะเฉพาะตัวของมนุษย์ในการพัฒนาต่อไป แกรดี้ บูช ผู้บุกเบิกด้านวิศวกรรมซอฟต์แวร์ที่ได้รับการยกย่อง กล่าวไว้อย่างดีว่า “AI จะเปลี่ยนความหมายของการเป็นโปรแกรมเมอร์ไปอย่างสิ้นเชิง มันจะไม่กำจัดโปรแกรมเมอร์ แต่จะทำให้พวกเขาต้องพัฒนาทักษะใหม่ๆ และทำงานในรูปแบบใหม่” ( อนาคตของวิศวกรซอฟต์แวร์เป็นอย่างไร? ผลกระทบของ AI [2024] ) ด้วยการพัฒนาทักษะและวิธีการทำงานใหม่ๆ อย่างเชิงรุก นักพัฒนาสามารถมั่นใจได้ว่าพวกเขายังคงเป็นผู้ควบคุมเส้นทางอาชีพของตนเอง
เพื่อสรุปเนื้อหาในส่วนนี้ นี่คือเช็คลิสต์อ้างอิงฉบับย่อสำหรับนักพัฒนาที่ต้องการเตรียมความพร้อมสำหรับอนาคตในยุค AI:
| กลยุทธ์การปรับตัว | จะทำอย่างไรดี |
|---|---|
| เรียนรู้เกี่ยวกับเครื่องมือ AI | ฝึกฝนการใช้งาน Copilot, ChatGPT และอื่นๆ เรียนรู้การสร้างข้อความแจ้งเตือนและการตรวจสอบความถูกต้องของผลลัพธ์. |
| มุ่งเน้นที่การแก้ปัญหา | พัฒนาทักษะด้านการออกแบบและสถาปัตยกรรมระบบ เน้นที่ "เหตุผล" และ "วิธีการ" ไม่ใช่แค่ "อะไร" |
| พัฒนาทักษะด้าน AI/ML | เรียนรู้พื้นฐานของแมชชีนเลิร์นนิงและวิทยาศาสตร์ข้อมูล เข้าใจวิธีการทำงานของโมเดล AI และวิธีการบูรณาการเข้าด้วยกัน. |
| เสริมสร้างทักษะด้านมนุษยสัมพันธ์ | เสริมสร้างทักษะการสื่อสาร การทำงานเป็นทีม และความเชี่ยวชาญเฉพาะด้าน เป็นสะพานเชื่อมระหว่างเทคโนโลยีและความต้องการในโลกแห่งความเป็นจริง. |
| การเรียนรู้ตลอดชีวิต | จงใฝ่รู้และเรียนรู้เทคโนโลยีใหม่ๆ อยู่เสมอ เข้าร่วมชุมชน ลงเรียนหลักสูตร และทดลองใช้เครื่องมือพัฒนา AI ใหม่ๆ. |
| สำรวจบทบาทใหม่ๆ | คอยจับตาดูบทบาทใหม่ๆ ที่กำลังเกิดขึ้น (เช่น ผู้ตรวจสอบ AI, วิศวกรระบบแจ้งเตือนอัตโนมัติ เป็นต้น) และเตรียมพร้อมที่จะปรับเปลี่ยนสายงานหากบทบาทเหล่านั้นเป็นที่สนใจของคุณ. |
| รักษาคุณภาพและจริยธรรม | ตรวจสอบคุณภาพของผลลัพธ์จาก AI เสมอ เพิ่มสัมผัสของมนุษย์เข้าไปด้วย เช่น การจัดทำเอกสาร การพิจารณาด้านจริยธรรม และการปรับแต่งที่เน้นผู้ใช้เป็นศูนย์กลาง. |
ด้วยการปฏิบัติตามกลยุทธ์เหล่านี้ นักพัฒนาสามารถใช้ประโยชน์จากการปฏิวัติ AI ได้อย่างเต็มที่ ผู้ที่ปรับตัวได้จะพบว่า AI ช่วยเพิ่ม ขีดความสามารถและทำให้พวกเขาสามารถสร้างซอฟต์แวร์ที่ดีกว่าเดิม แทนที่จะทำให้พวกเขาตกยุค
แนวโน้มในอนาคต: ความร่วมมือระหว่าง AI และนักพัฒนา
อนาคตของการเขียนโปรแกรมในโลกที่ขับเคลื่อนด้วย AI จะเป็นอย่างไร? จากแนวโน้มในปัจจุบัน เราคาดการณ์ได้ว่าอนาคตจะเป็นยุคที่ AI และนักพัฒนาซอฟต์แวร์ที่เป็นมนุษย์ทำงานร่วมกันอย่างใกล้ชิดยิ่งขึ้น บทบาทของโปรแกรมเมอร์น่าจะเปลี่ยนไปสู่บทบาทการกำกับดูแลและสร้างสรรค์ โดย AI จะรับผิดชอบงานที่ซับซ้อนมากขึ้นภายใต้การชี้นำของมนุษย์ ในส่วนสรุปนี้ เราจะคาดการณ์สถานการณ์ในอนาคตบางประการและยืนยันว่าแนวโน้มสำหรับนักพัฒนาซอฟต์แวร์ยังคงสดใสได้ ตราบใดที่เรายังคงปรับตัวต่อไป
ในอนาคตอันใกล้ (อีก 5-10 ปีข้างหน้า) มีความเป็นไปได้สูงมากที่ AI จะเข้ามามีบทบาทในกระบวนการพัฒนาซอฟต์แวร์อย่างแพร่หลายเช่นเดียวกับคอมพิวเตอร์เอง เช่นเดียวกับที่ปัจจุบันไม่มีนักพัฒนาคนไหนเขียนโค้ดโดยปราศจากโปรแกรมแก้ไขโค้ดหรือ Google/StackOverflow ในไม่ช้านักพัฒนาทุกคนก็จะเขียนโค้ดโดยปราศจากความช่วยเหลือจาก AI ในรูปแบบใดรูปแบบหนึ่งที่ทำงานอยู่เบื้องหลัง สภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE) กำลังพัฒนาไปสู่การรวมคุณสมบัติที่ขับเคลื่อนด้วย AI ไว้ในส่วนหลัก (ตัวอย่างเช่น โปรแกรมแก้ไขโค้ดที่สามารถอธิบายโค้ดให้คุณฟังหรือแนะนำการเปลี่ยนแปลงโค้ดทั้งหมดในโปรเจ็กต์) เราอาจถึงจุดที่งานหลักของนักพัฒนาคือการ กำหนดปัญหาและข้อจำกัดในลักษณะที่ AI สามารถเข้าใจได้ จากนั้นจึงคัดกรองและปรับปรุงโซลูชันที่ AI นำเสนอ สิ่งนี้คล้ายกับรูปแบบการเขียนโปรแกรมระดับสูง ซึ่งบางครั้งเรียกว่า "การเขียนโปรแกรมตามคำสั่ง" หรือ "การจัดการ AI"
อย่างไรก็ตาม สาระสำคัญของสิ่งที่ต้องทำ – การแก้ปัญหาให้กับผู้คน – ยังคงไม่เปลี่ยนแปลง ปัญญาประดิษฐ์ในอนาคตอาจสามารถสร้างแอปพลิเคชันทั้งหมดจากคำอธิบาย (“สร้างแอปมือถือสำหรับจองนัดหมายแพทย์ให้ฉัน”) แต่การทำให้คำอธิบายนั้นชัดเจนขึ้น ตรวจสอบให้แน่ใจว่าถูกต้อง และปรับแต่งผลลัพธ์ให้ถูกใจผู้ใช้ จะยังคงต้องอาศัยนักพัฒนา (รวมถึงนักออกแบบ ผู้จัดการผลิตภัณฑ์ ฯลฯ) อันที่จริง หากการสร้างแอปพลิเคชันพื้นฐานกลายเป็นเรื่องง่าย ความคิดสร้างสรรค์และนวัตกรรมของมนุษย์ในด้านซอฟต์แวร์จะยิ่งมีความสำคัญมากขึ้น ในการสร้างความแตกต่างให้กับผลิตภัณฑ์ เราอาจได้เห็นการเติบโตของซอฟต์แวร์ ที่แอปพลิเคชันทั่วไปจำนวนมากถูกสร้างขึ้นโดยปัญญาประดิษฐ์ ในขณะที่นักพัฒนาซอฟต์แวร์มุ่งเน้นไปที่โครงการที่ล้ำสมัย ซับซ้อน หรือสร้างสรรค์ ซึ่งผลักดันขอบเขตของเทคโนโลยี
นอกจากนี้ ยังมีความเป็นไปได้ที่ อุปสรรคในการเข้าสู่การเขียนโปรแกรมจะลดลง ซึ่งหมายความว่าผู้คนที่ไม่ใช่วิศวกรซอฟต์แวร์แบบดั้งเดิม (เช่น นักวิเคราะห์ธุรกิจ นักวิทยาศาสตร์ หรือนักการตลาด) จะสามารถสร้างซอฟต์แวร์โดยใช้เครื่องมือ AI ได้มากขึ้น (เป็นการต่อยอดจากกระแส "ไม่ต้องเขียนโค้ด/เขียนโค้ดน้อย" ที่ได้รับการเสริมพลังจาก AI) สิ่งนี้ไม่ได้หมายความว่าจะกำจัดความจำเป็นของนักพัฒนาซอฟต์แวร์มืออาชีพ แต่เป็นการเปลี่ยนแปลงบทบาทต่างหาก นักพัฒนาอาจรับบทบาทเป็นที่ปรึกษาหรือผู้แนะนำมากขึ้นในกรณีดังกล่าว เพื่อให้มั่นใจว่าแอปพลิเคชันที่พัฒนาโดยประชาชนเหล่านี้มีความปลอดภัย มีประสิทธิภาพ และบำรุงรักษาได้ง่าย ส่วนโปรแกรมเมอร์มืออาชีพอาจมุ่งเน้นไปที่การสร้างแพลตฟอร์มและ API ที่ "ผู้ที่ไม่ใช่โปรแกรมเมอร์" ใช้โดยอาศัยความช่วยเหลือจาก AI
จากมุมมองด้านการจ้างงาน บทบาทด้านการเขียนโปรแกรมบางอย่างอาจลดลง ในขณะที่บางอย่างอาจเติบโตขึ้น ตัวอย่างเช่น ตำแหน่งงานเขียนโค้ดระดับเริ่มต้น อาจลดจำนวนลง หากบริษัทต่างๆ หันมาใช้ AI สำหรับงานง่ายๆ เราอาจนึกภาพสตาร์ทอัพขนาดเล็กในอนาคตที่ต้องการนักพัฒนาซอฟต์แวร์ระดับจูเนียร์เพียงครึ่งหนึ่ง เพราะนักพัฒนาซอฟต์แวร์ระดับอาวุโสที่ใช้ AI สามารถทำงานพื้นฐานส่วนใหญ่ได้ แต่ในขณะเดียวกัน งานใหม่ๆ (ดังที่เราได้กล่าวถึงในส่วนของการปรับตัว) ก็จะเกิดขึ้น นอกจากนี้ เมื่อซอฟต์แวร์แทรกซึมเข้าไปในระบบเศรษฐกิจมากขึ้น (โดย AI สร้างซอฟต์แวร์สำหรับความต้องการเฉพาะกลุ่ม) ความต้องการโดยรวมของงานที่เกี่ยวข้องกับซอฟต์แวร์ก็อาจเพิ่มขึ้นอย่างต่อเนื่อง ประวัติศาสตร์แสดงให้เห็นว่า ระบบอัตโนมัติมักนำไปสู่ มากขึ้น ในระยะยาว แม้ว่าจะเป็นงานที่แตกต่างกันก็ตาม ตัวอย่างเช่น การใช้ระบบอัตโนมัติในงานการผลิตบางอย่างนำไปสู่การเติบโตของงานด้านการออกแบบ การบำรุงรักษา และการปรับปรุงระบบอัตโนมัติ ในบริบทของ AI และการเขียนโปรแกรม แม้ว่างานบางอย่างที่นักพัฒนาซอฟต์แวร์ระดับเริ่มต้นเคยทำจะถูกทำให้เป็นระบบอัตโนมัติแล้ว แต่ขอบเขตโดยรวมของซอฟต์แวร์ที่เราต้องการสร้างนั้นขยายตัวมากขึ้น (เพราะตอนนี้การสร้างซอฟต์แวร์ทำได้ถูกกว่าและเร็วกว่า) ซึ่งอาจนำไปสู่ ที่มากขึ้น และด้วยเหตุนี้จึงต้องการการกำกับดูแลจากมนุษย์ การจัดการโครงการ สถาปัตยกรรม ฯลฯ มากขึ้น รายงานของ World Economic Forum เกี่ยวกับงานในอนาคตชี้ให้เห็นว่า บทบาทในด้านการพัฒนาซอฟต์แวร์และ AI เป็นหนึ่งในบทบาทที่ เพิ่มขึ้น ไม่ใช่ลดลง เนื่องจากการเปลี่ยนแปลงทางดิจิทัล
เราควรพิจารณาถึง การคาดการณ์ปี 2040 ที่กล่าวถึงไปก่อนหน้านี้ด้วย: นักวิจัยจากห้องปฏิบัติการแห่งชาติโอ๊คริดจ์แนะนำว่าภายในปี 2040 “เครื่องจักร…จะเขียนโค้ดส่วนใหญ่ด้วยตัวเอง” ( อนาคตของวิศวกรซอฟต์แวร์ยังมีอยู่หรือไม่? ผลกระทบของ AI [2024] ) หากเป็นเช่นนั้นจริง โปรแกรมเมอร์ที่เป็นมนุษย์จะเหลืออะไรไว้บ้าง? เป็นไปได้ว่าจุดสนใจจะอยู่ที่การให้คำแนะนำระดับสูงมาก (บอกเครื่องจักรว่า เรา ต้องการให้พวกมันทำอะไรในภาพรวม) และในด้านที่เกี่ยวข้องกับการบูรณาการระบบที่ซับซ้อน ความเข้าใจในจิตวิทยาของมนุษย์ หรือโดเมนปัญหาใหม่ๆ แม้ในสถานการณ์เช่นนั้น มนุษย์ก็จะยังคงมีบทบาทคล้ายกับ นักออกแบบผลิตภัณฑ์ วิศวกรด้านข้อกำหนด และ ผู้ฝึกสอน/ผู้ตรวจสอบ AI โค้ดอาจเขียนขึ้นเองได้เป็นส่วนใหญ่ แต่ก็ต้องมีคนตัดสินใจว่า ควรเขียนโค้ดอะไรและทำไม จากนั้นจึงตรวจสอบว่าผลลัพธ์สุดท้ายถูกต้องและสอดคล้องกับเป้าหมาย มันคล้ายคลึงกับกรณีที่รถยนต์ไร้คนขับอาจขับเคลื่อนได้เองในอนาคต แต่คุณก็ยังคงบอกรถว่าจะไปที่ไหนและเข้าไปแทรกแซงในสถานการณ์ที่ซับซ้อนอยู่ดี – นอกจากนี้มนุษย์ยังเป็นผู้ออกแบบถนน กฎจราจร และโครงสร้างพื้นฐานทั้งหมดที่เกี่ยวข้องด้วย
ผู้เชี่ยวชาญส่วนใหญ่จึงมองเห็นอนาคตแห่ง ความร่วมมือ ไม่ใช่การทดแทนกัน ดังที่บริษัทที่ปรึกษาด้านเทคโนโลยีแห่งหนึ่งกล่าวไว้ว่า “อนาคตของการพัฒนาไม่ใช่การเลือกระหว่างมนุษย์หรือ AI แต่เป็นความร่วมมือที่ใช้ประโยชน์จากสิ่งที่ดีที่สุดของทั้งสองฝ่าย” ( AI จะเข้ามาแทนที่นักพัฒนาในปี 2025 หรือไม่: มองอนาคตแบบคร่าวๆ ) AI จะเปลี่ยนแปลงการพัฒนาซอฟต์แวร์อย่างไม่ต้องสงสัย แต่เป็นการวิวัฒนาการของบทบาทของนักพัฒนามากกว่าการสูญพันธุ์ นักพัฒนาที่ “ยอมรับการเปลี่ยนแปลง ปรับทักษะของตน และมุ่งเน้นไปที่แง่มุมที่เป็นเอกลักษณ์ของมนุษย์ในงานของตน” จะพบว่า AI ช่วยเพิ่มขีด ความสามารถของพวกเขามากกว่าที่จะลดคุณค่าของพวกเขาลง
เราสามารถเปรียบเทียบกับอีกสาขาหนึ่งได้ ลองพิจารณาการเติบโตของโปรแกรมช่วยออกแบบ (CAD) ในด้านวิศวกรรมและสถาปัตยกรรม เครื่องมือเหล่านั้นเข้ามาแทนที่วิศวกรและสถาปนิกหรือไม่? ไม่เลย – มันทำให้พวกเขามีประสิทธิภาพมากขึ้นและช่วยให้พวกเขาสร้างสรรค์งานออกแบบที่ซับซ้อนยิ่งขึ้นได้ แต่ความคิดสร้างสรรค์และการตัดสินใจของมนุษย์ยังคงเป็นหัวใจสำคัญ ในทำนองเดียวกัน AI สามารถมองได้ว่าเป็นโปรแกรมช่วยเขียนโค้ด – มันจะช่วยจัดการกับความซับซ้อนและงานที่ซ้ำซากจำเจ แต่ผู้พัฒนาซอฟต์แวร์ยังคงเป็นผู้ออกแบบและผู้ตัดสินใจ.
ในระยะยาว หากเราจินตนาการถึง AI ที่ก้าวหน้าอย่างแท้จริง (เช่น AI ทั่วไปบางรูปแบบที่ สามารถ ทำสิ่งที่มนุษย์ทำได้เกือบทั้งหมด) การเปลี่ยนแปลงทางสังคมและเศรษฐกิจจะกว้างขวางกว่าแค่การเขียนโปรแกรม เรายังไปไม่ถึงจุดนั้น และเรามีอำนาจควบคุมอย่างมากในการบูรณาการ AI เข้ากับการทำงานของเรา เส้นทางที่รอบคอบคือการบูรณาการ AI อย่างต่อเนื่องในรูปแบบที่ เสริมศักยภาพของมนุษย์ นั่นหมายถึงการลงทุนในเครื่องมือและแนวปฏิบัติ (และนโยบาย) ที่ทำให้มนุษย์ยังคงมีส่วนร่วมอยู่แล้ว เราเห็นบริษัทต่างๆ เริ่มจัดตั้ง การกำกับดูแล AI – แนวทางสำหรับวิธีการใช้ AI ในการพัฒนาเพื่อให้มั่นใจถึงผลลัพธ์ที่มีจริยธรรมและมีประสิทธิภาพ ( แบบสำรวจเผยผลกระทบของ AI ต่อประสบการณ์ของนักพัฒนา - The GitHub Blog ) แนวโน้มนี้มีแนวโน้มที่จะเติบโตขึ้นเรื่อยๆ ทำให้มั่นใจได้ว่าการกำกับดูแลโดยมนุษย์เป็นส่วนหนึ่งของกระบวนการพัฒนา AI อย่างเป็นทางการ
โดยสรุปแล้ว คำถามที่ว่า “AI จะมาแทนที่โปรแกรมเมอร์หรือไม่?” สามารถตอบได้ว่า ไม่ – แต่ AI จะเปลี่ยนวิธีการทำงานของโปรแกรมเมอร์อย่างมาก ส่วนที่น่าเบื่อของการเขียนโปรแกรมกำลังจะถูกทำให้เป็นระบบอัตโนมัติมากขึ้น ส่วนที่สร้างสรรค์ ท้าทาย และเน้นมนุษย์เป็นศูนย์กลางจะยังคงอยู่ และแน่นอนว่าจะมีความสำคัญมากขึ้น ในอนาคต โปรแกรมเมอร์อาจทำงานเคียงข้างกับผู้ช่วย AI ที่ฉลาดขึ้นเรื่อยๆ เหมือนกับสมาชิกในทีม ลองนึกภาพว่ามีเพื่อนร่วมงาน AI ที่สามารถเขียนโค้ดได้ตลอด 24 ชั่วโมง 7 วันต่อสัปดาห์ – มันช่วยเพิ่มประสิทธิภาพการทำงานได้อย่างมาก แต่ก็ยังต้องการคนคอยบอกว่าควรทำงานอะไรบ้างและตรวจสอบงานของมันอยู่ดี
ผลลัพธ์ที่ดีที่สุด จะ เกิดขึ้นได้จากผู้ที่มองว่า AI เป็นผู้ร่วมงาน ดังที่ซีอีโอคนหนึ่งกล่าวไว้ว่า “AI จะไม่เข้ามาแทนที่โปรแกรมเมอร์ แต่โปรแกรมเมอร์ที่ใช้ AI จะเข้ามาแทนที่ผู้ที่ไม่ใช้” ในทางปฏิบัติแล้ว นั่นหมายความว่าภาระอยู่ที่นักพัฒนาที่จะต้องพัฒนาไปพร้อมกับเทคโนโลยี อาชีพโปรแกรมเมอร์ไม่ได้กำลังจะตาย แต่กำลัง ปรับตัว จะมีซอฟต์แวร์ให้สร้างและปัญหาให้แก้ไขมากมายในอนาคตอันใกล้ อาจจะมากกว่าในปัจจุบันด้วยซ้ำ ด้วยการเรียนรู้เพิ่มเติม มีความยืดหยุ่น และมุ่งเน้นในสิ่งที่มนุษย์ทำได้ดีที่สุด นักพัฒนาสามารถสร้างอาชีพที่ประสบความสำเร็จและน่าพึงพอใจ ร่วมกับ AI ได้
สุดท้ายนี้ เป็นเรื่องที่น่ายินดีที่เรากำลังเข้าสู่ยุคที่นักพัฒนาซอฟต์แวร์มีพลังพิเศษอยู่ในมือ โปรแกรมเมอร์รุ่นใหม่จะทำงานที่เคยใช้เวลาหลายวันให้เสร็จได้ภายในไม่กี่ชั่วโมง และแก้ไขปัญหาที่เคยเป็นไปไม่ได้ด้วยการใช้ประโยชน์จาก AI แทนที่จะหวาดกลัว ความรู้สึกในอนาคตควรเป็นไปในทาง ที่ดีและความอยากรู้อยากเห็น ตราบใดที่เราเข้าหา AI ด้วยความเข้าใจอย่างถ่องแท้ – ตระหนักถึงข้อจำกัดของมันและคำนึงถึงความรับผิดชอบของเรา – เราสามารถสร้างอนาคตที่ AI และโปรแกรมเมอร์ร่วมกันสร้างระบบซอฟต์แวร์ที่น่าทึ่ง ซึ่งเหนือกว่าสิ่งที่แต่ละฝ่ายจะทำได้เพียงลำพัง ความคิดสร้างสรรค์ของมนุษย์ที่ผสานกับประสิทธิภาพของเครื่องจักร เป็นส่วนผสมที่ทรงพลัง ในท้ายที่สุดแล้ว มันไม่ใช่เรื่องของ การทดแทน แต่เป็นเรื่องของความร่วมมือ เรื่องราวของ AI และโปรแกรมเมอร์ยังคงดำเนินต่อไป – และมันจะถูกเขียนขึ้นโดย ทั้ง มนุษย์และเครื่องจักรไปด้วยกัน
แหล่งที่มา:
-
Brainhub, “อนาคตของวิศวกรซอฟต์แวร์จะเป็นอย่างไร? ผลกระทบของ AI [2024]” ( อนาคตของวิศวกรซอฟต์แวร์จะเป็นอย่างไร? ผลกระทบของ AI [2024] )
-
Brainhub, คำคมจากผู้เชี่ยวชาญ Satya Nadella และ Jeff Dean เกี่ยวกับ AI ในฐานะเครื่องมือ ไม่ใช่สิ่งทดแทน ( อนาคตของวิศวกรซอฟต์แวร์จะเป็นอย่างไร? ผลกระทบของ AI [2024] ) ( อนาคตของวิศวกรซอฟต์แวร์จะเป็นอย่างไร? ผลกระทบของ AI [2024] )
-
บทความใน Medium (PyCoach) เรื่อง “AI จะเข้ามาแทนที่โปรแกรมเมอร์หรือไม่? ความจริงเบื้องหลังกระแส” ได้ชี้ให้เห็นถึงความแตกต่างระหว่างความเป็นจริงกับกระแส ( AI จะเข้ามาแทนที่โปรแกรมเมอร์หรือไม่? ความจริงเบื้องหลังกระแส | โดย The PyCoach | Artificial Corner | มี.ค. 2025 | Medium ) และคำกล่าวของ Sam Altman ที่ว่า AI เก่งในด้านงานเฉพาะทาง แต่ไม่สามารถทำงานเต็มเวลาได้
-
DesignGurus, “AI จะเข้ามาแทนที่นักพัฒนาซอฟต์แวร์หรือไม่… (2025)” เน้นย้ำว่า AI จะ เสริมศักยภาพ และยกระดับนักพัฒนาซอฟต์แวร์มากกว่าที่จะทำให้พวกเขาตกงาน ( AI จะเข้ามาแทนที่นักพัฒนาซอฟต์แวร์ในปี 2025 หรือไม่: มองอนาคตแบบคร่าวๆ ) และระบุถึงจุดที่ AI ยังตามหลังอยู่ (ความคิดสร้างสรรค์ บริบท จริยธรรม)
-
แบบสำรวจนักพัฒนา Stack Overflow ปี 2023 พบว่า 70% ของนักพัฒนาใช้เครื่องมือ AI แต่มีความเชื่อมั่นในความแม่นยำต่ำ (3% เชื่อมั่นสูง) ( 70% ของนักพัฒนาใช้เครื่องมือเขียนโค้ด AI, 3% เชื่อมั่นในความแม่นยำสูง - ShiftMag )
-
ผลสำรวจ GitHub ปี 2023 แสดงให้เห็นว่า 92% ของนักพัฒนาได้ลองใช้เครื่องมือเขียนโค้ดด้วย AI และ 70% เห็นถึงประโยชน์ ( ผลสำรวจเผยผลกระทบของ AI ต่อประสบการณ์ของนักพัฒนา - บล็อกของ GitHub )
-
ผลการวิจัย GitHub Copilot พบว่า การทำงานต่างๆ เสร็จเร็วขึ้น 55% ด้วยความช่วยเหลือจาก AI ( งานวิจัย: การวัดผลกระทบของ GitHub Copilot ต่อประสิทธิภาพการทำงานและความสุขของนักพัฒนา - The GitHub Blog )
-
GeekWire รายงานว่า AlphaCode ของ DeepMind ทำงานได้ในระดับเฉลี่ยของโปรแกรมเมอร์ทั่วไป (อยู่ในกลุ่ม 54% แรก) แต่ยังห่างไกลจากผู้ที่ทำได้ดีที่สุด ( AlphaCode ของ DeepMind มีความสามารถเทียบเท่ากับโปรแกรมเมอร์โดยเฉลี่ย )
-
IndiaToday (กุมภาพันธ์ 2025) สรุปวิสัยทัศน์ของแซม อัลท์แมนเกี่ยวกับ AI ที่จะทำหน้าที่เป็น "เพื่อนร่วมงาน" ทำงานแทนวิศวกรฝึกหัด แต่ "จะไม่เข้ามาแทนที่มนุษย์โดยสมบูรณ์" ( แซม อัลท์แมนกล่าวว่า AI จะทำงานที่วิศวกรซอฟต์แวร์ทำได้ในเร็ววัน: อ่านเรื่องเต็มได้ใน 5 ประเด็น - India Today )
-
บริษัท McKinsey & Company ประเมินว่างานด้านการเขียนโปรแกรมประมาณ 80% จะยังคงต้องอาศัยมนุษย์เป็นศูนย์กลาง แม้ว่าจะ มีการนำระบบอัตโนมัติมาใช้ก็ตาม (อนาคตของวิศวกรซอฟต์แวร์จะเป็นอย่างไร? ผลกระทบของ AI [2024] )
บทความที่คุณอาจสนใจอ่านต่อหลังจากบทความนี้:
🔗 เครื่องมือ AI สำหรับการเขียนโปรแกรมแบบคู่ชั้น
นำ สำรวจเครื่องมือ AI ชั้นนำที่สามารถทำงานร่วมกับคุณได้เสมือนเป็นคู่หูในการเขียนโค้ด เพื่อเพิ่มประสิทธิภาพเวิร์กโฟลว์การพัฒนาของคุณ
🔗 AI ตัวไหนดีที่สุดสำหรับการเขียนโค้ด – ผู้ช่วยเขียนโค้ด AI ชั้น
นำ คู่มือสำหรับเครื่องมือ AI ที่มีประสิทธิภาพที่สุดสำหรับการสร้างโค้ด การแก้ไขข้อผิดพลาด และการเร่งความเร็วโครงการซอฟต์แวร์
🔗 การพัฒนาซอฟต์แวร์ปัญญาประดิษฐ์ – พลิกโฉมอนาคตของเทคโนโลยี
ทำความเข้าใจว่า AI กำลังปฏิวัติวิธีการสร้าง ทดสอบ และใช้งานซอฟต์แวร์อย่างไร