ประสบการณ์แข่ง NSC บทเรียนล้ำค่าจากการเขียนโปรแกรมครั้งแรกและการเผชิญหน้าระบบราชการ


สวัสดีครับผู้อ่านทุกคน หลังจากที่ผมพาคุณผู้อ่านย้อนเวลากลับไปสัมผัสบรรยากาศการแข่งขัน GMC ในบันทึกเล่มก่อน หน้าถัดไปของปฏิทินชีวิตเด็กคอมพิวเตอร์ในช่วงชั้นมัธยมต้น ก็ถูกพลิกมาสู่บทใหม่ที่หนักหนาสาหัสและมีความหมายยิ่งกว่าเดิม นั่นคือการก้าวเข้าสู่สมรภูมิการแข่งขันพัฒนาโปรแกรมคอมพิวเตอร์แห่งประเทศไทย หรือเวที NSC ครับ



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

จุดเริ่มต้นโปรเจกต์ท้าทายฝุ่นควันภาคเหนือ



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



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

กำแพงระบบราชการและบททดสอบคนทำเว็บ

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



ลองจินตนาการถึงเด็กมัธยมสามคนที่ต้องมารับมือกับการร่างหนังสือราชการดูสิครับ เราใช้เวลาเรียนรู้ภาษาทางการ การเว้นวรรค รูปแบบครุฑ และลำดับชั้นการลงนามอยู่นานกว่าสองเดือน กว่าจะร่างเสร็จ กว่าจะเดินเรื่องให้ทางโรงเรียนออกจดหมาย และกว่าจะรอการอนุมัติ เวลาอันมีค่าก็ไหลผ่านไปเรื่อยๆ

ในระหว่างที่รอเอกสาร พวกเราไม่ได้นิ่งนอนใจครับ ผมเขียนโค้ดส่วน Frontend รอไว้ ออกแบบกราฟิกเตรียมพร้อม ทำข้อมูล Mockup มาทดสอบระบบ ทุกอย่างพร้อมหมดแล้ว ขาดเพียงกุญแจดอกเดียวจากกรมควบคุมมลพิษที่จะไขเอาข้อมูลจริงมาใส่เท่านั้นเอง




วันนำเสนอผลงานกับข้อมูลจำลองที่เจ็บปวด

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



ผลลัพธ์เป็นไปตามคาด เราไม่ได้รางวัลใหญ่ และที่น่าเสียใจที่สุดคือเพื่อนรักของเราคนนั้นไม่ผ่านการคัดเลือกเข้าศึกษาต่อที่เดิม ความเศร้าปกคลุมทีมของเราอยู่พักใหญ่ ความรู้สึกผิดและความเสียดายตีตื้นขึ้นมาทุกครั้งที่นึกถึงเลยครับ

โรงเรียนชีวิตที่หล่อหลอมแต้มในวันนี้

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

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

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

แล้วคุณผู้อ่านล่ะครับ เคยมีประสบการณ์ทำโปรเจกต์แรกที่เต็มไปด้วยอุปสรรคแบบนี้บ้างไหม ลองคอมเมนต์มาแบ่งปันเรื่องราว หรือแชร์บทความนี้ไปรำลึกความหลังกับเพื่อนร่วมทีมในวันวานของคุณได้นะครับ


แสดงความคิดเห็น

ความคิดเห็น