Level of Programmer

จากที่ท่าน รมช. กระทรวงศึกษาได้รำพึงถึงเรื่องการสอนเด็กประถมเขียนโปรแกรม (ดราม่าโค๊ดดิ้ง) บ้างก็ว่าโค๊ดดิ้งไม่ใช่โปรแกรมมิ่ง อยากตั้งคำศัพท์กันใหม่ตีความความหมายกันอย่างไรก็เอากันตามที่สบายใจ เดี๋ยวนี้เรามีอินเตอร์เน็ตเป็นเครื่องช่วยยืนยันความเชื่อของเรา เราอยากเชื่อแบบไหนก็ถามไปมันจะได้ยืนยันว่าเชื่ออย่างนั้นถูกต้องเป็นจริง อย่างไรได้หมดครับ

มีดราม่าออกมาก็เข้าทาง บรรดาจอมยุทธคณาจารย์ทั้งหลายได้ออกมาวิจารณ์พลังฝีมือกันอย่างคับคั่ง ทั้งจากสำนักใหญ่ต่าง ๆ เช่น บู้ตึ๊ง เสาหลิ้น ฮัวซัว ง้อไบ๋ (จุฬา, มหิดล, เกษตร, ขอนแก่น ฯลฯ) นี่ยังไม่รวมถึงปัจเจกจอมยุทธ์ต่างๆ ที่แฝงเร้นอยู่ในสังคมได้มาออกความเห็นกันอย่างอึงคนึง ถึงคราข้าพเจ้าที่เป็นผู้ด้อยฝีมือคนหนึ่งทางคอมพิวเตอร์จะได้วิจารณ์พลังยุทธ์กันบ้าง อันว่าระดับพลังฝีมือของการทำโค๊ดดิ้ง/โปรแกรมมิ่ง/พัฒนาซอฟต์แวร์ นั้นสามารถแบ่งได้ออกเป็น 9 ระดับตามความสามารถในการฝึกปรือดังนี้

# ระดับ 0

ฮึม... ความสามารถระดับ 0 เป็นความสามารถระดับล่างสุด อ่านออก เขียนได้ รู้จักอักขระภาษาไทย ภาษาอังกฤษ ใช้แป้นพิมพ์ และ เมาส์เป็น กดคลิกไป คลิกมา เป็นก็เรียกว่ามีความสามารถระดับ 0

# ระดับ 1

ความสามารถระดับหนึ่ง เป็นท่าร่างพื้นฐาน ย่างก้าวรอบตัว รักษาสมดุล ขยับแขนขามั่นคง รู้จักและใช้งานตัวแปร และชนิดของข้อมูล จำนวนเต็ม อักขระ String ทศนิยม บูลลีน อีกทั้ง บวกลบคูณหาร ตัดสินใจ และการวนรอบ เอาทั้งสี่อย่างมาประกอบกันแก้ไขปัญหาอย่างง่ายได้ เขียนโปรแกรมใช้เอ็ดดิเตอร์หรือไอดีอีเป็น รันโปรแกรมได้ เขียนโปรแกรมสวยงาม มีเว้นวรรค เว้นบรรทัด เว้นช่องถูกต้องตามตกลง เขียนคอมเมนต์คิดเป็นสามถึงสี่สิบเปอร์เซนต์ของโค๊ด อย่างนี้เรียกว่ามาจากโรงเรียนมาตรฐานที่มีครูบาอาจารย์ ระดับฝีมือขั้นนี้ ไปออกต่อสู้กับบรรดาลิ้วล้อสำนักประกันภัยยิ่งใหญ่เกรียงไกรก็เรียกว่าปกป้องตัวเองหนีออกมาได้ทันยังไม่ถึงกับถูกซ้อมช้ำในตาย

# ระดับ 2

