วิศวกรรมซอฟต์แวร์อาจไม่ใช่อาชีพตลอดชีวิตอีกต่อไป
(seangoedecke.com)- การใช้ AI ทำให้ ปริมาณการเรียนรู้ที่ได้จากการลงมือทำงานนั้นลดลง อย่างชัดเจน แต่ก็ไม่ใช่เหตุผลเพียงพอที่จะปฏิเสธ AI
- แม้ AI อาจทำให้ขีดความสามารถของวิศวกรอ่อนแอลงในระยะยาว แต่หาก ข้อได้เปรียบด้านผลิตภาพในระยะสั้น มากพอ การใช้งานก็แทบหลีกเลี่ยงไม่ได้
- เหมือนคนงานก่อสร้างที่ต้องยกของหนักแม้ร่างกายจะรับภาระ เพราะสุดท้ายก็ต้องทำตาม ข้อกำหนดโดยเนื้อแท้ของอาชีพ
- จะยืนหยัดเขียนโค้ดด้วยมือต่อไปก็ได้ แต่เหมือนช่างไม้ที่ปฏิเสธ เครื่องมือไฟฟ้า ย่อมหางานได้ยาก วิศวกรที่ปฏิเสธ AI ก็มี แนวโน้มจะเสียเปรียบในการแข่งขัน ให้กับวิศวกรที่ยอมรับ AI
- วิศวกรซอฟต์แวร์อาจกลายเป็น คนรุ่นแรก ที่มี อายุอาชีพจำกัด คล้าย นักกีฬามืออาชีพ จึงจำเป็นต้องวางแผนให้สอดรับกับความเป็นไปได้นี้
การใช้ AI กับอายุอาชีพของวิศวกรซอฟต์แวร์
- ยังไม่มีหลักฐานหนักแน่นว่า AI ทำให้สติปัญญาโดยรวมของมนุษย์ลดลง แต่หากใช้ AI จัดการงานบางอย่าง ก็ชัดเจนว่า ปริมาณที่เราได้เรียนรู้เพื่อทำงานนั้นจะลดลง
- ตรรกะของวิศวกรซอฟต์แวร์บางส่วนที่มองว่าควรหลีกเลี่ยงการใช้ AI ในงาน มีลักษณะประมาณนี้
- ถ้าใช้ AI ก็จะ เรียนรู้น้อยลงระหว่างกระบวนการทำงาน
- เมื่อเวลาผ่านไป ทักษะทางเทคนิคจะถดถอย และกลายเป็นวิศวกรที่มีประสิทธิภาพน้อยลง
- ดังนั้นจึงสรุปว่าไม่ควรใช้ AI ในการทำงาน
- อย่างไรก็ตาม สมมติฐานข้อที่สองยังไม่แน่นอน
- ตอนย้ายจาก assembly language ไปสู่ C โปรแกรมเมอร์ก็มีประสิทธิภาพลดลงในบางด้าน และดีขึ้นในอีกบางด้าน
- การเปลี่ยนจากการเขียนโค้ดด้วยมือไปสู่การใช้ AI อาจเป็นความเปลี่ยนแปลงที่ใหญ่กว่า จึงยากจะฟันธงผลลัพธ์
- ต่อให้การใช้ AI ทำให้วิศวกรมีประสิทธิภาพลดลงในระยะยาว ก็ยังสรุปไม่ได้จากเหตุผลนั้นเพียงอย่างเดียวว่าไม่ควรใช้ AI
- จนถึงราวปี 2024 วิธีที่ดีที่สุดในการเรียนรู้วิศวกรรมซอฟต์แวร์คือ ลงมือทำวิศวกรรมซอฟต์แวร์จริง ๆ
- เราสามารถเปลี่ยนงานอดิเรกด้านการเขียนโค้ดให้เป็นอาชีพรายได้สูงได้ และคนที่ชอบงานนี้ก็มักเก่งขึ้นเรื่อย ๆ ตามกาลเวลา
- แต่นี่ใกล้เคียงกับ ความบังเอิญที่โชคดี มากกว่าจะเป็นธรรมชาติอันไม่เปลี่ยนแปลงของวิศวกรรมซอฟต์แวร์
ความขัดแย้งระหว่างผลิตภาพระยะสั้นกับศักยภาพระยะยาว
- แม้การใช้ AI จะทำให้ความสามารถในการทำงานหรือความสามารถในการให้เหตุผลทั่วไปแย่ลงในระยะยาว แต่ถ้า ผลประโยชน์ระยะสั้นมากพอ วิศวกรก็อาจจำเป็นต้องใช้ AI
- คนงานก่อสร้างต้องยกของหนักเพื่อให้ทำงานได้อย่างมีประสิทธิภาพ แต่การทำเช่นนั้นอาจ สึกหรอหลังและข้อต่อ ในระยะยาว จนทำให้เมื่อเวลาผ่านไปกลายเป็นแรงงานที่มีประสิทธิภาพน้อยลง
- คนงานก่อสร้างไม่ได้พูดว่า “คนงานก่อสร้างที่ดีต้องไม่ยกของหนัก” แต่พูดว่า “ช่วยไม่ได้ นี่แหละคืองาน”
- ในไซต์งานก่อสร้างมีเทคนิคอย่างเครน รถเข็น หรือรถยก เพื่อหลีกเลี่ยงการยกของหนัก
- สำหรับวิศวกรซอฟต์แวร์เองก็อาจต้องมี เทคนิคเพื่อคงการจดจ่อทางความคิด เช่นกัน แต่เราอาจยังไม่ค้นพบวิธีที่ใกล้เคียงกัน
- หาก AI ทำให้คนฉลาดน้อยลงจริง ก็ยังสามารถเขียนโค้ดด้วยมือต่อไปได้
- แต่ด้วยเหตุผลเดียวกับที่ ช่างไม้ที่ปฏิเสธเครื่องมือไฟฟ้า แทบไม่มีงานทำ การรับค่าจ้างจากการเขียนโค้ดด้วยมืออย่างเดียวก็คงยากขึ้น
- หากโมเดลดีพอ คุณก็จะเสียเปรียบในการแข่งขันให้กับวิศวกรที่ยอม แลกความสามารถทางการรับรู้ระยะยาวกับอาชีพรายได้สูงในระยะสั้น
- ในทางทฤษฎี สหภาพแรงงาน อาจช่วยชะลอกระบวนการนี้ได้
- ในอุตสาหกรรมอื่น ๆ เคยมีตัวอย่างที่ทำให้นายจ้างชะลอการแข่งขันสู่ก้นเหวได้
- แต่กับแรงงานสายเทค ผมค่อนข้างมองลบต่อสหภาพแรงงาน เพราะค่าตอบแทนสูง และสามารถทำงานจากที่ไหนในโลกก็ได้ จึงมีแรงงานทดแทนเสมอ
- อายุอาชีพของนักกีฬามืออาชีพโดยทั่วไปยาวได้ราวไม่เกิน 15 ปี และแม้จะมีโอกาสทำเงินมากได้จนถึงช่วงกลางอายุ 30 แต่หลังจากนั้นร่างกายก็มักไม่ไหว
- ตัวละครน่าเศร้าที่เราพบเห็นบ่อยทุกวันนี้คือ นักกีฬามืออาชีพที่เชื่อว่า “การแสดงจะดำเนินต่อไปตลอดกาล” และ ไม่เตรียมตัวหลังเกษียณ
- วิศวกรซอฟต์แวร์เองก็อาจเป็น คนรุ่นแรก ที่กำลังอยู่ในสถานการณ์เดียวกัน และถ้าเป็นเช่นนั้น การวางแผนให้เหมาะสมก็นับว่าฉลาด
1 ความคิดเห็น
ความเห็นจาก Hacker News
ผมเจอบทสนทนาแบบเดิมหลายครั้งต่อสัปดาห์: มีคนบอกว่า “AI จะทำให้นักพัฒนาไร้ความหมาย” พอถามว่าทำไม ก็ได้คำตอบว่า “ก็เพราะ LLM เขียนโค้ดได้”
แต่ในงานที่ผมใช้หาเลี้ยงชีพจริง ๆ ส่วนของ การเขียนโค้ด เคยมีแค่ราว 2~5% และตอนนี้ก็น้อยลงไปอีก ที่เหลือคือการทำความเข้าใจสิ่งต่าง ๆ แล้วนำความสามารถในการประกอบวิธีแก้ปัญหามาใช้
นักพัฒนาที่ยังเชื่อว่างานของนักพัฒนาคือการพิมพ์โค้ดอย่างเดียว อาจไม่มีงานทำในอนาคต และเจ้าของธุรกิจที่เชื่อว่า LLM จะมาแทนนักพัฒนาได้แล้วพยายามทำทุกอย่างโดยไม่มีนักพัฒนา ในที่สุดก็คงโดน การคัดเลือกโดยธรรมชาติ จัดการเอง
พอประมาณวันที่สี่ เขาบอกว่า “ฉันจะสอนสิ่งที่ช่วยอาชีพฉันมากที่สุดให้” แล้วก็บอกว่า “ให้ใส่หมายเลขบน punch card ไว้เสมอ จะได้เรียงกลับได้ง่ายถ้าทำหล่น”
ตอนนั้นยุคของ punch card ผ่านไปนานแล้ว ผมเลยผิดหวัง แต่เขาก็เสริมว่า “ฉันบอกว่านั่นคือสิ่งที่ช่วยฉัน ไม่ใช่สิ่งที่จะช่วยเธอ ซอฟต์แวร์เปลี่ยนตลอด” และทุกวันนี้ผมนึกถึงคำนั้นบ่อยมาก
รวมถึงเวลาที่ต้องเอาหัวโขกกำแพงเพื่อให้โค้ดที่เขียนใหม่ตาม API ที่เอกสารห่วยแตกทำงานได้ด้วย
การเล่าแบบคอมเมนต์ต้นฉบับทำให้วิศวกรรมซอฟต์แวร์ดูเหมือนกิจกรรมบริสุทธิ์และสูงส่งแบบคณิตศาสตร์ แต่ความจริง ต่อให้เข้าไปพร้อมแผนงาน พอเจอความเป็นจริงที่ไม่ตรงก็แทบจะเหมือน คนงานขุดเจาะ ที่ต้องเอาค้อนใหญ่ทุบโลหะเพื่อให้ drill string เข้าที่ภายใต้เดดไลน์ที่บีบคั้นมากกว่า
งานประเภท “ทำความเข้าใจสิ่งต่าง ๆ และประกอบวิธีแก้ปัญหา” ก็เป็น พื้นที่ที่ AI กำลังมุ่งมา เหมือนกัน
คุณอาจแค่อยู่ในสภาพแวดล้อมที่โชคดีพอจะได้รับการยอมรับในผลงาน อยู่ในอุตสาหกรรมหรือโดเมนที่มีข้อมูลฝึกไม่มาก หรืออยู่กับพื้นที่ปัญหาที่ซับซ้อนเกินกว่า AI จะจัดการได้ในตอนนี้
คนที่ปิด Jira ticket และทำ CRUD web app มีโอกาสสูงที่จะเห็นอาชีพตัวเองหายไปเป็นระยะ ๆ หรือไม่ก็ถูกขอให้ผลิตงานมากขึ้นในเงินเดือนเท่าเดิมหรือน้อยลง และต้องใช้ AI เพื่อไล่ให้ทัน
ถ้ามันทำได้ มันก็จะทำได้ วิธีการก็จะแพร่กระจายและทุกคนจะเข้าถึงได้อย่างรวดเร็ว พร้อมกับความก้าวหน้าที่เดินหน้าต่อ
ถ้าทำไม่ได้ ก็จะเห็นได้จากการที่ไม่มีผลลัพธ์จริง และคำว่า “ผมกำลังดูอยู่” อย่างเดียวไม่พอ มันต้องเป็นความจริงที่ทุกคนมองเห็น ใช้งานได้ เลี่ยงไม่ได้ และปฏิเสธไม่ได้
ถ้าเป็นระดับ staff ขั้นสูงมากที่ทำหน้าที่คล้ายที่ปรึกษา CTO ในบริษัทยักษ์ใหญ่ก็อาจเป็นไปได้ แต่ก็นับว่าอยู่ในตำแหน่งที่หายากมากอยู่แล้ว
ปฏิกิริยาที่แตกขั้วต่อ AI ดูจะขึ้นอยู่กับว่ามองผ่านเลนส์ไหน บทบาทระดับ junior กำลังหายไปอย่างรวดเร็ว แต่ในบทบาทระดับ senior ประสบการณ์และวิจารณญาณกลับสำคัญกว่าที่เคย
เพราะงั้นวิศวกรรมซอฟต์แวร์อาจไม่ใช่อาชีพตลอดชีวิตสำหรับคนจำนวนมากอีกต่อไป คล้ายกับที่กีฬาอาชีพระดับหัวกะทิไม่ใช่อาชีพที่เป็นจริงได้สำหรับคนส่วนใหญ่ แต่ถึงอย่างนั้นก็ยังมีคนบางส่วนที่ต้องทำอาชีพนี้ และควรจะมี
ประสบการณ์ของผมตรงกันข้ามเลย วิศวกรที่เก่งมาก ๆ และพยายามใช้เครื่องมือใหม่จริง ๆ รวมถึงคนวัย 40 และ 50 กลับทำได้ดีกว่าเดิมมาก
เหตุผลหนึ่งที่โปรแกรมเมอร์สายดั้งเดิมมักอ่อนแรงลงเมื่อเวลาผ่านไปก็เหมือนหมากรุก คือ สมาธิและการคำนวณเชิงลึก ลดลง นักหมากรุกอายุมากรู้เรื่องหมากรุกมากกว่าอัจฉริยะอายุ 19 ปีมาก แต่ไม่สามารถคำนวณต่อเนื่องยาว ๆ ที่ความเร็วเท่ากันได้ สุดท้ายประสบการณ์จึงแพ้พลังการคำนวณล้วน ๆ
Claude Code และ Codex ช่วยแบกภาระการคำนวณนั้นออกไป แต่สัญชาตญาณทั้งหมดที่สั่งสมจากประสบการณ์และ “ลางสังหรณ์” แบบ 2 วินาทียังคงอยู่ครบ
ตอนนี้ไม่ใช่แค่กลับมาแข่งขันกันอย่างยุติธรรม แต่กลายเป็นไม่ยุติธรรมไปอีกด้านแล้ว ก่อนหน้านี้ senior คนหนึ่งเคยนำทีม 6 คน ทุกวันนี้เขานำ ทีมเอเจนต์ และรีวิวโค้ดเหมือนเดิม บางครั้งเปลี่ยนทิศทางเอเจนต์ยังง่ายกว่าปรับทิศทาง junior รอบตัวเสียอีก
แต่คำถามที่เร่งด่วนและยังตอบไม่ได้คือ เราจะมีสถาปนิกที่ดีได้ไหมถ้าไม่ผ่านสนามเพลาะของงานจริงมาก่อน
LLM ก็ทำอะไรคล้ายสัญชาตญาณได้เหมือนกัน เลยต้องแยกให้ออก LLM ใกล้เคียงกับจิตไร้สำนึกรวมหมู่ของอินเทอร์เน็ตมากกว่า และมันต่างชัดเจนจากรสนิยมที่เกิดจากประสบการณ์ดีและร้าย
สัญชาตญาณที่ผุดขึ้นมาสุดท้ายแล้วก็คือ “รสนิยมที่ดี” และนั่นก็ใกล้เคียงกับงานหลักของบทบาท senior ในสายเทคนิคทุกแขนง
คนที่ถูก รถแทรกเตอร์ แทนที่ในภาคเกษตรไม่ได้รักษางานเดิมไว้ แล้วตอนนี้มันต่างกันตรงไหน?
ทีม 6 คน ไม่จำเป็นอีกต่อไป และตามตรรกะบริษัทก็จะตัดออก
เพราะงั้นวิศวกรรมซอฟต์แวร์อาจยังเป็นอาชีพสำหรับคนบางส่วน แต่จำนวนคนอาจลดลง 85%
แต่บริษัทนั้นไม่มีอยู่แล้ว และผมใช้เวลานานกว่ามากในการเรียนรู้วิธีทำงานอย่างมีประสิทธิภาพกับเครื่องมือใหม่ ๆ ที่ใช้ตอนนี้ เพราะผมไม่ได้สะสมรายละเอียดของสภาพแวดล้อมใหม่ตลอด 10 ปีแบบเดิม
ดังนั้น AI จึงช่วยประหยัดเวลาอย่างมหาศาลในการหาว่า syntax ที่ถูกต้องคืออะไร และจำรายละเอียดของ framework สำหรับ unit test ต่าง ๆ ให้ด้วย ถ้าผมอยู่กับมัน 1~3 ปี ผมน่าจะเร็วขึ้นมากและรู้เครื่องมือได้ลึกขึ้นมากอีก
ถ้า senior engineer คนนั้นหายไป ก็ไม่เหลืออะไรเลย การมีทีม 6 คนยังดีกว่า
คำพูดที่ว่า “คนที่ใช้ AI ไปนาน ๆ จะค่อย ๆ ฝ่อด้านทักษะและกลายเป็นวิศวกรที่มีประสิทธิภาพน้อยลง” ฟังดูน่าเศร้า แต่ผมคิดว่าในระยะยาวน่าจะจริงโดยรวม
ถ้ามองในเชิงอาชีพ คนส่วนใหญ่ดูจะแบ่งได้เป็นสองกลุ่ม: คนที่ใช้ AI เพื่อ เสริมการให้เหตุผล และคนที่ใช้ AI เพื่อ แทนที่การให้เหตุผล ผมไม่ค่อยกังวลกับกลุ่มแรก แต่กังวลกับกลุ่มหลัง
แม่ของผมเป็นครูโรงเรียนมัธยมรัฐบาลในสหรัฐฯ และบ่นว่านักเรียนจำนวนมากรับ “Google AI overview” เป็นแหล่งความจริงสูงสุด
บางทีนี่อาจเป็นปรากฏการณ์ใหม่ที่คล้ายกับสมัยก่อนที่บอกว่า “ห้ามอ้าง Wikipedia” แต่แม่ผมรู้สึกชัดเจนว่าหลังโควิด เด็กที่เข้าห้องเรียนมีความสามารถด้านการคิดเชิงวิพากษ์ลดลงอย่างเห็นได้ชัด
มีคนหนึ่งถึงสองรุ่นแล้วที่เติบโตมาในสภาพแวดล้อมที่ influencer กับคนแปลกหน้าบนอินเทอร์เน็ตคอยบอกว่าควรชอบอะไร เกลียดอะไร และเชื่ออะไร คนเหล่านี้เอาเหตุผลไปจ้างคนนอกตั้งแต่ก่อนยุค LLM แล้ว และก็ดูไม่พร้อมจะมีปฏิสัมพันธ์อย่างมีประสิทธิผลกับระบบที่ออกแบบมาให้ทำให้พวกเขารู้สึกว่าได้สิ่งที่ต้องการ แม้คุณภาพจะน่าสงสัยก็ตาม
ทั้ง PR เต็มไปด้วยร่องรอยของ Claude และพูดได้แทบจะแน่นอนว่าแทบไม่ได้แก้อะไรเลย นี่คือกลุ่ม A
ส่วนอีกกลุ่มคือเพื่อนร่วมงานที่จัดการปัญหาจนสุดทาง สร้าง harness ไว้ทดสอบการเปลี่ยนแปลง ตรวจสอบผลลัพธ์ ผ่านหลายวิธีแก้แล้วสังเคราะห์ผลลัพธ์ที่เหมาะที่สุดออกมาเป็นหนึ่งเดียว benchmark ปรับแต่ง ทดสอบอย่างละเอียด และให้ขั้นตอนการตรวจสอบที่สมเหตุสมผลใน PR นี่คือกลุ่ม B
นี่เป็น วิธีใช้ AI ที่ต่างกันโดยสิ้นเชิง A ตอนนี้อาจดูเหมือนยังพอผ่านไปได้ แต่ B คือเวอร์ชันใหม่ของสิ่งที่ทำได้ภายในเวลาที่มี และกำลังกำหนดมาตรฐานใหม่ของวิศวกรรมซอฟต์แวร์ ซึ่งก่อนหน้านี้แทบเห็นได้เฉพาะในสภาพแวดล้อมที่เป็นมืออาชีพมาก ๆ เท่านั้น
ผมคิดว่ากลุ่ม A จะถูกคัดออกจากอุตสาหกรรมค่อนข้างเร็ว ถ้ามีความตั้งใจจะเรียนรู้ LLM จะช่วยให้คนทำงานได้มีประสิทธิภาพอย่างน่าทึ่ง และความเข้มงวดแบบนั้นอาจกลายเป็นค่าเริ่มต้น รวมถึงอาจเป็นวิธีเดียวที่มนุษย์ยังคงมีประโยชน์ในฐานะองค์ประกอบหนึ่งในลูปได้
ในเชิงประสบการณ์ส่วนตัว ปีนี้ดูเหมือนตลาดจ้างงานซอฟต์แวร์ในสหรัฐฯ เริ่มเปลี่ยนจริง ๆ มากขึ้นเรื่อย ๆ บริษัทจำนวนมากดูจะใช้ กลยุทธ์รอดูท่าที เพื่อหลีกเลี่ยงการลงทุนเกินตัวในทุนมนุษย์ตลอดช่วงไม่กี่ปีข้างหน้า
สัญญาณการจ้างงานที่เดิมก็อ่อนอยู่แล้ว ตอนนี้เหมือนหายไปเลย พอโพสต์รับคนหนึ่งตำแหน่ง ก็มีใบสมัครกับจดหมายแนะนำตัวที่ LLM เขียนเข้ามาเกิน 500 ชุด ทั้งหมดดูและให้ความรู้สึกคล้าย ๆ กัน
การเปรียบเทียบกับนักกีฬาอาชีพในบทความนี้ดูแปลกไปหน่อย ถ้าเป็นงานที่หาเงินด้วยกล้ามเนื้อ ปัญหาทางร่างกายตามวัยนั้นชัดเจน แต่ถ้าเทียบกับงานใช้ความรู้แบบกฎหมายหรือแพทย์ ก็ยังมีคนทำงานวัย 40 และ 50 ที่เก่งมากและเฉียบคมอยู่เยอะ
ผมรู้จักคนที่ไม่เคยมี recruiter จากบิ๊กเทคติดต่อเลย แต่ตอนนี้กลับได้รับข้อความทุกวัน
ผมก็เคยเห็นคนบอกว่าเป็นเพราะข้อกำหนดบางอย่างของสหรัฐฯ หมดอายุไปเมื่อปีที่แล้ว แต่ผมไม่ได้รู้มากพอจะถกเหตุผลนั้น
สิ่งที่รู้สึกมากกว่าคือเศรษฐกิจกำลังใกล้จะร่วง หรืออย่างน้อยก็เหมือนรถไฟเหาะ แรงจูงใจทางภาษีเพื่อการจ้างงานก็อ่อน ยุค ดอกเบี้ยเกือบศูนย์ จบไปนานแล้ว และคนสรรหาก็ถูกใบสมัครเสียงรบกวนถาโถมใส่
ถึงอย่างนั้น เจ้านายทั้งหลายก็ชอบพูดว่าเป็นเพราะ AI เพราะมันทำให้ดูเหมือนพวกเขาควบคุมสถานการณ์อยู่
ผมอ่านคำอธิบายบ่อยมากว่าไม่เป็นไรหรอก ถ้า AI ทำให้ตกงานก็ “ไปรีสกิลทำอาชีพอื่นได้” แต่ไม่เคยเห็นใครบอกว่าอาชีพนั้นคืออะไร หรือใครจะจ่ายค่าฝึกใหม่นั้น
สำหรับผม ไม่มีทั้งเงินและเวลาจะกลับไปมหาวิทยาลัยแล้วเริ่มอาชีพใหม่จากศูนย์
มันจริง แต่จริงอยู่แค่จนกว่าจะถึงวันที่มันไม่จริง
ตัวอย่างคลาสสิกที่แสดงว่าความคิดแบบนี้พังได้ขนาดไหนคือ ทฤษฎีของมัลทัส เขาเสนอว่าปริมาณอาหารโตแบบเส้นตรง ขณะที่ประชากรโตแบบทวีคูณ จึงต้องเกิดการล่มสลายของประชากร ซึ่งก็เป็นจริงกับประวัติศาสตร์ทั้งหมดก่อนที่มัลทัสจะตั้งข้อสังเกตนี้
ในเชิงกลไก ตรรกะที่ว่า “เราหางานอื่นได้เสมอ” มองข้ามจุดที่ว่ามนุษย์เคยมีความได้เปรียบด้านสติปัญญาเหนือระบบอัตโนมัติมาโดยตลอด
แม้แต่อินพุตง่าย ๆ ของมนุษย์ในสายการผลิต ก็ยังพึ่งพาความสามารถของมนุษย์ในการปรับแต่งเล็ก ๆ น้อย ๆ แทบมองไม่เห็น ซึ่งหุ่นยนต์ทำไม่ได้
แต่ถ้าสิ่งที่ใกล้เคียง AGI ใช้งานได้จริง แรงงานมนุษย์ก็จะไม่มีข้อได้เปรียบเหนือระบบอัตโนมัติอีกต่อไป จึงไม่ชัดเลยว่าทำไมตรรกะเก่าเรื่อง “ระบบอัตโนมัติสร้างงานให้มนุษย์มากขึ้น” จะยังต้องดำเนินต่อไป
รัฐบาลก็แค่จะจ่ายสวัสดิการเท่าที่พอคุมสถานการณ์ได้ แล้วจากนั้นก็จะทำให้คนพวกนี้ถูกมองเป็นปีศาจเชิงวัฒนธรรมคล้ายพวก Luddites
แน่นอนว่าสักพักหนึ่งงานที่ต้องใช้แรงกายของมนุษย์ยังคงอยู่ แต่ในโลกจริง งานใช้แรงกายจำนวนมากกลับถูกทำในภูมิภาคอื่นของโลกที่ค่าจ้างถูกกว่า
งานที่ส่งออกไม่ได้ เช่น ช่างประปาหรือพนักงานเสิร์ฟ ก็มีอุปสงค์จำกัด คุณไม่สามารถผลักแรงงาน white-collar ปัจจุบัน 50% เข้าไปในงานแบบนี้ แล้วหวังว่าจะหางานได้ง่ายหรือได้ค่าจ้างดี เพราะอุปสงค์มันไม่มี
ขณะเดียวกัน ในช่วงที่งาน white-collar กำลังหายไป งานแรงกาย “ทักษะต่ำ” ก็ถูกทำให้เป็นอัตโนมัติมากขึ้นเรื่อย ๆ เช่นกัน เครื่องชำระเงินด้วยตนเองลดงานค้าปลีก, robo-taxi และการส่งของด้วยโดรนจะลดงานส่งของและโลจิสติกส์, หุ่นยนต์คลังสินค้าจะลดงานคลังสินค้า
ดูเหมือนมี สมมติฐานโดยนัย ว่า AI จะสร้างงานค่าจ้างสูงจำนวนมากที่ยังต้องมีนายจ้างเป็นมนุษย์ และในขณะเดียวกันก็เป็นงานที่ไม่สามารถจ้างนอกประเทศได้ถูกกว่า แล้วงานค่าจ้างสูงที่ปลอดภัยทั้งจาก AI และจากการเอาต์ซอร์สแบบนั้นมันคืออะไรกันแน่ หรือสุดท้ายทุกคนจะกลายเป็นพนักงานทำความสะอาดค่าจ้างสูง? มันไม่สมเหตุสมผลเลย
คำแนะนำทุกวันนี้ที่ให้ไปรีสกิลเป็นคนงานก่อสร้างหรือช่างประปาดูเหมือนตั้งอยู่บนสมมติฐานว่าอุปสงค์แรงงานแบบนั้นไม่มีที่สิ้นสุด แต่ความจริงไม่ใช่เลย ต่อให้ความต้องการคนงานก่อสร้างพุ่งขึ้นจริง ก็ยังต้องใช้เวลาหลายปีกว่าจะมีอุปกรณ์ ซัพพลายเชน และโครงสร้างพื้นฐานรองรับให้คนหลายล้านเข้าสู่อุตสาหกรรมนี้ได้
สถานการณ์ที่น่าจะเป็นไปได้มากที่สุดคือ ผู้คนจะตกงาน แล้วถูกขังอยู่ในการแข่งขันกดค่าจ้างลงเรื่อย ๆ เพื่อแย่งงานจำนวนจำกัดที่ยังเหลือในเศรษฐกิจภายในประเทศ ส่วนที่เหลือก็ถูกเอาต์ซอร์สหรือให้หุ่นยนต์กับ AI ทำ
คำแนะนำที่ดีกว่าคือให้เริ่มเตรียมตัวรับมือกับความจริงนี้ อย่าสมมติว่ารัฐบาลจะปกป้องคุณ หรือปกป้องได้จริง เมื่อความมั่งคั่งกระจุกตัว การคอร์รัปชันแทบจะเลี่ยงไม่ได้ และนักการเมืองเองก็มีครอบครัวที่ต้องดูแล
ควรมองเรื่องนี้อย่างจริงจัง ต่อให้ผมคิดผิด การเตรียมพร้อมรับสถานการณ์เลวร้ายที่สุดก็ยังดีกว่าสมมติว่าทุกอย่างจะออกมาดีแล้วเราจะไปรีสกิลสู่งานค่าจ้างสูงใหม่ได้
พ่อแม่ของผมทั้งคู่เป็นคนงานก่อสร้าง พวกเขารู้ดีว่าเราไม่สามารถยกของหนักไปตลอดชีวิตได้
สุดท้ายก็ต้องเลิกยกของและกลายเป็น หัวหน้าคนงานหรือผู้ควบคุมงาน ถ้าคุณอึดอัดกับการเรียนรู้วิธีให้คนอื่นทำสิ่งที่เมื่อก่อนคุณเคยทำเอง ร่างกายคุณก็จะพังจนหมดสภาพ และผลลัพธ์นั้นเลวร้ายมาก
นี่เป็นทั้งความจริงเชิงข้อเท็จจริง และยังเป็นอุปมาที่สำคัญมากต่อการทำความเข้าใจเรื่อง การมอบหมายงาน ในอาชีพของผมด้วย มันไม่ได้ไม่เกี่ยวกับการใช้ AI เสียทีเดียว แต่ผมก็ไม่คิดว่ามันจะเทียบกันได้อย่างพอดีเป๊ะ
ผมอยากให้คนที่ดูฉลาดหยุดใช้อุปมาเรื่อง abstraction แบบในบทความนี้เสียที คำสำคัญคือ ความเป็นกำหนดแน่นอน
ทุกชั้น abstraction อย่างเครื่องมือไฟฟ้าหรือภาษา C ได้เพิ่มชั้นที่เชื่อถือได้ในเชิงกำหนดแน่นอน ผลลัพธ์ออกมาเหมือนเดิมทุกครั้งและช่วยให้เราทำงานได้มีประสิทธิภาพขึ้น
แต่ LLM คือการอธิบายโปรแกรมด้วยภาษาธรรมชาติ แล้วผลลัพธ์อย่างดีที่สุดก็หลากหลาย นั่นจึงเป็นเหตุให้ต้องมีเอเจนต์และต้องใช้วิธี brute force ผลักผลลัพธ์ให้ไปต่อ
ผมคิดว่าคูเมืองที่แท้จริงยังคงเป็นการเป็นคนที่ยังโปรแกรมได้จริง
เราไม่ได้เอาผลลัพธ์ของ LLM มารันตรง ๆ เราใช้ LLM สร้าง artifact ขึ้นมาครั้งหนึ่ง แล้วค่อยเอา artifact นั้นไปรันแบบกำหนดแน่นอน
สเปกถูกแปลงเป็นโค้ดครั้งหนึ่ง และเมื่อแก้สเปก โค้ดก็อาจอัปเดตได้ แต่ไม่ได้สร้างโปรแกรมทั้งชุดใหม่ทุกครั้ง ถ้าอย่างนั้น ความเป็นกำหนดแน่นอน สำคัญตรงไหน?
ยกตัวอย่างเช่น เมื่อ 5 ปีก่อน Mark Zuckerberg สร้างซอฟต์แวร์อย่างไร?
เขาเปิด editor ได้เหมือนผมก็จริง แต่ด้วยสถานะของเขา เขามีอินเทอร์เฟซอีกแบบคือทรัพยากรมนุษย์ เขาไม่ได้คุยกับ editor เป็นหลัก แต่คุยกับคนเหล่านั้น แล้วคนเหล่านั้นก็สร้างซอฟต์แวร์
ชั้นที่คั่นอยู่ระหว่างเขากับระบบที่สร้างเสร็จแล้วนี้ ไม่ว่าจะกำหนดแน่นอนหรือไม่ ก็เป็น abstraction
ทุกวันนี้เรามีอำนาจกว้างขึ้นในการมอบหมายงานได้มากกว่าหลายปีก่อน
และขึ้นอยู่กับมุมมองเรื่องเจตจำนงเสรี คุณก็อาจโต้แย้งได้อย่างมีประสิทธิผลว่ามนุษย์เองก็กำหนดแน่นอนเหมือนกัน
สิ่งที่กำลังแตะอยู่จริง ๆ คือทั้ง LLM และมนุษย์ต่างเป็น ฟังก์ชันที่ทึบแสง คุณไม่สามารถย่อยการทำงานของมันเป็นลำดับขั้นเชิงตรรกะที่วิ่งเข้าไปในหัวได้ และก็ไม่มี invariant ที่จะแยกความซับซ้อนออกเป็นสถานะที่ตีความได้ไม่กี่อย่างอย่างสะอาดเรียบร้อย พื้นที่อินพุตกับเอาต์พุตก็ไม่มีโครงสร้าง ชวนกำกวม ระบุไว้ไม่ครบ และแทบไร้ขอบเขต
เพราะเหตุนี้ จึงแทบเป็นไปไม่ได้ที่จะใช้กลยุทธ์และการวิเคราะห์แบบที่เราใช้กับโปรแกรมดั้งเดิมมาทำความเข้าใจหรือสังเคราะห์มัน
คุณอาจใส่แหล่ง entropy เพิ่มเพื่อให้เกิดความไม่กำหนดแน่นอนได้แบบเลือกใส่ แต่ไม่จำเป็นเลย ต่อให้ผู้ให้บริการ LLM ทุกเจ้าตรึงค่า seed ของ PRNG ไว้คงที่ คนส่วนใหญ่ก็คงแทบไม่สังเกต
ผมไม่คิดว่าจะมี workflow มากนักที่ต้องอาศัยการยิง prompt เดิมซ้ำหลายครั้งแล้วพึ่งพาว่าเอาต์พุตจะมีการกระจายเชิงสถิติแบบหนึ่ง ตรงกันข้าม คุณอาจได้คำตอบจาก cache กลับมาทั้งที่ไม่ได้ต้องการด้วยซ้ำ
ถ้าคุณนิยามว่าวิศวกรรมซอฟต์แวร์คือการพิมพ์โค้ดลง text editor ทีละตัวอักษร ก็คงยากขึ้นเรื่อย ๆ ที่จะหาคนยอมจ่ายเงินให้ทำแบบนั้น
แต่ถ้าหมายถึง การสร้างซอฟต์แวร์ เรากำลังสร้างซอฟต์แวร์มากกว่าที่เคย และนิยามของคำว่าซอฟต์แวร์เองก็หลากหลายกว่าที่เคยด้วย ผมคิดว่าจากจุดนี้อาจแตกแขนงเป็นเส้นทางอาชีพอีกหลายแบบ
สิ่งที่น่าสนใจคือวิศวกรรมซอฟต์แวร์เองก็ต้องวิวัฒน์ด้วย กระบวนการและเครื่องมือก็ควรวิวัฒน์เหมือนที่เคยเป็นมาตลอดหลายปี
ตอนผมเรียนจบมหาวิทยาลัยในปี 2004 เราเรียนเรื่องยุค “software crisis”, กระบวนการพัฒนาแบบ waterfall และกระแส “iterative methodology” ใหม่ ๆ ที่เพิ่งเริ่มต้น
เราเรียนเรื่องการเปลี่ยนผ่านจาก spaghetti code ไปสู่ structured programming ใน Pascal/C แล้วต่อไปยัง object-oriented programming
วิธีวิทยาทางวิศวกรรมเองก็พัฒนาเช่นกัน มีทั้ง UML อันลือลั่น เทคนิคเชิงรูปนัยอย่างภาษา Z สำหรับ formal verification รวมถึงการวัดความซับซ้อนของซอฟต์แวร์อย่าง ABC และ cyclomatic complexity
ทุกวันนี้เมื่อคอมพิวเตอร์เป็นฝ่ายเขียนโค้ดส่วนใหญ่ มูลค่าของภาษาและกระบวนการพัฒนาซอฟต์แวร์แบบปัจจุบันก็กำลังลดลง ภาษาโปรแกรมถูกสร้างมาเพื่อมนุษย์ ไม่อย่างนั้นเราก็คงเขียน assembly ต่อไป
ตอนนี้เราต้องเปลี่ยน abstraction ที่ใช้สื่อสารเจตนากับคอมพิวเตอร์ และใช้ตรวจสอบว่าคำสั่งสุดท้ายทำในสิ่งที่เราต้องการจริงหรือไม่
ผมอยากรู้มากว่า abstraction แบบใหม่นี้จะเป็นอย่างไร ถ้ารายละเอียดจุกจิกของการเขียนโค้ดถูกทำให้เป็นอัตโนมัติทั้งหมด บางทีเราอาจได้เห็นความเข้มงวดแบบวิศวกรรมจริง ๆ มากขึ้นในอาชีพวิศวกรรมซอฟต์แวร์
ทีนี้ในปี 2026 สมมติว่าทั้งสองบริษัทสรุปว่า AI ทำให้นักพัฒนาเร็วขึ้น 10 เท่า ผมไม่ได้บอกว่านี่คือความจริง แค่ใช้ตัวเลขกลม ๆ
บริษัทที่ 1 ไล่โปรแกรมเมอร์ออก 90 คน เหลือ 10 คนทำงานเท่าเดิม
บริษัทที่ 2 เก็บโปรแกรมเมอร์ไว้ทั้งหมด และทำงานได้มากกว่าเดิม 10 เท่า หรืออาจจ้างเพิ่มด้วยซ้ำ
ใครจะชนะในตลาด?
คำตอบก็เหมือนเดิมคือ “ขึ้นอยู่กับสถานการณ์” แต่ผมคิดว่าพื้นที่ที่บริษัท 1 จะชนะนั้นแคบกว่าของบริษัท 2 มาก มันต้องอาศัยเงื่อนไขตลาดที่แม่นยำเฉพาะเจาะจงมาก แม้ไม่ถึงกับไม่มีอยู่จริง แต่การเดิมพันว่าตัวเองอยู่ในข้อยกเว้นนั้นเสี่ยงมาก
ระหว่างช่วงเร่งความเร็วที่ยังไม่มีใครตั้งหลักกับความจริงใหม่ได้ คำตอบแบบบริษัท 1 จะดูน่าดึงดูดต่อฝ่ายการเงินอย่างผิวเผิน
แต่ในตลาดใดก็ตาม ถ้ามีเพียงบริษัทเดียวที่เลือกแนวทางแบบบริษัท 2 แล้วหลุดออกไปข้างหน้า ที่เหลือทั้งอุตสาหกรรมก็ต้องตามเพื่อให้แข่งขันได้อย่างจริงจัง
ในระยะกลางถึงยาว ก็ยังไม่น่าเป็นไปได้ที่ การสร้างคุณค่า ที่โปรแกรมเมอร์หนึ่งคนทำได้และสะท้อนออกมาในเงินเดือนจะลดลง
งานที่ระบบอัตโนมัติเคยสร้างขึ้นในอดีต โดยมากมักมีค่าจ้างต่ำกว่าและมีอิสระน้อยกว่า
พูดอีกแบบคือ ทุกบริษัทกำลังประดิษฐ์ล้อใหม่ซ้ำไปซ้ำมา การเพิ่มการพัฒนาซอฟต์แวร์แบบเดิมที่ไม่มีอะไรใหม่ นอกจากเขียนด้วย framework ใหม่แวววาว ให้มากขึ้น 10 เท่า ไม่ได้มีความหมาย
ผมคิดว่าเราควรเริ่ม กำจัดซอฟต์แวร์ส่วนใหญ่ทิ้ง กลับไปหาพื้นฐาน ดูว่าอะไรจำเป็น แล้วทำสิ่งนั้นให้ดีขึ้นและทำให้เสร็จ เราควรปิดงานซอฟต์แวร์ให้จบเป็นชิ้นเป็นอันสักครั้ง
software engineerด้วยsecretaryและแทนcreating softwareด้วยtyping correspondenceก็จะได้คำพูดแบบเดียวกันในโลกที่ AI แก้ปัญหาการเขียนโปรแกรมและการออกแบบซอฟต์แวร์ได้แล้ว คุณค่าจะไหลไปสะสมที่คนซึ่งมีความเชี่ยวชาญในโดเมนอื่น พวกเขาจะมี พลังของนักพัฒนามืออาชีพ 1000 คน อยู่ในมือแล้ว และคุณค่าจะไม่ไหลไปหาคนที่มีทักษะซ้ำซ้อนกันซึ่งใช้เครื่องมือ AI ที่ดีกว่า เร็วกว่า และถูกกว่าแบบเดียวกัน
ถ้าผมไม่ได้พลาดอะไรไป ตรงนี้มีปัญหาเชิงตรรกะชัดเจน
ถ้าการใช้ LLM เพื่อเพิ่มผลิตภาพต้องแลกกับการฝ่อของทักษะจริง อย่างนั้นนักพัฒนาที่มีอายุจำกัดก็คงมีแค่พวกเราเอง คนรุ่นถัดไปจะไม่มีชุดทักษะที่สร้างจากการทำมือมาก่อนอยู่แล้ว จึงไม่มีอะไรให้ฝ่อ
และผมขอเสนอให้เลิกใช้เปรียบเทียบแบบ “การสร้างโค้ดของ LLM ก็เหมือนที่คอมไพเลอร์สร้าง machine code” ในที่สาธารณะได้แล้ว ถกเรื่องเดิมด้วยไอเดียเดิมซ้ำไปซ้ำมาก็น่าเบื่อเต็มที