สรุป talk เรื่อง where is sw development going?


𝟏. 𝐓𝐡𝐞 𝐒𝐭𝐚𝐭𝐞 𝐨𝐟 𝐭𝐡𝐞 𝐒𝐨𝐟𝐭𝐰𝐚𝐫𝐞 𝐈𝐧𝐝𝐮𝐬𝐭𝐫𝐲

Software industry ได้พัฒนามาจนถึงจุดที่ Agile และ Continuous Delivery ไม่ใช่เรื่องใหม่อีกต่อไป แต่กลายเป็นมาตรฐานแทนการ Release Cycle แบบเดิม ๆ ไปซะแล้ว ส่วนใหญ่เป็นการปล่อยอัปเดตแบบ Quarterly หรือ On-Demand

ทีมงาน Cross-functional กลายเป็นเรื่องปกติ ลดปัญหาการทำงานแบบ Bureaucratic (คล้ายองค์กรรัฐ) อย่างไรก็ตาม การใช้ Agile อย่างแพร่หลายทำให้หลายคนรู้สึกว่ามัน “น่าเบื่อ” แต่จริง ๆ แล้ว Agile ไม่ได้ตายไปไหน มันแค่กลายเป็นส่วนหนึ่งของอุตสาหกรรมโดยสมบูรณ์แล้ว (Agile every where 😁)

𝟐. 𝐂𝐡𝐚𝐥𝐥𝐞𝐧𝐠𝐞𝐬 𝐢𝐧 𝐒𝐨𝐟𝐭𝐰𝐚𝐫𝐞 𝐃𝐞𝐯𝐞𝐥𝐨𝐩𝐦𝐞𝐧𝐭

Software Developer นปัจจุบันต้องรับภาระมากขึ้นกว่าแต่ก่อน แม้ว่า Agile จะช่วยให้กระบวนการทำงานมีประสิทธิภาพมากขึ้น แต่ก็ทำให้ความคาดหวังสูงขึ้นด้วย นักพัฒนาไม่ได้แค่เขียนโค้ดอีกต่อไป แต่ยังต้องจัดการเรื่อง DevOps, Security, Infrastructure และติดต่อกับ Business Stakeholders

Developer รุ่นใหม่ต้องเรียนรู้ทักษะมากมายที่มหาวิทยาลัยไม่ได้สอน ความท้าทายที่สำคัญคือการหาสมดุลระหว่าง Productivity และ Developer Well-being เพื่อให้ทีมทำงานได้อย่างมีประสิทธิภาพโดยไม่เกิด 𝐁𝐮𝐫𝐧𝐨𝐮𝐭

𝟑. 𝐀𝐠𝐢𝐥𝐞’𝐬 𝐄𝐯𝐨𝐥𝐮𝐭𝐢𝐨𝐧 𝐚𝐧𝐝 𝐌𝐢𝐬𝐢𝐧𝐭𝐞𝐫𝐩𝐫𝐞𝐭𝐚𝐭𝐢𝐨𝐧

หลักการของ Agile มุ่งเน้นไปที่ความสามารถในการปรับตัว การทำงานร่วมกัน และการส่งมอบ Software ที่ใช้งานได้จริง อย่างไรก็ตาม หลายองค์กรนำ Agile ไปใช้แบบผิด ๆ และมุ่งเน้นไปที่ Framework แทนที่จะเป็น Mindset เช่น SAFe และ Scrum ถูกใช้อย่างแข็งทื่อ ขัดแย้งกับแนวคิดดั้งเดิมของ Agile

หลายองค์กรอ้างว่าทำ Agile แต่ยังคงทำงานแบบ Waterfall อยู่ สิ่งสำคัญคือเราต้องให้ความสำคัญกับ True Agility ที่เน้นการส่งมอบคุณค่า แทนที่จะทำตามกระบวนการที่เข้มงวดโดยไม่มีเหตุผล

𝟒. 𝐓𝐡𝐞 𝐅𝐮𝐭𝐮𝐫𝐞 𝐨𝐟 𝐒𝐨𝐟𝐭𝐰𝐚𝐫𝐞 𝐃𝐞𝐯𝐞𝐥𝐨𝐩𝐦𝐞𝐧𝐭

อนาคตของ Software Development อาจไม่ใช่การเขียน Code ให้มากขึ้น แต่เป็นการเขียนให้น้อยลง เหมือนกับ Surgery ที่เน้นการผ่าตัดที่เล็กที่สุดเพื่อให้เกิดผลลัพธ์ที่ดีที่สุด Software Engineer ควรมุ่งเน้นไปที่ Minimalism & Efficiency มากกว่าการ Create Code จำนวนมาก

AI อาจช่วยในเรื่อง Automation แต่ความเชี่ยวชาญของมนุษย์ในการนิยามปัญหา ออกแบบระบบ และตรวจสอบความถูกต้องของซอฟต์แวร์ จะยังคงมีความสำคัญอย่างมาก

𝟓. 𝐓𝐡𝐞 𝐑𝐨𝐥𝐞 𝐨𝐟 𝐀𝐈 𝐢𝐧 𝐒𝐨𝐟𝐭𝐰𝐚𝐫𝐞 𝐄𝐧𝐠𝐢𝐧𝐞𝐞𝐫𝐢𝐧𝐠

AI ไม่ได้ถูกสร้างมาเพื่อแทนที่ Developer แต่เพื่อช่วยเสริมความสามารถให้