หลังจากฝึกปรือในท่าร่างพื้นฐานในระดับหนึ่งมาไม่น้อยกว่าสามสี่เดือน แล้วก็มาเข้าเรียนกันในระดับสอง เรียกว่า เรียกว่าเริ่มเรียนท่าหมัดมวยกันล่ะครับ ระดับที่สองนี่รู้จักโครงสร้างข้อมูลประเภทต่าง ๆ เช่น เวกเตอร์ ลิส อาร์เรย์ ทรี และโครงสร้างข้อมูลตามใจฉัน ออปเจกต์ ทำรีเคอซีฟ ดึ๋งๆๆๆ (ใครอ่านถึงตรงนี้แล้วเชื่อมโยง “รีเคอซีฟ” กับ “ดึ๋งๆๆๆ” ได้ก็นับว่ามีพลังยุทธ) จากนั้นก็สามารถรู้ว่าอัลกอริทึ่มอย่างง่าย ๆ พวกเรียงเลข สลับเลข แฮชชิ่ง และทำพวกกราฟอย่างง่ายนั้นเป็นอย่างไร เห็นภาพรางๆ เชื่อมโยงเหล่านี้ได้ก็เก่ง ระดับ 2 นี่ควรเขียนโปรแกรมที่สามารถแก้ปัญหาใดปัญหาหนึ่งที่เป็นเฉพาะได้สัก 200 บรรทัด ระดับฝีมือขั้นนี้ ตอนวันตรุษวันสารทสามารถส่งไปร่ายรำท่าทางเป็นทิวแถวให้ผู้เฒ่าผู้แก่ได้ปลื้มใจกับการบำรุงรักษาวัฒนธรรมกัน

# ระดับ 3

ผู้ฝึกปรือพลังฝีมือจำนวนไม่มากที่สามารถผ่านเข้ามาในระดับสาม ที่ต้องเรียนรู้วิชาที่เป็นกระบวนเพลงจากอาวุธชนิดต่าง ๆ ไม่ว่าจะเป็นดาบ กระบอง กระบี่ ที่ต้องใช้งานในการจัดการกับคู่ต่อสู้ที่ดุดัน ต้องเรียนพวกอัลกอริทึ่มสำหรับ กราฟ ทรี ต้นไม้ดำแดง ต่าง ๆ ที่มีความปวดหัวมากยิ่งขึ้น เอาปัญหาจริงมาฝึกเขียนโปรแกรมแก้ไขกันไป รู้จักการประเมินประสิทธิภาพของโปรแกรมที่ตนเองเขียนขึ้น และ เรียนรู้การใช้งานและประเมินการใช้งานโปรแกรมที่ผู้อื่นเขียนขึ้นที่เรียกว่าไลบราลี่ เรื่องไลบราลี่นี่ เรียกว่าเป็นพื้นฐานของวิชาตัดบุปผาต่อหยกก็ไม่ผิดนัก ถ้าเป็นสำนักมาตรฐานก็จะให้เริ่มใช้ระบบควบคุมเวอร์ชันเช่น กิดฮับ หรืออื่น ๆ แล้วแต่จะโปรดให้เป็นนิสัย เหมือนอยู่มาสามปีแล้วก็ให้หาบน้ำขึ้นเขาลงเขากันวันละสองสามรอบ ระดับฝีมือขั้นนี้สามารถส่งไปต่อยตีตามงานวัดได้บ้างพอเก็บประสบการณ์การต่อสู้ (ปล. จะตีแมลงวันก็ใช้ไม้ตีแมลงวันไม่ต้องเอาระเบิดซีโฟมาลง ประหนึ่งจะเรียงเลขไม่ต้องใช้ดีปเลินนิ่งนะจ๊ะหนู)

# ระดับ 4

