ในปี 2003 ผมก่อตั้ง DCSL Software ซึ่งต่อมากลายเป็น One Beyond ผมออกจากบริษัทในปี 2023 หลังจากขยายบริษัทไปต่างประเทศและเติบโตจนมีพนักงานมากกว่า 300 คน หลังจากนั้น ผม ก่อตั้งสตาร์ทอัพด้านหุ่นยนต์และระดมทุนได้มากกว่า 4 ล้านปอนด์ในรอบ Seed Funding
ผมไม่เคยคิดว่าจะกลับมาเขียนซอफต์แวร์ระดับ Production อีกครั้ง ผมหลุดออกจากการเขียนโค้ดในแต่ละวันตั้งแต่ปี 2014 ไม่ใช่เพราะผม ทำไม่ได้ แต่เพราะ นั่นคือ สิ่งที่เกิดขึ้นเมื่อบริษัทขยายตัว คุณจ้างคนที่เก่งกว่าคุณในด้านการปฏิบัติงาน คุณมุ่งเน้นไปที่การเป็นผู้นำ และค่อยๆ ห่างไกลจากคีย์บอร์ด เป็นเวลา เกือบทศวรรษ นั่นรู้สึกเป็นธรรมชาติอย่างสมบูรณ์
สิ่งที่ผม ไม่คาดคิด คือเกือบสิบปีต่อมา ผมพบว่าตัวเองกลับมานั่งในตำแหน่งนักพัฒนาอีกครั้ง — ไม่ใช่ด้วยความคิดถึง แต่เป็นเชิงปฏิบัติ ไม่ใช่การลองเล่น แต่เป็นการสร้างแพลตฟอร์มหุ่นยนต์ที่ซับซ้อนอย่างแท้จริง และไม่ใช่ด้วยการเรียนรู้ Framework หรือภาษาทุกตัวที่ผ่านผมไป แต่ด้วยการทำงานในแบบที่ แตกต่างโดยพื้นฐาน
การเปลี่ยนแปลงส่วนบุคคลนี้คือสัญญาณที่ชัดเจนที่สุดที่ ผม เคยเห็นว่ามีบางอย่างเปลี่ยนแปลงไปโครงสร้างในการพัฒนาซอฟต์แวร์
เมื่อผมเริ่มต้น เราอยู่ในยุค Waterfall อย่างแน่นหนา นั่น ไม่ใช่ อุดมการณ์ แต่เป็นเรื่องเศรษฐศาสตร์ ซอฟต์แวร์ใช้เวลาและค่าใช้จ่ายในการสร้างมาก ดังนั้นวิธีที่สมเหตุสมผลเพียงอย่างเดียวคือการคิด อย่างหนัก ล่วงหน้า
เราเขียนข้อกำหนดโดยละเอียดเพราะเราจำเป็นต้องทำ สัญญาขึ้นอยู่กับมัน การส่งมอบขึ้นอยู่กับมัน การเขียน Spec ที่ดีเป็นทักษะเฉพาะทาง และผมบังเอิญ ค่อนข้างเก่ง ในเรื่องนี้ ผมสามารถมองเห็นภาพว่าผลิตภัณฑ์สุดท้ายจะมีหน้าตาอย่างไรก่อนที่มันจะมีอยู่จริง คาดการณ์พื้นที่ที่ซับซ้อน และอธิบายพฤติกรรมด้วยความแม่นยำเพียงพอที่ทีมงานสามารถสร้างตามได้
ความสามารถนั้นหายาก และสอนได้ยาก หลายคนต่อสู้กับมันเพราะการจินตนาการระบบที่ซับซ้อนที่ ยังไม่ มีอยู่เป็นเรื่องยากจริงๆ แต่มันสำคัญ เพราะการทำผิดพลาดในช่วงปลายของกระบวนการนั้นเจ็บปวดและมีค่าใช้จ่ายสูง
เมื่อเวลาผ่านไป อุตสาหกรรมเคลื่อนไปสู่ Agile อย่างเปิดเผย สิ่งนี้ถูกนำเสนอว่าเป็นวิธีที่ดีกว่าในการตอบสนองต่อการเปลี่ยนแปลง อย่างเงียบๆ มันยังเป็นการยอมรับด้วยว่าสำหรับระบบขนาดใหญ่ที่ทำงานระยะยาว ไม่มีข้อกำหนดใดรอดมาได้อย่างสมบูรณ์ ธุรกิจเปลี่ยน ผู้ใช้เปลี่ยน เทคโนโลยีเปลี่ยน และการแสร้งทำเป็นอย่างอื่นมักทำให้เกิดอันตรายมากกว่าประโยชน์
Agile เป็นเรื่องปฏิบัติจริง แต่มันมาพร้อมกับ ต้นทุน เรา ละทิ้งไปส่วนใหญ่ การออกแบบเชิงลึกล่วงหน้าและแทนที่ด้วยการค้นพบแบบค่อยเป็นค่อยไป นั่นได้ผล แต่มันยังทำให้เกิดกรอบความคิดที่การคิดไปข้างหน้าไกลเกินไปถูกมองว่าไม่จำเป็นหรือแม้กระทั่งเสี่ยง
เหตุผลที่ ผม สามารถกลับเข้าสู่การพัฒนาแบบลงมือทำ ไม่ใช่ เพราะผมพบเวลาหรือความปรารถนาที่จะเรียนรู้เครื่องมือของทศวรรษอีกครั้งอย่างกะทันหัน แต่เพราะ AI ได้เปลี่ยนต้นทุนของการทดลองโดยพื้นฐาน
นี่คือส่วนที่มักถูกเข้าใจผิด การเปลี่ยนแปลงที่แท้จริง ไม่ใช่ ว่าโค้ดเขียนได้เร็วขึ้น แต่คือ การลองสิ่งต่างๆ ตอนนี้ถูก เร็ว และ ย้อนกลับได้ส่วนใหญ่
สิ่งที่เคยใช้เวลานักพัฒนาเป็นสัปดาห์ตอนนี้สามารถ ลอง ได้ในไม่กี่นาที คุณสามารถสำรวจแนวทาง ดูว่ามันรู้สึกอย่างไร ทิ้งมันไปทั้งหมด และลองทิศทางอื่นด้วยการ ลงโทษน้อยมาก นั่น ไม่ได้ เป็นไปได้ก่อนหน้านี้
ในอดีต มีความผูกพันทางอารมณ์และการเงินที่แข็งแกร่งต่อโค้ด ถ้าบางอย่างใช้เวลานักพัฒนาสองคนสามสัปดาห์ในการสร้าง คุณย่อมลังเลที่จะโยนมันทิ้งอย่างเข้าใจได้ การตัดสินใจแข็งตัวเร็ว ไม่ใช่เสมอไปเพราะมันถูกต้อง แต่เพราะการย้อนกลับมันมีค่าใช้จ่ายสูงเกินไป
ข้อจำกัดนั้นหายไป และนี่คือสิ่งที่ดึงผมกลับเข้ามา ตอนนี้ผมสามารถ ทำงาน ในระดับที่ ผม แข็งแกร่งที่สุด — เข้าใจปัญหา กำหนดรูปร่างระบบ สังเกตเมื่อความซับซ้อนกำลังเข้ามา — ในขณะที่ AI จัดการกลไก ผม ไม่ได้เขียนโค้ดในแบบที่ผมทำตอนอายุยี่สิบ ผม กำลังกำกับมัน ปรับแต่งมัน แก้ไขมัน และบางครั้งหยุดมันไม่ให้ไปในทิศทางที่ผิดพลาดโดยสิ้นเชิง ในทางปฏิบัติ สิ่งนี้รู้สึกใกล้เคียงกับการเป็นผู้นำทีมมากกว่าการเขียนโค้ด คุณเป็นหัวหน้าอย่างมีประสิทธิผล — กำหนดทิศทาง ตรวจสอบผลลัพธ์ สังเกตทางลัดที่เกียจคร้าน และผลักดันกลับเมื่อบางอย่าง ไม่ได้ รู้สึกถูกต้อง
มันจะง่ายที่จะสันนิษฐานว่าอิสรภาพใหม่นี้ทำให้การออกแบบสำคัญน้อยลง ในความเป็นจริง มัน ทำให้สำคัญมากขึ้น
การมีความคิดที่ชัดเจนและละเอียดเกี่ยวกับสิ่งที่คุณพยายามสร้างยังคงมีคุณค่าอย่างมาก อันที่จริง มันปรับปรุงผลลัพธ์ของ AI อย่างแข็งขัน เจตนาที่ชัดเจนยิ่งขึ้น ผลลัพธ์ยิ่งดีขึ้น การคิดที่คลุมเครือเพียงแค่ผลิตระบบที่คลุมเครือได้เร็วขึ้น สิ่งที่ สำคัญที่ต้องเข้าใจคือ AI มีพฤติกรรมเหมือนคนมาก มันต้องการช่วยเหลือ มันต้องการให้คำตอบคุณ ถ้า คุณ คลุมเครือ มันจะเติมช่องว่าง ถ้า คุณ ประมาท มันจะสันนิษฐาน ถ้าคุณ ไม่ ท้าทายมัน มันจะมั่นใจดำเนินต่อไปในเส้นทางที่ผิด
ความแตกต่างคือการออกแบบไม่ใช่สิ่งประดิษฐ์ที่เปราะบางแบบครั้งเดียวที่ต้องอยู่รอดโดยไม่เปลี่ยนแปลงเป็นปีๆ มันกลายเป็นคู่มือสำหรับการทดลองมากกว่าข้อจำกัดต่อมัน คุณสามารถถือวิสัยทัศน์ที่แข็งแกร่งว่า คุณ กำลังมุ่งหน้าไปที่ไหน ในขณะที่ยังคงเต็มใจที่จะลอง ทิ้ง และพัฒนาเส้นทางที่นำคุณไปที่นั่น
ทักษะใหม่คือการรู้ว่าเมื่อใดการสำรวจมีประสิทธิผลและเมื่อใด มัน เป็นเพียงเสียงรบกวน AI จะสร้างโครงสร้างต่อไปอย่างมีความสุขนานหลังจากที่ควรจะถูกทำให้เรียบง่ายแล้ว มัน ไม่ รู้ว่าเมื่อใดไฟล์ใหญ่เกินไป เมื่อใด Abstraction รั่วไหล หรือเมื่อใดบางอย่างที่ "ใช้งานได้" วันนี้จะทำให้เจ็บปวดทีหลัง สัญชาตญาณเหล่านั้นยังคงมาจากประสบการณ์
เมื่อการทดลองกลายเป็นเรื่องถูก สมมติฐานที่ยึดถือมานานหลายอย่างหยุดถือ การวางแผนไม่ใช่เรื่องของการล็อกทุกอย่างล่วงหน้าอีกต่อไป มัน เกี่ยวกับการกำหนดเจตนา ข้อจำกัด และขอบเขต
การประมาณการกลายเป็นเรื่องของการทำนายความพยายามน้อยลงและเกี่ยวกับการเข้าใจพื้นที่ที่ คุณ กำลังสำรวจมากขึ้น
และความสัมพันธ์ของเรากับโค้ดเปลี่ยนไปโดยสิ้นเชิง มีความผูกพันกับการใช้งานเฉพาะน้อยลงมากและมุ่งเน้นไปที่พฤติกรรม โครงสร้าง และผลลัพธ์มากขึ้น
นี่คือเหตุผลที่อุตสาหกรรมพัฒนาซอฟต์แวร์รู้สึกไม่มั่นคง หลายคนกำลังพยายามใช้โมเดลทางความคิดเก่ากับเครื่องมือใหม่ นั่นได้ผลสักพัก แต่มันพลาดประเด็น
เหตุผลที่ ผม มั่นใจว่าการเปลี่ยนแปลงนี้เป็นแบบถาวรนั้นง่าย: ผม คงไม่ สร้างอีกครั้งเป็นอย่างอื่น
เหตุผลเดียวที่ผมสามารถกลับมาพัฒนาแบบลงมือทำได้อย่างน่าเชื่อหลังจากห่างไปทศวรรษคือข้อจำกัดที่ผลักดันผมออกไปตั้งแต่แรกไม่มีผลอีกต่อไป ซอฟต์แวร์ตอนนี้สามารถพัฒนาผ่านการทดลองที่ถูกนำทางในแบบที่ ไม่ได้ เป็นไปได้ก่อนหน้านี้
นี่ ไม่ได้ หมายความว่าประสบการณ์สำคัญน้อยลง มันหมายความว่ามันสำคัญในทางที่แตกต่าง คุณค่าไม่ใช่อยู่ที่การจำ Syntax หรือ Framework อีกต่อไป แต่อยู่ที่ การตัดสิน โครงสร้าง และการรู้ว่าเมื่อใดควรหยุด
นี่ไม่ใช่จุดจบของการพัฒนาซอฟต์แวร์ แต่เป็นจุดจบของโมเดลเก่า และเมื่อ คุณ ทำงานในแบบนี้แล้ว ไม่มี การกลับไป

