ชุมชนเทคโนโลยีกำลังถกเถียงกันอย่างคึกคักเกี่ยวกับเครื่องมือช่วยเขียนโค้ด AI ว่าช่วยเหลือนักพัฒนาจริงหรือกลับสร้างปัญหาใหม่ ในขณะที่บริษัทต่างๆ รีบนำเครื่องมือ AI อย่าง ChatGPT และ GitHub Copilot มาใช้ในกระบวนการทำงาน โปรแกรมเมอร์ที่มีประสบการณ์หลายคนกลับพบว่าเครื่องมือเหล่านี้มักสร้างงานมากกว่าที่จะช่วยลดงาน
ช่องว่างระหว่างสิ่งที่สัญญาและความเป็นจริง
เครื่องมือช่วยเขียนโค้ด AI ควรจะปฏิวัติการพัฒนาซอฟต์แวร์โดยให้ทุกคนสามารถเขียนโค้ดผ่านคำสั่งภาษาอังกฤษง่ายๆ แต่ความเป็นจริงกลับซับซ้อนกว่านั้นมาก นักพัฒนารายงานว่าต้องใช้เวลามากในการแก้ไขโค้ดที่ AI สร้างขึ้น แก้ไขข้อผิดพลาดที่ไม่ชัดเจน และอธิบายให้เพื่อนร่วมงานที่ไม่มีพื้นฐานทางเทคนิคฟังว่าทำไมแอปพลิเคชันที่ AI สร้างขึ้นจึงไม่ทำงานตามที่คาดหวัง
ชุมชนสังเกตเห็นรูปแบบที่น่าเป็นห่วง เครื่องมือ AI เก่งในการสร้างโค้ดที่ดูเป็นมืออาชีพและทำงานได้ในตอนแรก แต่มักมีบั๊กเล็กๆ น้อยๆ หรือช่องโหว่ด้านความปลอดภัยที่จะเห็นได้ชัดเจนในภายหลัง สิ่งนี้สร้างความมั่นใจที่ผิดๆ ให้กับผู้ใช้ที่ขาดพื้นฐานทางเทคนิคในการสังเกตปัญหาเหล่านี้
เศรษฐกิจทีมทำความสะอาด
แนวโน้มที่น่าสนใจได้เกิดขึ้นบนแพลตฟอร์มฟรีแลนซ์อย่าง Upwork ที่นักพัฒนาที่มีประสบการณ์พบงานสม่ำเสมอในการแก้ไขแอปพลิเคชันที่ AI สร้างขึ้น ลูกค้าหลายรายพยายามสร้างซอฟต์แวร์โดยใช้เครื่องมือ AI แต่กลับพบว่าได้สร้างระบบที่เสียหายโดยพื้นฐานหรือไม่ปลอดภัย สิ่งนี้สร้างสิ่งที่บางคนเรียกว่าเศรษฐกิจทีมทำความสะอาด ที่นักพัฒนาที่มีทักษะถูกจ้างมาช่วยกู้โปรเจกต์ที่ AI สร้างขึ้น
รูปแบบนี้คล้ายคลึงกับคลื่นเทคโนโลยีในอดีตที่ผู้ใช้ที่ไม่มีพื้นฐานทางเทคนิคได้รับสัญญาว่าสามารถข้ามนักพัฒนามืออาชีพได้โดยสิ้นเชิง ตั้งแต่ไวยากรณ์ที่เหมือนภาษาอังกฤษของ COBOL ในทศวรรษ 1960 ไปจนถึงเครื่องมือการเขียนโปรแกรมแบบภาพในทศวรรษ 1990 เครื่องมือการเขียนโปรแกรมที่ทำให้เป็นประชาธิปไตยในแต่ละยุคสมัยล้วนต้องการความเชี่ยวชาญของมืออาชีพในการนำไปใช้อย่างเหมาะสม
ความพยายาม "ประชาธิปไตยในการเขียนโปรแกรม" ในอดีต:
- 1960s COBOL: สัญญาว่าจะมีไวยากรณ์คล้ายภาษาอังกฤษสำหรับคนที่ไม่ใช่โปรแกรมเมอร์
- 1970s FORTRAN: ทำการตลาดในฐานะ "การเขียนโปรแกรมอัตโนมัติ"
- 1980s-90s Visual Tools: Delphi , FrontPage , Flash สัญญาว่าจะมีการพัฒนาแบบลากและวาง
- 2000s SQL: ภาษาแบบ declarative ที่มีจุดประสงค์เพื่อขจัดการเขียนโปรแกรมที่ซับซ้อน
- 2020s AI Tools: การสร้างโค้ดจากภาษาธรรมชาติ
ความขัดแย้งในการเรียนรู้
แม้ว่าเครื่องมือ AI สามารถช่วยให้ผู้เริ่มต้นเข้าสู่การเขียนโปรแกรมได้ แต่อาจขัดขวางการเรียนรู้อย่างลึกซึ้ง โปรแกรมเมอร์มือใหม่ที่ใช้ผู้ช่วย AI มักข้ามแนวคิดพื้นฐานอย่างโครงสร้างข้อมูล อัลกอริทึม และการออกแบบระบบ สิ่งนี้สร้างนักพัฒนาที่สามารถสร้างโค้ดได้อย่างรวดเร็วแต่ประสบปัญหาในการแก้ไขปัญหาที่ซับซ้อนหรือปรับปรุงประสิทธิภาพ
ฉันเหนื่อยหมดแรงหลังจาก 30 นาทีของการ 'พูดคุย' กับ LLM ซึ่งโดยพื้นฐานแล้วเป็นคนโง่ที่มั่นใจตัวเองมากเกินไป
อย่างไรก็ตาม นักพัฒนาบางคนประสบความสำเร็จในการใช้ AI เป็นเครื่องมือช่วยการเรียนรู้มากกว่าการใช้แทนที่ความเข้าใจ พวกเขาใช้เครื่องมือเหล่านี้เพื่อสำรวจแนวคิดใหม่และแก้ไขปัญหาเฉพาะ ในขณะที่ยังคงลงทุนเวลาในการเรียนรู้หลักการพื้นฐาน
ปัญหาทางสังคมยังคงอยู่
บางทีข้อมูลเชิงลึกที่สำคัญที่สุดจากการอภิปรายของชุมชนคือการเขียนโค้ดเป็นเพียงส่วนเล็กๆ ของงานจริงของนักพัฒนา ความท้าทายในการเขียนโปรแกรมส่วนใหญ่เป็นเรื่องทางสังคมและองค์กร การเข้าใจความต้องการทางธุรกิจ การสื่อสารกับผู้มีส่วนได้ส่วนเสีย และการออกแบบระบบที่แก้ปัญหาจริง
เครื่องมือ AI สามารถสร้างโค้ดได้อย่างรวดเร็ว แต่ไม่สามารถจัดการการเมืองในสำนักงาน ชี้แจงข้อกำหนดที่คลุมเครือ หรือตัดสินใจเชิงกลยุทธ์ทางเทคนิค ทักษะที่เน้นมนุษย์เหล่านี้กลายเป็นสิ่งที่มีค่ามากขึ้นเมื่ออุปสรรคทางเทคนิคในการสร้างโค้ดยังคงลดลง
บริบทการจ้างงานนักพัฒนาซอฟต์แวร์ในปัจจุบัน:
- อัตราการว่างงานของนักพัฒนาซอฟต์แวร์: 2.4% - 6% (ตัวเลขที่มีการโต้แย้ง)
- การเลิกจ้างงานครั้งใหญ่ในบริษัทเทคโนโลยียังคงดำเนินต่อไปตั้งแต่ปี 2022
- การแข่งขันที่เพิ่มขึ้นจากแรงงานระยะไกลทั่วโลก
- ความต้องการที่เพิ่มขึ้นสำหรับบริการทำความสะอาดและแก้ไขข้อบกพร่อง AI ในแพลตฟอร์มฟรีแลนซ์
มองไปข้างหน้า
ความเห็นพ้องต้องกันในหมู่นักพัฒนาที่มีประสบการณ์คือเครื่องมือช่วยเขียนโค้ด AI เป็นเครื่องมือช่วยที่ทรงพลังแต่เป็นตัวแทนที่แย่สำหรับความเชี่ยวชาญของมนุษย์ องค์กรที่ปฏิบัติต่อเครื่องมือเหล่านี้เป็นมาตรการลดต้นทุนมากกว่าตัวเพิ่มประสิทธิภาพอาจพบว่าตัวเองมีระบบที่ดูใช้งานได้แต่ขาดความแข็งแกร่งและความปลอดภัยที่จำเป็นสำหรับการใช้งานในโลกแห่งความเป็นจริง
นักพัฒนาที่ประสบความสำเร็จมากที่สุดคือผู้ที่ยอมรับเครื่องมือ AI ในขณะที่ยังคงมุ่งเน้นไปที่ทักษะพื้นฐานและความเชี่ยวชาญในสาขา แทนที่จะกลัวการถูกแทนที่ หลายคนพบว่า AI ช่วยให้พวกเขาจัดการโปรเจกต์ที่ท้าทายมากขึ้นและใช้เวลาน้อยลงกับงานที่ซ้ำซาก
เมื่อเทคโนโลยียังคงพัฒนาต่อไป คำถามสำคัญไม่ใช่ว่า AI จะแทนที่โปรแกรมเมอร์หรือไม่ แต่เป็นว่าอาชีพนี้จะปรับตัวอย่างไรเพื่อรวมความสามารถใหม่เหล่านี้เข้าไปในขณะที่รักษาทักษะการคิดเชิงวิพากษ์และการแก้ปัญหาที่ยังคงเป็นเอกลักษณ์ของมนุษย์
อ้างอิง: Now might be the best time to learn software development