- การแพร่หลายของเครื่องมือเขียนโค้ดด้วย AI กำลังทำให้เห็นชัดถึง ความแตกต่างด้านแรงจูงใจ ที่มีอยู่ในหมู่นักพัฒนามาโดยตลอด แต่ก่อนหน้านี้มองไม่ค่อยเห็น
- ความเศร้าจากการสูญเสียความพึงพอใจเชิงช่างฝีมือในการเขียนโค้ดด้วยตัวเอง กับความเศร้าจาก การเปลี่ยนแปลงของระบบนิเวศและสภาพแวดล้อมด้านอาชีพ รอบโค้ด เป็นความสูญเสียคนละแบบ
- จากมุมมองของนักพัฒนาที่เขียนโปรแกรมมาตั้งแต่ยุค 1980 การเขียนโค้ดด้วย AI คือ ส่วนต่อขยายตามธรรมชาติของลำดับขั้นของนามธรรม ตั้งแต่ C64 BASIC ไปจนถึงแอสเซมบลี จากฟังก์ชันไปสู่การออกแบบระบบ
- ประสบการณ์หลายสิบปีในการอ่านและรีวิวโค้ดยังคงใช้ได้ในฐานะ สัญชาตญาณและวิจารณญาณ สำหรับตัดสินคุณภาพของโค้ดที่ AI สร้างขึ้น
- กุญแจสำคัญคือการตระหนักว่าตนเองกำลังรู้สึกเศร้าจากความสูญเสียแบบไหน เพราะการสูญเสียเชิงช่างฝีมือกับการสูญเสียเชิงบริบทนั้นต้องการ วิธีรับมือที่ต่างกัน
การเริ่มต้นของการไว้อาลัย
- James Randall เป็นนักพัฒนาที่เริ่มเขียนโปรแกรมตั้งแต่อายุ 7 ขวบในยุค 1980 และอธิบายว่าประสบการณ์ของการค้นพบและการค่อย ๆ แกะปัญหาด้วยความพากเพียรนั้นถูก "บีบอัด" ลง
- มันไม่ได้หายไปทั้งหมด แต่มีบางอย่างสูญหายไประหว่างกระบวนการบีบอัดนั้น
- Nolan Lawson แสดงความรู้สึกสูญเสียอย่างตรงไปตรงมามากกว่าในบทความ "We Mourn Our Craft"
- เราจะโหยหาความรู้สึกของการปั้นโค้ดด้วยมือ ประสบการณ์ไล่บั๊กด้วยดีบักเกอร์ตอนตี 2 และความภูมิใจที่ว่า "ฉันเป็นคนสร้างมัน"
- ความรู้สึกเหล่านี้เป็นอารมณ์ที่แท้จริงต่อการสูญเสียจริง แต่เมื่ออ่านแล้วก็ยังรู้สึกต่อเนื่องว่าพวกเขากำลัง ไว้อาลัยให้กับคนละสิ่ง
แก่นของความแตกแยก
- การเขียนโค้ดด้วย AI กำลังเผยให้เห็น ความแตกแยกที่มีอยู่มาโดยตลอดแต่ไม่ชัดเจนนัก ในหมู่นักพัฒนา
- ก่อนยุค AI ทั้งสองฝ่ายต่างก็ทำงานในแบบเดียวกัน: ใช้เอดิเตอร์เดียวกัน ภาษาเดียวกัน และเวิร์กโฟลว์ pull request แบบเดียวกัน
- นักพัฒนาแนวช่างฝีมือ กับ นักพัฒนาแนวมุ่งผลลัพธ์ นั่งทำงานข้างกัน ปล่อยผลิตภัณฑ์เดียวกันออกมา และแทบแยกไม่ออก
- แรงจูงใจ ของการทำงานไม่เคยมองเห็น เพราะ กระบวนการ เหมือนกัน
- ตอนนี้ได้เกิดทางแยกขึ้นแล้ว: จะมอบหมายให้เครื่องเขียนโค้ดและคอยกำกับว่าจะสร้างอะไร หรือจะลงมือเขียนโค้ดด้วยตัวเอง
- ณ ช่วงเวลาที่ต้องเลือกนี้เอง เหตุผล ที่แต่ละคนเริ่มเขียนโปรแกรมตั้งแต่แรกจึงปรากฏชัด
- แม้แต่ในชั้นเรียนคณิตศาสตร์และวิทยาการคอมพิวเตอร์สมัยมหาวิทยาลัย ก็มีความแตกแยกแบบเดียวกันอยู่แล้ว: คนที่ชอบบทพิสูจน์และทฤษฎีในตัวมันเอง กับคนที่สนใจเฉพาะตอนที่ นำไปประยุกต์ใช้ เท่านั้น
ความเศร้าของฉันต่างออกไป
- ตลอด 18–24 เดือนที่ผ่านมา ผู้เขียนได้ผ่านทั้งช่วงเวลาแห่งความเศร้าและการปรับตัวจริง ๆ
- เคย กลัวว่าจะไม่สามารถเข้าใจเครื่องมือใหม่ได้ แต่ในความเป็นจริงกลับเข้าใจมันได้
- เคยกังวลว่าจะสูญเสียความสามารถในการตัดสินคุณภาพของโค้ดที่ AI สร้าง แต่ประสบการณ์หลายสิบปีในการอ่านและรีวิวโค้ด ไม่ได้ระเหยหายไป
- เมื่อมีบางอย่างผิดพลาดก็ยังมองออก และ สายตาเชิงประเมิน ก็ยังคงอยู่เหมือนเดิม
- เคยกลัวว่าความสนุกแบบการแก้ปริศนาจะจบลง แต่จริง ๆ แล้วแค่ขยับขึ้นไปอีกหนึ่งระดับ
- ตั้งแต่การจัดวางไบต์บน C64 → การเขียนฟังก์ชัน → การออกแบบระบบ เป็น รูปแบบเดียวกันกับทุกการเปลี่ยนผ่าน ในอาชีพที่ผ่านมา
- ตอนนี้ปริศนาได้ย้ายไปอยู่ในเรื่องสถาปัตยกรรม การจัดองค์ประกอบ และการสั่งการผู้ช่วย
- ความกลัวส่วนใหญ่ไม่สามารถคงอยู่ได้เมื่อปะทะกับความเป็นจริง แต่ก็ยังมีความเศร้าบางส่วนหลงเหลืออยู่
ความเศร้าที่เหลืออยู่
- ไม่ใช่ความเศร้าที่ไม่ได้เขียน HTML ด้วยมือ แต่เป็นความเศร้าต่อ ระบบนิเวศเว็บแบบเปิด เอง
- การที่ AI เรียนรู้จากทรัพยากรส่วนรวม และการ รวมศูนย์เพิ่มเติม ของผู้ที่กำหนดประสบการณ์อินเทอร์เน็ตของผู้คน คือความสูญเสียที่เกิดขึ้นจริง
- เป็นปัญหาที่ไม่หายไป ไม่ว่าจะเพิ่มผลิตภาพส่วนตัวได้มากแค่ไหนก็ตาม
- ความเศร้าต่อ ภูมิทัศน์อาชีพที่เปลี่ยนไป
- งานพัฒนาเว็บที่ทำมานานกว่า 30 ปี ไม่ได้เป็นสนามที่ร้อนแรงอีกต่อไป
- แอปมือถือได้ดึงบางส่วนไป และตอนนี้ วิศวกรรม AI ก็ขึ้นมาอยู่ในตำแหน่งนำ
- แม้จะคิดว่าตัวเองกำลังเปลี่ยนผ่านได้สำเร็จ แต่ความกังวลนั้นเป็นเรื่องจริงและยังไม่จบสิ้น
- แก่นของความเศร้านี้คือ ไม่ได้โหยหาการเขียนโค้ดในตัวมันเอง
- แต่เศร้ากับการที่ โลกที่อยู่รอบโค้ด กำลังเปลี่ยนไป
- ความเศร้าของ Randall และ Lawson เป็นเรื่องของ จิตวิญญาณช่างฝีมือ เอง ขณะที่ความเศร้าในบทความนี้เป็นเรื่องของ บริบทและเหตุผล
ไม่มีฝ่ายไหนผิด
- Kevin Lawver เสนอในบทความตอบกลับ Lawson ว่าควร ปรับทิศทาง จิตวิญญาณช่างฝีมือและความหลงใหล แทนที่จะยึดติดกับอดีต
- นอกเหนือจากการวางกรอบแบบความโหยหาอดีตปะทะกับความเป็นปฏิบัตินิยม สิ่งที่มีประโยชน์จริงคือการ ตระหนักถึงประเภทของความเศร้า ที่ตัวเองกำลังรู้สึก
- หากกำลังไว้อาลัยให้กับ ความสูญเสียเชิงช่างฝีมือ: คำว่า "ก็แค่ปรับตัวสิ" ไม่อาจแก้ปัญหาได้
- อาจต้องไปค้นหาความพึงพอใจแบบนั้นจากที่อื่น หรือยอมรับว่าความรู้สึกของการทำงานจะเปลี่ยนไป
- การที่จิตวิญญาณช่างฝีมือเคยเลี้ยงชีพได้มาจนถึงตอนนี้ ก็นับว่าเป็น ความโชคดี อยู่แล้ว
- หากกำลังไว้อาลัยให้กับ ความสูญเสียเชิงบริบท: ก็ยังมีทางตอบสนองที่ลงมือทำได้มากกว่า
- สามารถเรียนรู้เครื่องมือใหม่ ทำงานเพื่อเว็บในแบบที่ตนเองต้องการได้ แม้จะเป็นเพียง เว็บขนาดเล็ก ก็ตาม และสามารถทั้งเศร้าไปพร้อมกับการปรับตัวได้
- คำกล่าวของ Nolan Lawson: "ผมไม่ได้เฉลิมฉลองโลกใหม่ และก็ไม่ได้ต่อต้านมัน ดวงอาทิตย์ขึ้นและตก ผมโคจรไปอย่างไร้อำนาจ และคำประท้วงของผมหยุดมันไม่ได้"
- แต่การยอมรับอย่างซื่อตรงว่าท่ามกลางความเศร้าและความกลัวนั้น ยังมี ความตื่นเต้น อยู่เล็กน้อยด้วย
ทำให้คอมพิวเตอร์ทำงาน
- นับตั้งแต่เริ่มเขียนโปรแกรมในยุค 1980 ทุกภาษาที่ได้เรียนรู้ล้วนเป็น วิธีการไปสู่เป้าหมาย
- เป็นวิธีใหม่ที่จะทำให้คอมพิวเตอร์ทำในสิ่งที่เราต้องการ
- การเขียนโค้ดด้วย AI คือขั้นล่าสุดของเส้นทางนั้น เป็น ขั้นถัดไปบนบันได ไม่ใช่ความเปลี่ยนแปลงแบบขาดตอน
- เพียงแต่ตัวบันไดนั้นเองก็กำลังเปลี่ยน และอาคารที่เราพิงอยู่ก็เปลี่ยนไปด้วย จึงไม่มีใครรู้แน่ชัดว่าเรากำลังมุ่งหน้าไปทางไหน
- สิ่งที่แน่นอนคือ ความพึงพอใจในช่วงเวลาที่สิ่งซึ่งคิดและสร้างขึ้น ทำงานได้จริงนั้นไม่เคยเปลี่ยนไปตลอดกว่า 40 ปี
- เส้นทางของโค้ดที่พาไปถึงจุดนั้นเปลี่ยนไปแล้ว แต่ช่วงเวลาที่มันทำงานได้จริงยังคงเหมือนเดิม
7 ความคิดเห็น
ตื่นตูมกันเกินไปแล้ว
ผมมองว่างานอย่างเว็บโปรแกรมมิ่งให้ AI ทำแทนได้ถือเป็นเรื่องที่ดีมาก
ดูเหมือนว่าการเขียนโปรแกรมแบบอื่นจะมีคุณค่าที่สูงส่งอะไรบางอย่างสินะ
บางทีก็รู้สึกว่า HN มีช่วงอายุเฉลี่ยค่อนข้างสูงมาก และดูเหมือนเป็นคนที่ตามไม่ค่อยทันอยู่บ่อย ๆ
เลยมักจะอ่านข้ามโพสต์แนวลบแบบนี้ไปเลย (ไม่ใช่เชิงวิจารณ์นะ)
พูดเป็นข้อมูลไว้ก่อนว่า บางทีก็มีช่วงที่นึกถึงความสนุกของการลงมือเขียนโค้ดเองอยู่เหมือนกัน
ผมทำสายเว็บ เลยรู้สึกว่าอาจจะพอเป็นไปได้มากกว่าในงานแบบนี้
ตอนนี้ก็เกิน 3 เดือนแล้วที่ไม่ได้พิมพ์โค้ดเองเลย
เหนือสิ่งอื่นใด การพัฒนาแบบนี้มันสนุกมากจริง ๆ จนสุดท้ายก็กลับไปทำโอทีด้วยความสมัครใจบ่อย ๆ เหมือนตอนเด็ก ๆ
ถ้ากังวลเรื่อง AI ขนาดนั้น ก็แค่ไม่ต้องใช้มันก็พอไม่ใช่เหรอ
ผมสงสัยว่าตอนที่เครื่องมือ RAD ออกมา ผู้คนตอบสนองกันอย่างไร
ความเห็นจาก Hacker News
เป้าหมายของโปรแกรมเมอร์ที่ดีคือการ ทำให้ตัวเองไม่จำเป็นอีกต่อไป สมัยก่อนเคยนับ cycle ใน assembly และแพ็กบิตกันเป็นเรื่องปกติ แต่ต่อมาการใช้ compiler ก็กลายเป็นเรื่องธรรมดา เคยมีช่วงที่ต้องเขียนแอป CRUD เองทั้งหมด แต่ตอนนี้ framework ทำแทนแล้ว การจัดการหน่วยความจำ type system ภาษาแบบ high-level รวมถึงระบบ no-code/low-code ล้วนเป็นส่วนหนึ่งของวิวัฒนาการ สุดท้ายแล้วจุดประสงค์ของการเขียนโปรแกรมก็คือทำให้คอมพิวเตอร์ทำสิ่งที่เราไม่ต้องทำเอง
ผมคิดว่ารอยแยกที่แท้จริงคือ ความต่างทางวิธีคิด ระหว่างคนที่มองว่า ‘ซอฟต์แวร์เป็นสิ่งที่ปรับปรุงและทำความเข้าใจได้’ กับคนที่มองว่า ‘มันเป็นอุปสรรคชวนงงที่คนอื่นสร้างไว้’
ระบบทำงานวันละ 8 ชั่วโมงไม่ได้เกิดจากเทคโนโลยี แต่เป็นผลจากการต่อสู้ทางการเมือง
แต่ถ้าคนที่รับช่วงเป็นมนุษย์ อย่างน้อยก็ยังแบ่งเครดิตกันได้ผ่านการสอนงานหรือการจัดสภาพแวดล้อม
บทความของ Kellan “Code has always been the easy part” ก็พูดในทิศทางเดียวกัน คนรุ่นเราเข้าสู่วงการเทคโนโลยีเพราะเสพติด ความรู้สึกมีอำนาจควบคุม ที่เว็บมอบให้
unlessก็ช่วยให้ถ่ายทอด flow ได้เป็นธรรมชาติ แต่พอวิวัฒนาการหยุดลง แต่ละคนก็ขยายมันกันคนละทางจนเกิด codebase ที่เปราะบางAI coding ช่วยเพิ่มผลิตภาพได้แค่ราว 10% คอขวดที่แท้จริงคือ การเข้าใจว่าจะต้องสร้างอะไรและการโน้มน้าวให้คนเห็นตรงกัน การเขียนโค้ดเป็นเพียงเครื่องมือเพื่อทำความเข้าใจสิ่งนั้น
ถึงอย่างนั้นก็ควรพยายามต่อต้าน