Generative AI สามารถช่วยสร้าง Boilerplate Code อธิบาย Login ที่ซับซ้อน หรือแม้แต่สร้าง Test Cases อย่างไรก็ตาม AI ยังขาดความสามารถในการให้เหตุผลเชิงลึก การจัดการ Long-term Maintainability และ Business Context เราควรใช้ AI เป็น “Smart Assistant” มากกว่ามองว่ามันเป็น Automate Dev อนาคตของ AI ในการพัฒนา Software คือการปรับปรุงความสามารถในการช่วยเหลือ Developer ไม่ใช่การแทนที่พวกเขา

𝟔. 𝐒𝐞𝐜𝐮𝐫𝐢𝐭𝐲 & 𝐒𝐨𝐟𝐭𝐰𝐚𝐫𝐞 𝐐𝐮𝐚𝐥𝐢𝐭𝐲

Software Security และ Software Quality เป็นสิ่งที่เชื่อมโยงกัน หากออกแบบ Software ไม่ดี จะสร้างช่องโหว่ที่อาจถูกโจมตีได้ หนึ่งในแนวทางที่ดีคือการใช้ Modular Architecture ซึ่งแต่ละองค์ประกอบของระบบจะถือว่าองค์ประกอบอื่นอาจถูกโจมตีได้ Threat Modeling ควรเป็นสิ่งที่ทำเป็นประจำเพื่อระบุความเสี่ยงล่วงหน้า การลงทุนในคุณภาพของ Software ไม่ได้เป็นเพียงเรื่องของ Maintainability เท่านั้น แต่เป็นส่วนสำคัญของการป้องกันภัยคุกคามทาง Cyber

𝟕. 𝐏𝐨𝐰𝐞𝐫 𝐄𝐟𝐟𝐢𝐜𝐢𝐞𝐧𝐜𝐲 & 𝐏𝐫𝐨𝐠𝐫𝐚𝐦𝐦𝐢𝐧𝐠 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞𝐬

ในขณะที่ Computing Power เพิ่มขึ้น เราก็ต้องใช้มันให้คุ้มค่ามากขึ้นด้วย

Efficient Programming ไม่ใช่แค่เรื่องของ Performance แต่เกี่ยวกับความยั่งยืนด้วย Rust, Go และ Java (JVM Optimized) เป็นภาษาที่ช่วยลดการใช้พลังงานหากใช้อย่างถูกต้อง อย่างไรก็ตาม ปัญหาใหญ่ที่สุดของ Power Efficiency มาจาก Architecture ไม่ใช่แค่ตัวภาษา การลดการเคลื่อนย้ายข้อมูล ลดการคำนวณที่ซ้ำซ้อน และออกแบบระบบให้ Lean มากขึ้น มีผลต่อประสิทธิภาพพลังงานมากกว่าการเปลี่ยนภาษาโปรแกรมเพียงอย่างเดียว

𝟖. 𝐓𝐡𝐞 𝐈𝐦𝐩𝐚𝐜𝐭 𝐨𝐟 𝐋𝐋𝐌𝐬 (𝐋𝐚𝐫𝐠𝐞 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞 𝐌𝐨𝐝𝐞𝐥𝐬)

LLMs กำลังเปลี่ยนแปลงวงการ Software แต่อาจสร้างความเสี่ยงเช่นกัน AI เหล่านี้สามารถสร้าง Convincing Content ได้ แต่ก็มักจะ Recycle ข้อมูลผิด ๆ กลับมา ปัญหาอีกอย่างคือ LLMs ใช้เนื้อหาจำนวนมากจากผู้สร้างโดยไม่ให้ค่าตอบแทน หากไม่มีการควบคุม อาจทำให้เกิดภาวะ Information Drought ที่ข้อมูล AI ที่ผิด ๆ ล้นตลาดและกลบข้อมูลที่ถูกต้อง Industry ต้องกำหนดแนวทางเพื่อควบคุมความสมดุลของ AI ให้เกิดประโยชน์สูงสุด

𝟗. 𝐐𝐮𝐚𝐧𝐭𝐮𝐦 𝐂𝐨𝐦𝐩𝐮𝐭𝐢𝐧𝐠 & 𝐌𝐚𝐜𝐡𝐢𝐧𝐞 𝐋𝐞𝐚𝐫𝐧𝐢𝐧𝐠

Quantum Computing อาจเปลี่ยนแปลงวงการ AI โดยเพิ่มความสามารถในการคำนวณอย่างมหาศาล ต่างจากการประมวลผลแบบ Binary Logic

ควอนตัมใช้ Quantum States ทำให้สามารถประมวลผลข้อมูลจำนวนมากได้พร้อมกัน ซึ่งอาจช่วยให้ Pattern Recognition และ Simulation มีประสิทธิภาพมากขึ้น อย่างไรก็ตาม Quantum Computin ยังอยู่ในช่วงเริ่มต้น และการใช้งานจริงใน Software ยังคงเป็นเรื่องของอนาคต

𝟏𝟎. 𝐓𝐡𝐞 𝐑𝐢𝐬𝐤𝐬 𝐨𝐟 𝐀𝐈 𝐢𝐧 𝐂𝐨𝐧𝐭𝐞𝐧𝐭 𝐂𝐫𝐞𝐚𝐭𝐢𝐨𝐧

AI-Generated Content กำลังเป็นที่นิยม แต่ก็ก่อให้เกิดปัญหาด้าน Quality Control หาก AI Recycle เนื้อหาที่มันเคยสร้างขึ้น อาจทำให้ข้อมูลผิด ๆ ถูกเผยแพร่อย่างกว้างขวางจนหาข้อมูลที่เชื่อถือได้ยากขึ้น

หากปล่อยให้ AI ผลิตเนื้อหาโดยไม่มีการควบคุม โลกอาจเผชิญกับปัญหา Knowledge Dilution Industry ต้องหาทางควบคุม Automation vs Human Curation เพื่อรักษาความถูกต้องของข้อมูลในยุคดิจิทัล

References