มาระดับสี่ต้องย้อนกลับมาเรียนกำลังภายในกันบ้าง หลังจากฝึกภายนอกมานาน ระดับนี้ต้องใช้เวลามองย้อนกลับถึง รูปแบบการเขียนโปรแกรม การแบ่งฟังก์ชัน เมดทอรด์ต่าง ๆ การวิเคราะห์ขีดจำกัดการทำงานด้านล่างด้านบน การทำบิ๊กโอ พวก NP คอมพลีต ยากเย็นเข็นใจ ทั้งหลาย เพื่อหัดประเมินคู่ต่อสู้ว่าจะจัดการได้ไหม และถ้าจัดการได้จะใช้วิธีใด กำลังฝีมือเราถึงไหม ต้องใช้เครื่องอะไร หน่วยความจำเท่าไหร่ อีกทั้งต้องเริ่มหัดทำงานโปรแกรมเป็นกลุ่ม เหมือนเริ่มฝึกกระบวนท่ากระบี่หมู่เจ็ดดาวเป็นต้น ระดับฝีมือขั้นที่ 4 สามารถจับแต่งตัวเป็นกงจื้อหนุ่ม ส่งไปโบกพัดในโรงเตี๊ยมที่อำเภอเชิงเขาได้ให้หล่อ ๆ สร้างชื่อเสียงให้สำนักอาจารย์

# ระดับ 5

ฝึกปรือมานาน พวกพลังฝีมือพื้นฐานทั้ง ท่าร่าง หมัดมวย การใช้อาวุธ กำลังภายในพื้นฐาน พอฟักตัว ระดับ 5 ก็ต้องเรียนพวกวิชาขั้นสูงที่มีพวกค่าสุ่มเข้ามาเกี่ยวข้อง คือพวกอัลกอริทึ่มที่ใช้ฮิวรีสติก เช่น ทาบู จีเอ จีพี ซิมมูลเลเต็ดแอนนีลลิ่ง แรนด้อมไหมส์ เป็นต้น วิชาพวกนี้เหมือนกับพวกวิชามีดสั้น อาวุธลับ การแก้พิษต่าง ๆ ที่เวลาโลดแล่นในยุทธจักรแลัวจะได้จัดการอย่างไม่อายใคร มาเรียนระดับ 5 ต้องเขียนภาษาคอมพิวเตอร์ได้สักสามสี่ภาษา เช่น C++, JAVA, Python, R เป็นต้น เรียกว่าอยู่เมืองไทยก็ “เว้าอีสานไปทำพรื้อหมู่เฮาจะว่าจั๊งได๋ก่อ” เขียนได้ฟังออก ระดับ 5 ก็ต้องรู้พวกสถาปัตยกรรมซอฟต์แวร์/ฮาร์ดแวร์ แบบต่าง ๆ ด้วยครับ ระดับฝีมือขั้นที่ 4-5 นั้นอยู่ในยุทธจักร ถ้าไปทำงานในสำนักแลกเงิน หรือ ประกันภัยสินค้า เงินเดือนเจ็ดแปดหมื่นต้องมี

# ระดับ 6

ยิ่งสูงยิ่งไม่รู้ ยิ่งรู้มากเหมือนยิ่งไม่รู้ พลังฝีมือระดับ 6 กลับมาเขียนเอกสารกำกับโปรแกรม เขียนข้อกำหนดต่างๆ ที่เขาเรียนกว่า Software Requirement Specification เขียนพวก API Specification เอาไว้ให้พวกลิ้วล้อระดับ 2-5 สร้างโค๊ดให้ ควบคุมการทดสอบระบบอย่างเป็นระบบ คือเรียกว่าจากที่งง ๆ ว่าหัวหน้าให้ทำอะไรมาหลายปี พอระดับ 6 จะบอกคุณว่า เขาเรียกว่าวิศวกรรมซอฟต์แวร์ครับ สำหรับวิชาวิศวกรรมซอฟต์แวร์ จะว่าง่ายก็ง่าย จะว่ายากก็ยาก คือถ้ามีวินัย มันก็ง่าย ถ้ามั่วซุกซนมันก็ยากเหมือนลิงแก้แห เปรียบดังเป็นวัตรของภิกษุสงฆ์ จะมากไปก็ปฏิบัติยาก ต้องปลงอาบัติกันตลอด น้อยไปก็สังคมติเตียนเลยเถิดไปอาจปราชิกไปโน้น ทำโปรแกรมให้เป็นซอฟต์แวร์ เป็นผลลัพธ์การเรียนรู้ของระดับ 6 ประกอบด้วยการควบคุมกระบวนการ ควบคุมเอกสาร ควบคุมการทดสอบ และเรียนรู้เคล็ดวิชาที่สำคัญที่ว่า “แผนมีไว้เปลี่ยน โปรเจคมีไว้ปิด”

