เครื่องมือ AI สำหรับเขียนโค้ดสร้างบทบาทการจัดการใหม่ แต่ลดความพึงพอใจของนักพัฒนา

ทีมชุมชน BigGo
เครื่องมือ AI สำหรับเขียนโค้ดสร้างบทบาทการจัดการใหม่ แต่ลดความพึงพอใจของนักพัฒนา

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

วิวัฒนาการบทบาทของนักพัฒนาด้วยเครื่องมือ AI

นักพัฒนาแบบดั้งเดิม นักพัฒนาที่ได้รับความช่วยเหลือจาก AI
เขียนโค้ดด้วยตนเอง 100% จัดการ 70%, เขียนโค้ด 30%
แก้ปัญหาโดยตรง วิศวกรรมการสั่งงานและการดูแล
การใช้งานทางเทคนิคเชิงลึก สถาปัตยกรรมระดับสูงและการประสานงาน
ความพึงพอใจจากการเขียนโค้ดทันที การตอบสนองของโดปามีนที่ล่าช้า/ลดลง
การรักษาทักษะผ่านการใช้งาน ความเสี่ยงของการเสื่อมสลายของทักษะ

ปัญหาโดปามีน: เมื่อความง่ายกลายเป็นสิ่งที่ไม่น่าพอใจ

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

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

การเสื่อมสลายของทักษะ: ความจริงของการใช้หรือสูญเสีย

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

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

ความท้าทายในการควบคุมคุณภาพ

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

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

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

ปัญหาทั่วไปของเครื่องมือเขียนโค้ด AI ที่มีการรายงาน

  • ปัญหาคุณภาพโค้ด: ขาดโครงสร้างเชิงตรรกะ การใช้ global state มากเกินไป
  • ความท้าทายในการบำรุงรักษา: ความยากลำบากในการทำความเข้าใจและแก้ไขข้อผิดพลาดของโค้ดที่ AI สร้างขึ้น
  • ข้อจำกัดด้านบริบท: ประสิทธิภาพที่ไม่ดีกับ codebase ที่มีอยู่และ technical debt
  • การพึ่งพาทักษะ: ความสามารถในการแก้ปัญหาลดลงเมื่อไม่มี AI ช่วยเหลือ
  • ช่องว่างด้านสถาปัตยกรรม: ขาด design pattern ที่สอดคล้องกันในโค้ดที่สร้างขึ้น

ผลลัพธ์ที่หลากหลายในการใช้งานจริง

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

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

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

อ้างอิง: You're all CTO now