เป็นที่ทราบกันดีว่า AI สร้างสรรค์ (generative AI) สามารถสร้างภาพได้ ไม่ว่าจะเป็นภาพถ่ายที่สมจริง ภาพประกอบ หรือภาพวาด เพียงทำตามคำสั่ง
ขณะเดียวกัน ในโลกธุรกิจ ก็กำลังให้ความสนใจกับความสามารถของ generative AI ในการสร้างโปรแกรม
AI แบบสนทนาเกิดขึ้นได้ด้วยแบบจำลองภาษาขนาดใหญ่ (large language models) ซึ่งทำให้มีความเชี่ยวชาญอย่างมากในการสนทนาด้วยภาษาต่างๆ และการแปลระหว่างภาษาเหล่านั้น
ภาษาโปรแกรมมิ่งที่ใช้ในการสร้างโปรแกรม ก็เป็นภาษาประเภทหนึ่งเช่นกัน โปรแกรมเมอร์ที่เป็นมนุษย์ก็เปรียบเสมือนการแปลความต้องการซอฟต์แวร์ที่ได้รับด้วยวาจาไปเป็นภาษาโปรแกรมมิ่ง
ด้วยเหตุนี้ generative AI แบบสนทนาที่ใช้แบบจำลองภาษาขนาดใหญ่จึงมีความเชี่ยวชาญในการเขียนโปรแกรมอย่างมากเช่นกัน
นอกจากนี้ การเขียนโปรแกรมยังเป็นงานทางปัญญาประเภทหนึ่งที่มักจะสามารถตรวจสอบความถูกต้องของผลลัพธ์ได้โดยอัตโนมัติและทันที เนื่องจากเมื่อรันโปรแกรมที่สร้างขึ้นแล้ว จะสามารถระบุได้โดยอัตโนมัติว่าได้ผลลัพธ์ตามที่ต้องการหรือไม่
อันที่จริงแล้ว โปรแกรมเมอร์ที่เป็นมนุษย์มักจะสร้างโปรแกรมทดสอบพร้อมกับโปรแกรมหลัก เพื่อยืนยันว่าโปรแกรมหลักทำงานได้ตามที่ตั้งใจไว้ และตรวจสอบพฤติกรรมของโปรแกรมในขณะที่การพัฒนาดำเนินไป
Generative AI ก็สามารถดำเนินการเขียนโปรแกรมไปพร้อมกับการทดสอบได้เช่นกัน ทำให้มีกลไกที่ว่า หากมนุษย์ให้คำแนะนำที่แม่นยำ AI ก็สามารถทำซ้ำและสร้างโปรแกรมจนเสร็จสิ้นได้โดยอัตโนมัติจนกว่าจะผ่านการทดสอบ
แน่นอนว่า ด้วยข้อจำกัดของความสามารถในการเขียนโปรแกรมของ generative AI และความคลุมเครือของคำสั่งจากมนุษย์ มีหลายกรณีที่การทดสอบไม่ผ่านแม้จะทำซ้ำหลายครั้ง นอกจากนี้ การทดสอบอาจไม่เพียงพอหรือไม่ถูกต้อง ซึ่งมักนำไปสู่ข้อผิดพลาดหรือปัญหาในโปรแกรมที่เสร็จสมบูรณ์
อย่างไรก็ตาม เมื่อความสามารถของ generative AI ดีขึ้น วิศวกรที่เป็นมนุษย์ก็ปรับปรุงวิธีการให้คำแนะนำ และความรู้ด้านการเขียนโปรแกรมของ generative AI ก็ได้รับการปรับปรุงผ่านการค้นหาทางอินเทอร์เน็ต ขอบเขตของการสร้างโปรแกรมที่เหมาะสมโดยอัตโนมัติจึงเพิ่มขึ้นทุกวัน
นอกจากนี้ ด้วยความสนใจจากโลกธุรกิจ บริษัทชั้นนำที่ดำเนินการวิจัยและพัฒนา generative AI ก็กำลังมุ่งเน้นไปที่การปรับปรุงความสามารถในการเขียนโปรแกรมของ generative AI ด้วยเช่นกัน
ในสถานการณ์เช่นนี้ คาดการณ์ได้ว่าการขยายขอบเขตและปริมาณที่สามารถมอบหมายการเขียนโปรแกรมอัตโนมัติให้ generative AI ได้จะเร่งตัวขึ้น
มีหลายกรณีที่บุคคลซึ่งไม่เคยพัฒนาโปรแกรมมาก่อนได้ตั้งค่าสภาพแวดล้อมการพัฒนาขั้นพื้นฐานโดยอิงจากข้อมูลอินเทอร์เน็ต จากนั้นจึงให้ generative AI จัดการการเขียนโปรแกรม ทำให้โปรแกรมเสร็จสมบูรณ์ด้วยความร่วมมือกัน
ตัวผมเอง ในฐานะโปรแกรมเมอร์ ก็ใช้ generative AI ในการเขียนโปรแกรม เมื่อผมเข้าใจหลักการแล้ว ผมสามารถสร้างซอฟต์แวร์ให้เสร็จสมบูรณ์ได้โดยไม่ต้องแก้ไขโปรแกรมเลย เพียงแค่คัดลอกโปรแกรมลงในไฟล์ หรือตัดและวางตามคำแนะนำของ generative AI
แน่นอนว่ามีหลายครั้งที่ผมประสบปัญหา ซึ่งส่วนใหญ่เกิดจากการตั้งค่าคอมพิวเตอร์หรือเครื่องมือพัฒนาโปรแกรมของผมแตกต่างจากค่าเริ่มต้นเล็กน้อย หรือส่วนประกอบซอฟต์แวร์ฟรีใหม่กว่าสิ่งที่ generative AI เรียนรู้ ทำให้เกิดช่องว่างความรู้ หรือบางครั้งเนื้อหาที่ผมร้องขอค่อนข้างไม่ปกติ
ในกรณีส่วนใหญ่ หากไม่มีความแตกต่างเล็กน้อยหรือสถานการณ์พิเศษดังกล่าว และผมสั่งให้สร้างคุณสมบัติซอฟต์แวร์ที่พบได้ทั่วไป โปรแกรมที่เหมาะสมก็จะถูกสร้างขึ้น
สู่ยุคของ Liquidware
ในฐานะนักพัฒนาซอฟต์แวร์ ผมสามารถเผยแพร่ซอฟต์แวร์ที่ผมพัฒนาได้ และซอฟต์แวร์ที่เรา วิศวกร ได้เผยแพร่ออกไปนั้น ก็ถูกนำไปใช้งานโดยผู้ใช้หลากหลายกลุ่ม
อนาคตที่ใครๆ ก็สามารถพัฒนาซอฟต์แวร์ด้วย generative AI ได้นั้น เป็นส่วนขยายจากการอภิปรายที่ผ่านมา
อย่างไรก็ตาม นี่ไม่ใช่แค่การเปลี่ยนแปลงในฝั่งการพัฒนาซอฟต์แวร์เท่านั้น แต่ยังจะมีการเปลี่ยนแปลงที่สำคัญเกิดขึ้นในฝั่งผู้ใช้ด้วย
การสั่งให้ generative AI ด้วยวาจาเพื่อเพิ่มหรือเปลี่ยนคุณสมบัติในซอฟต์แวร์โดยอัตโนมัตินั้น สามารถทำได้ไม่เพียงแต่ในขั้นตอนการพัฒนาก่อนการเผยแพร่ซอฟต์แวร์ แต่ยังสามารถทำได้ในขณะที่กำลังใช้งานอยู่ ยิ่งไปกว่านั้น ผู้ใช้ซอฟต์แวร์เองก็สามารถทำได้
นักพัฒนาซอฟต์แวร์เพียงแค่กำหนดขอบเขตที่อนุญาตให้เปลี่ยนแปลงได้และขอบเขตที่ไม่สามารถเปลี่ยนแปลงได้ แล้วเผยแพร่ซอฟต์แวร์พร้อมคุณสมบัติการปรับแต่งที่ขับเคลื่อนโดย generative AI
สิ่งนี้จะช่วยให้ผู้ใช้สามารถขอให้ generative AI เปลี่ยนแปลงปัญหาเล็กน้อยในการใช้งาน หรือความชอบในการออกแบบหน้าจอได้
นอกจากนี้ ยังสามารถเพิ่มคุณสมบัติที่สะดวกสบายที่พบในแอปอื่นๆ ดำเนินการรวมการทำงานหลายอย่างด้วยการคลิกเพียงครั้งเดียว หรือดูหน้าจอที่เข้าถึงบ่อยๆ บนจอแสดงผลเดียวได้
จากมุมมองของนักพัฒนาซอฟต์แวร์ การเปิดใช้งานการปรับแต่งของผู้ใช้เช่นนี้มีข้อดีอย่างมาก มันช่วยลดความจำเป็นที่พวกเขาจะต้องเพิ่มคุณสมบัติตามคำขอของผู้ใช้ และเมื่อพิจารณาว่ามันสามารถเพิ่มความนิยมของซอฟต์แวร์ได้โดยหลีกเลี่ยงข้อเสนอแนะเชิงลบและความไม่พอใจเกี่ยวกับการใช้งาน ถือเป็นชัยชนะครั้งใหญ่
เมื่อผู้ใช้สามารถเปลี่ยนแปลงหน้าจอและฟังก์ชันได้อย่างอิสระในลักษณะนี้ แนวคิดดังกล่าวจะเบี่ยงเบนไปจากสิ่งที่เราเรียกกันว่า "ซอฟต์แวร์" อย่างมีนัยสำคัญ
จะเหมาะสมกว่าหากเรียกสิ่งนี้ว่า "liquidware" เพื่อสื่อความหมายว่ามันมีความยืดหยุ่นและปรับตัวได้มากกว่าซอฟต์แวร์ (ซึ่งมีความยืดหยุ่นเมื่อเทียบกับฮาร์ดแวร์) และมันเข้ากับผู้ใช้ได้อย่างสมบูรณ์แบบ
ในอดีต ฟังก์ชันต่างๆ ถูกทำให้เป็นจริงโดยฮาร์ดแวร์เท่านั้น แต่ต่อมาซอฟต์แวร์ที่สามารถเปลี่ยนได้ก็เกิดขึ้น ทำให้ฟังก์ชันต่างๆ สามารถเกิดขึ้นได้จากการรวมกันของฮาร์ดแวร์ + ซอฟต์แวร์
จากนั้น เราสามารถนึกถึง liquidware ที่กำลังจะเกิดขึ้น ซึ่งหมายถึงส่วนต่างๆ ที่สามารถแก้ไขได้โดย generative AI ดังนั้น ฟังก์ชันโดยรวมจะเกิดขึ้นได้ด้วยฮาร์ดแวร์ + ซอฟต์แวร์ (จัดหาโดยนักพัฒนา) + liquidware (การแก้ไขของผู้ใช้)
ในยุคของ liquidware นี้ แนวคิดการแก้ไขของผู้ใช้จะแพร่หลายอย่างรวดเร็ว
แนวคิดการแก้ไขที่ก้าวล้ำที่ผู้ใช้คนหนึ่งคิดค้นขึ้น อาจกลายเป็นหัวข้อสนทนายอดนิยมบนโซเชียลมีเดีย ทำให้ผู้อื่นเลียนแบบและแก้ไข liquidware ต่างๆ
นอกจากนี้ liquidware ที่สามารถรวมและจัดการซอฟต์แวร์ประเภทต่างๆ ได้ย่อมต้องเกิดขึ้น สิ่งนี้จะช่วยให้ผู้ใช้สามารถดูไทม์ไลน์จากแพลตฟอร์ม SNS ที่แตกต่างกันหลายแพลตฟอร์มในแอปเดียว หรือรวมผลการค้นหาจากแพลตฟอร์มจำนวนมากเข้าด้วยกัน
ด้วยวิธีนี้ ในโลกที่ liquidware แพร่หลาย อุปกรณ์ต่างๆ รวมถึง PC และสมาร์ทโฟน จะมอบฟังก์ชันที่เข้ากับชีวิตและกิจกรรมของแต่ละบุคคลได้อย่างสมบูรณ์แบบ
ปรากฏการณ์ที่กำลังเกิดขึ้นในปัจจุบัน
สิ่งสำคัญสำหรับวิศวกรซอฟต์แวร์เช่นผมคือ liquidware ไม่ใช่แนวคิดในอนาคต หรือสิ่งที่อยู่ห่างออกไปหลายปี
เป็นเพราะ liquidware ที่เรียบง่ายนั้นสามารถทำได้แล้วในปัจจุบัน
ตัวอย่างเช่น สมมติว่าผมเป็นวิศวกรที่กำลังพัฒนาเว็บแอปพลิเคชันสำหรับเว็บไซต์อีคอมเมิร์ซของบริษัทผม
เว็บแอปพลิเคชันดังกล่าวโดยทั่วไปจะมีฐานข้อมูล ระบบจัดการการขาย และระบบจัดส่งสินค้าบนเซิร์ฟเวอร์ที่บริษัทจัดการเองหรือบริการคลาวด์ที่ทำสัญญาไว้ เมื่อผู้ใช้ทำการซื้อ ระบบเหล่านี้จะเชื่อมโยงกันเพื่อรวบรวมการชำระเงินและจัดส่งสินค้า
ระบบหลักและฐานข้อมูลสำหรับการดำเนินงานเหล่านี้ไม่สามารถเปลี่ยนแปลงได้ตามอำเภอใจ
อย่างไรก็ตาม หากการออกแบบเว็บไซต์อีคอมเมิร์ซที่ผู้ใช้เห็นได้รับการแก้ไขเพื่อความสะดวกของผู้ใช้แต่ละราย โดยปกติแล้วจะไม่ก่อให้เกิดปัญหาเล็กน้อยเลย แน่นอนว่าหากการเปลี่ยนแปลงของผู้ใช้คนหนึ่งส่งผลกระทบต่อหน้าจอของผู้ใช้รายอื่น นั่นเป็นปัญหา แต่การปรับแต่งเฉพาะสำหรับผู้ใช้แต่ละรายนั้นไม่เป็นไร
สามารถปรับเปลี่ยนได้หลายวิธี: การขยายขนาดข้อความ การเปลี่ยนพื้นหลังเป็นโทนสีเข้ม การย้ายปุ่มที่กดบ่อยๆ ไปยังตำแหน่งที่เข้าถึงได้ง่ายด้วยมือซ้าย การเรียงลำดับสินค้าตามราคาในหน้าจอรายการ หรือการแสดงรายละเอียดของผลิตภัณฑ์สองรายการเคียงข้างกัน
ในทางเทคนิค การแก้ไขเหล่านี้สามารถทำได้โดยการแก้ไขไฟล์การตั้งค่าและโปรแกรมต่างๆ เช่น HTML, CSS และ JavaScript ที่แสดงผลหน้าจอบนเบราว์เซอร์
ในด้านความปลอดภัย ไฟล์เหล่านี้เดิมทำงานบนเว็บเบราว์เซอร์ ดังนั้นวิศวกรที่คุ้นเคยกับเว็บแอปพลิเคชันสามารถแก้ไขได้ ดังนั้นจึงจัดการเฉพาะฟังก์ชันและข้อมูลที่ปลอดภัยต่อการแก้ไขเท่านั้น
ดังนั้น ในฝั่งเซิร์ฟเวอร์ของเว็บแอปพลิเคชันอีคอมเมิร์ซ เราสามารถจัดเก็บไฟล์เหล่านี้แยกกันสำหรับผู้ใช้แต่ละคนที่เข้าสู่ระบบ เพิ่มหน้าจอสำหรับการสนทนากับ AI แชท และสร้างกลไกในการแก้ไขไฟล์ HTML, CSS และ JavaScript ของผู้ใช้คนนั้นบนเซิร์ฟเวอร์ตามคำขอของพวกเขา
หากคุณให้ข้อความนี้ พร้อมกับข้อมูลการกำหนดค่าและซอร์สโค้ดของเว็บแอปพลิเคชันอีคอมเมิร์ซที่มีอยู่แก่ generative AI มันน่าจะให้ขั้นตอนและโปรแกรมที่จำเป็นในการเพิ่มฟังก์ชันการทำงานดังกล่าว
ด้วยวิธีนี้ liquidware จึงเป็นหัวข้อปัจจุบันอยู่แล้ว จึงไม่น่าแปลกใจเลยที่มันจะเป็นปรากฏการณ์ที่กำลังดำเนินอยู่
วิศวกรทุกทิศทาง
แม้ว่าขอบเขตของการเขียนโปรแกรมอัตโนมัติที่ขับเคลื่อนด้วย AI จะขยายตัว และยุคของ liquidware ได้เริ่มต้นขึ้นแล้ว แต่การพัฒนาซอฟต์แวร์ยังไม่สามารถดำเนินการได้โดย generative AI เพียงอย่างเดียว
อย่างไรก็ตาม เป็นที่แน่นอนว่าน้ำหนักของการเขียนโปรแกรมในการพัฒนาซอฟต์แวร์จะลดลงอย่างมีนัยสำคัญ
นอกจากนี้ เพื่อให้การพัฒนาซอฟต์แวร์เป็นไปอย่างราบรื่น จำเป็นต้องมีความรู้และทักษะด้านวิศวกรรมที่หลากหลาย ไม่ใช่แค่การเขียนโปรแกรมทั่วไป แต่ยังรวมถึงโครงสร้างพื้นฐานคลาวด์, เครือข่าย, ความปลอดภัย, แพลตฟอร์ม, เฟรมเวิร์กการพัฒนา และฐานข้อมูล ซึ่งครอบคลุมทั้งระบบตั้งแต่ต้นจนจบ
บุคลากรที่มีความรู้และทักษะดังกล่าวเรียกว่า วิศวกร Full-stack
จนถึงขณะนี้ วิศวกร Full-stack เพียงไม่กี่คนดูแลการออกแบบโดยรวม ในขณะที่วิศวกรที่เหลือจะมุ่งเน้นเฉพาะการเขียนโปรแกรม หรือเชี่ยวชาญในด้านที่ไม่ใช่การเขียนโปรแกรมเฉพาะเจาะจงภายใน System Stack โดยแบ่งปันบทบาทในลักษณะนี้
อย่างไรก็ตาม เมื่อ generative AI เข้ามาดูแลส่วนของการเขียนโปรแกรม ต้นทุนการพัฒนาซอฟต์แวร์จะลดลงอย่างมาก นำไปสู่การวางแผนการพัฒนาซอฟต์แวร์ใหม่ๆ ที่หลากหลาย
ด้วยเหตุนี้ แต่ละโครงการพัฒนาจะต้องการวิศวกรที่สามารถเขียนโค้ดได้น้อยมาก แต่กลับต้องการวิศวกร Full-stack จำนวนมากแทน
ยิ่งไปกว่านั้น ในสถานการณ์นี้ การมีความรู้และทักษะ Full-stack เพียงอย่างเดียวจะไม่เพียงพอ เนื่องจากโครงการพัฒนาซอฟต์แวร์ที่หลากหลายจะต้องการซอฟต์แวร์ประเภทที่แตกต่างกัน ซึ่งหมายความว่าการพัฒนาจะไม่ถูกร้องขอภายใน System Stack เดียวกันเสมอไป นอกจากนี้ ความต้องการระบบผสมที่ต้องการ System Stack หลายตัวก็ย่อมจะเพิ่มขึ้น
ตัวอย่างเช่น System Stack สำหรับเว็บแอปพลิเคชันแตกต่างจาก System Stack สำหรับระบบธุรกิจหรือระบบหลัก ดังนั้นวิศวกร Full-stack ด้านเว็บแอปพลิเคชันจึงไม่สามารถได้รับมอบหมายให้พัฒนาโครงการระบบหลักได้
ยิ่งไปกว่านั้น เว็บแอปพลิเคชัน แอปพลิเคชันสมาร์ทโฟน และแอปพลิเคชัน PC มี System Stack ที่แตกต่างกัน ในโลกของซอฟต์แวร์ฝังตัว เช่น IoT System Stack จะเปลี่ยนแปลงไปโดยสิ้นเชิงขึ้นอยู่กับอุปกรณ์ที่ฝังอยู่
อย่างไรก็ตาม หากความสำคัญของการเขียนโปรแกรมลดลงและต้นทุนรวมของการพัฒนาซอฟต์แวร์ลดลง การพัฒนาระบบผสมที่รวมซอฟต์แวร์ที่มี System Stack ที่แตกต่างกันเข้าด้วยกันก็น่าจะเพิ่มขึ้น
ในขณะที่สิ่งนี้จะต้องการการรวบรวมวิศวกร Full-stack ที่แยกกันหลายคนเพื่อการพัฒนา วิศวกรที่สามารถดูแลภาพรวมทั้งหมดและทำการออกแบบพื้นฐานจะอยู่ในตำแหน่งที่สำคัญ
นี่หมายความว่าวิศวกรที่มีความรู้และทักษะรอบด้านใน System Stack จำนวนมาก ซึ่งก้าวข้ามขอบเขตของ System Stack แต่ละตัว จะเป็นที่ต้องการ
วิศวกรดังกล่าวมีแนวโน้มที่จะถูกเรียกว่า วิศวกรทุกทิศทาง (omnidirectional engineers)
และเช่นเดียวกับความต้องการวิศวกรที่สามารถเขียนโปรแกรมได้เท่านั้นที่จะลดลงเนื่องจาก generative AI ในที่สุดยุคที่ความต้องการวิศวกร Full-stack ที่จำกัดอยู่ใน System Stack เดียวก็จะลดลงเช่นกัน
หากคุณต้องการยังคงทำงานในฐานะวิศวกร IT ในยุคนั้น คุณต้องเริ่มมุ่งมั่นที่จะเป็นวิศวกรทุกทิศทางทันที
บทบาทของวิศวกรผู้รอบด้าน
ภาษาโปรแกรมมิ่ง แพลตฟอร์ม และเฟรมเวิร์กที่จะพัฒนาล้วนมีความหลากหลาย
อย่างไรก็ตาม นี่ไม่ได้หมายความว่าต้องเรียนรู้ทั้งหมด เนื่องจากวิศวกรผู้รอบด้านก็สามารถรับความช่วยเหลือจาก generative AI ได้เช่นกัน
หากมอบหมายให้ generative AI แม้แต่ภาษาโปรแกรมมิ่ง แพลตฟอร์ม หรือเฟรมเวิร์กที่ตนไม่เคยใช้ส่วนตัว ก็สามารถสร้างขึ้นได้ง่ายๆ เพียงแค่ให้คำแนะนำด้วยวาจา
แน่นอนว่ามีความเสี่ยงที่จะเกิดข้อผิดพลาดหรือช่องโหว่ด้านความปลอดภัย หรือการสะสมหนี้ทางเทคนิคที่อาจทำให้การแก้ไขในอนาคตเป็นเรื่องยาก
ในการระบุและลดความเสี่ยงเหล่านี้ จำเป็นต้องมีความรู้เกี่ยวกับภาษาหรือไลบรารีที่เฉพาะเจาะจง อย่างไรก็ตาม ความรู้นั้นก็สามารถหาได้จาก generative AI วิศวกรผู้รอบด้านเพียงแค่ต้องสามารถสร้างขั้นตอนและกลไกในการตรวจจับและป้องกันปัญหาเหล่านี้ หรือสำหรับการจัดการปัญหาหลังเกิดเหตุการณ์ได้อย่างละเอียดถี่ถ้วน
ขั้นตอนและกลไกเหล่านี้ไม่ได้เปลี่ยนแปลงอย่างมีนัยสำคัญเมื่อ System Stack แตกต่างกัน หากสามารถกำหนดขั้นตอนและกลไกเพื่อยับยั้งการเกิดข้อผิดพลาดและช่องโหว่ด้านความปลอดภัย และเพื่อให้มั่นใจถึงความสามารถในการขยายในอนาคตในระหว่างการพัฒนา ส่วนที่เหลือก็สามารถมอบหมายให้ generative AI หรือวิศวกรที่มีความเชี่ยวชาญในด้านเหล่านั้นได้
วิศวกรผู้รอบด้านไม่จำเป็นต้องมีความรู้เชิงลึกหรือประสบการณ์ระยะยาวกับ System Stack แต่ละตัว
นอกจากนี้ บทบาทสำคัญอย่างหนึ่งของวิศวกรผู้รอบด้านคือการออกแบบว่าฟังก์ชันต่างๆ จะถูกจัดสรรและทำงานร่วมกันอย่างไรภายในซอฟต์แวร์ที่ซับซ้อนซึ่งทำงานร่วมกันใน System Stack ที่แตกต่างกันหลายตัว
ยิ่งไปกว่านั้น การพิจารณาว่าควรพัฒนาและจัดการซอฟต์แวร์ทั้งหมดอย่างไร ก็กลายเป็นบทบาทสำคัญของวิศวกรผู้รอบด้านด้วยเช่นกัน
ซอฟต์แวร์รอบทิศทาง
ลองมาพิจารณาดูว่าการพัฒนาซอฟต์แวร์ประเภทใดที่ต้องการวิศวกรผู้รอบด้าน
ก่อนหน้านี้ ผมได้ยกตัวอย่างการพัฒนาเว็บแอปพลิเคชันอีคอมเมิร์ซ
ภายใต้การกำกับดูแลของผู้บริหารที่ได้รับมอบหมายจากผู้บริหารระดับสูงของบริษัทให้ปรับปรุงเว็บแอปพลิเคชันอีคอมเมิร์ซนี้ ทีมวางแผนอาจจะนำเสนอข้อกำหนดดังต่อไปนี้:
การแปลงเป็นแพลตฟอร์มชุมชนผู้ใช้ นี่ไม่ใช่แค่แอปพลิเคชันหรือเว็บไซต์เฉพาะอีคอมเมิร์ซเท่านั้น แต่เป็นการจัดหาแพลตฟอร์มที่ผู้ใช้ผลิตภัณฑ์สามารถโต้ตอบกันเกี่ยวกับตัวผลิตภัณฑ์และการใช้งาน เป้าหมายคือการรักษาผู้ใช้ ผลกระทบจากการบอกต่อ การเพิ่มเนื้อหาผ่านการมีส่วนร่วมของผู้ใช้ และการรวมข้อเสนอแนะในการพัฒนาผลิตภัณฑ์ (ทั้งเชิงบวกและเชิงลบ) เข้ากับการวางแผนผลิตภัณฑ์ใหม่และการตลาด
ความเข้ากันได้กับอุปกรณ์ทุกประเภท (Omni-device Compatibility) สิ่งนี้ช่วยให้เข้าถึงชุมชนผู้ใช้และข้อมูลผลิตภัณฑ์ได้ไม่เพียงแค่จากเว็บแอปเท่านั้น แต่ยังรวมถึงแอปพลิเคชันบนสมาร์ทโฟน ผู้ช่วยเสียง อุปกรณ์สวมใส่ได้ เครื่องใช้ไฟฟ้าอัจฉริยะ และอุปกรณ์อื่นๆ ทั้งหมด
ความเข้ากันได้กับแพลตฟอร์มทุกประเภท (Omni-platform Compatibility) ซึ่งรวมถึงไม่เพียงแค่แพลตฟอร์มชุมชนผู้ใช้ของบริษัทเองเท่านั้น แต่ยังรวมถึงตัวอย่างเช่น รายชื่อผลิตภัณฑ์และการแบ่งปันรีวิวบนเว็บไซต์อีคอมเมิร์ซทั่วไป การรวมเข้ากับโซเชียลมีเดีย และการเชื่อมโยงฟังก์ชันและข้อมูลกับเครื่องมือ AI ต่างๆ
การปรับปรุงระบบธุรกิจ (Business System Refresh) ในขณะที่เชื่อมโยงชั่วคราวกับระบบการจัดการการขายและการจัดส่งสินค้าที่มีอยู่ ระบบเหล่านี้ก็จะได้รับการปรับปรุงด้วย หลังจากปรับปรุงแล้ว จะมีการรวบรวมข้อมูลการขายแบบเรียลไทม์ การพยากรณ์ความต้องการ และการรวมเข้ากับระบบจัดการสินค้าคงคลัง นอกจากนี้ เมื่อมีการรวมระบบสินค้าคงคลังแบบกระจายในภูมิภาคและบริการจัดส่งสินค้าที่จัดหาโดยบริษัทขนส่งอย่างค่อยเป็นค่อยไป ระบบข้อมูลก็จะต้องรวมเข้าด้วยกันอย่างค่อยเป็นค่อยไปเช่นกัน
ความเข้ากันได้กับ Liquidware (Liquidware Compatibility) แน่นอนว่าส่วนต่อประสานผู้ใช้ทั้งหมดจะเข้ากันได้กับ liquidware นอกจากนี้ ส่วนต่อประสานผู้ใช้ภายในทั้งหมด เช่น สำหรับการรวบรวมข้อมูลและข้อเสนอแนะสำหรับการพัฒนาและการวางแผนผลิตภัณฑ์ แผนกปฏิบัติการระบบ และรายงานการจัดการ ก็จะถูกแปลงเป็น liquidware ด้วย
หากมีการนำเสนอแผนการพัฒนาซอฟต์แวร์ที่ซับซ้อนดังกล่าว ทีมพัฒนาซอฟต์แวร์แบบดั้งเดิมอาจจะไม่ยอมรับทันที หรือในระหว่างกระบวนการปรับปรุงข้อกำหนดของระบบ พวกเขาจะแสดงให้เห็นถึงความจำเป็นของค่าใช้จ่ายและเวลาในการพัฒนาที่มหาศาล และผลักดันให้ลดข้อกำหนดลงอย่างมาก
อย่างไรก็ตาม จะเป็นอย่างไรหาก generative AI สามารถทำงานส่วนใหญ่ของการเขียนโปรแกรมให้เป็นไปโดยอัตโนมัติ และ System Stack ที่นำเสนอมากกว่าครึ่งหนึ่งนั้นเป็นที่คุ้นเคยสำหรับบางคนในทีม และทีมมีประสบการณ์ที่เคยประสบความสำเร็จในการนำ System Stack แพลตฟอร์ม และเฟรมเวิร์กใหม่ๆ มาใช้ตั้งแต่ต้นด้วยความช่วยเหลือของ generative AI? และจะเป็นอย่างไรหากคุณ ในฐานะวิศวกรผู้รอบด้าน ได้เริ่มต้นเส้นทางนี้แล้วและตั้งใจที่จะดำเนินต่อไป?
จากมุมมองนั้น โครงการนี้น่าจะเป็นโครงการที่น่าสนใจอย่างยิ่ง คุณจะได้ทำงานกับทีมวางแผนที่เสนอข้อเสนอที่ทะเยอทะยานภายใต้การกำกับดูแลของผู้นำการวางแผน และทีมพัฒนาที่มีศักยภาพที่จะเติบโตเป็นทีมพัฒนาซอฟต์แวร์รอบทิศทาง
นอกจากนี้ยังมีความมั่นใจในระบบที่มีอยู่แล้วอีกด้วย เป็นโครงการที่ช่วยให้กระบวนการพัฒนาแบบ Agile สามารถสร้างคุณสมบัติที่มีผลกระทบสูงได้อย่างรวดเร็ว และระบบสามารถเติบโตขึ้นเรื่อยๆ ด้วยข้อเสนอแนะจากผู้ใช้กลุ่มแรกๆ
เมื่อพิจารณาสิ่งนี้ การพัฒนาซอฟต์แวร์รอบทิศทางนี้น่าจะเป็นโครงการที่น่าสนใจ
สรุปท้ายบท
ด้วยการเขียนโปรแกรมอัตโนมัติโดย generative AI ทำให้ liquidware และการพัฒนาซอฟต์แวร์รอบทิศทาง (omnidirectional software) กำลังกลายเป็นความจริงในปัจจุบัน
ในสถานการณ์เช่นนี้ วิศวกร IT จึงจำเป็นต้องก้าวข้ามขีดจำกัดของ Full-stack และมุ่งเป้าที่จะเป็นวิศวกรผู้รอบด้าน (omnidirectional engineers) มากขึ้นเรื่อยๆ
ยิ่งไปกว่านั้น ขอบเขตของพวกเขาจะขยายไปสู่ วิศวกรรมธุรกิจรอบทิศทาง (omnidirectional business engineering) ซึ่งครอบคลุมการวางแผนกิจกรรมขององค์กรโดยเชื่อมโยงลูกค้า พนักงานภายใน และ AI ให้เหนือกว่าขอบเขตของระบบ IT รวมถึงวิศวกรรมชุมชนรอบทิศทาง (omnidirectional community engineering)
และยิ่งไปกว่านั้น ผมเชื่อว่าสาขาที่เรียกว่า วิศวกรรมสังคมรอบทิศทาง (omnidirectional social engineering) จะเกิดขึ้น โดยมีเป้าหมายเพื่อปรับปรุงสังคมให้ดีขึ้นในทุกมิติ