# ระดับ 7

ระดับนี้ต้องควบคุมหลายทีมพัฒนา ทั้งกองร้อยกระบี่ กองร้อยพลอง กลุ่มพรรคกระยาจก เหมือนก๊วยเช็งคุมกองทัพเมืองเซียงเอี๋ยงรบกับมองโกลอย่างไรอย่างนั้น ทำการกวดขันกิจกรรมให้เป็นไปตามหลักกิโล (milestone) ควบคุมข้อผิดพร่อง แก้ปัญหาการเมือง คนมันทะเลาะกัน ควบคุมค่าใช้จ่าย บริหารทรัพยากรบุคคลโดยเฉพาะจอมยุทธระดับ 2, 3, 4 ทั้งหลายที่นึกว่าตนนั้นเก่งกาจเสียเหลือเกิน อยากลงสนามเปลี่ยนงานกันวันละสามสี่ครั้ง อันนี้ก็ต้องควบคุม

# ระดับ 8

อันว่ายอดฝีมือวัน ๆ ก็มีแต่จิบน้ำชา ร่ายโคลงกลอน ยอดฝีมือระดับ 8 ต้องใช้เวลาอยู่กับเก๋งไม้ริมผางาม ร่ำสุรา จิบน้ำชา กับขนมเปี๊ย พูดคุยถึงความเป็นไปในยุทธจักร วิจารณ์พลังฝีมือกระบวนท่าใหม่ ๆ และผลกระทบที่จะมีกับยุทธจักรในภายภาคหน้า อีกทั้งเตรียมแผนเตรียมการรับมือและวางกำลังพลสำหรับการเขียนโปรแกรมรุ่นใหม่ ๆ ใครฝึกระดับฝีมือขั้นที่ 8 แล้ว จะรู้สึกว่างปล่าวไร้ค่า รู้สึกว่าตนนั้นไม่รู้อะไรเลย แต่ในหัวสมองหมุนติ้ว ๆ วิเคราะห์วิจารณ์ออกมาเป็นฉาก ๆ ถึงเรื่องราวที่ตนคิดว่าไม่รู้เรื่องนั้น ได้ยินเรื่องใหม่ประโยคเดียว คิดปรู๊ด ๆ รู้เรื่องไป 70-80 เปอร์เซนต์ แล้วก็นิ่งเงียบ ปลอบตัวเองว่าข้าน้อยยังโง่นัก ไม่รู้อะไรเลย พวกนี้น่ะ โครตรู้เลยผมขอบอก!

# ระดับ 9

สูงสุดคืนสู่สามัญ ยอดฝีมือระดับ 9 ได้แต่กลับเข้าถ้ำเขียนหนังสือไปวัน ๆเพราะสงสัยว่าตนเองไม่ค่อยรู้อะไร เลยเขียนหนังสือได้ออกมาเป็นเล่ม ๆ จะได้ตายตาหลับ เพราะได้แสดงถึงความงดงามของกระบวนการพัฒนาโค๊ดที่ตนเองคิดว่าเป็นเอกอุในสาขาที่ทำ

เอวังก็มีประการฉะนี้แล วรา วราวิทย์


บันทึกนี้คัดลอกจาก ระดับพลังฝีมือของการทำโค๊ดดิ้ง/โปรแกรมมิ่ง/พัฒนาซอฟต์แวร์