Home Competition Story ประสบการณ์แข่ง NSC บทเรียนล้ำค่าจากการเขียนโปรแกรมครั้งแรกและการเผชิญหน้าระบบราชการ โดย TamKung Story เรื่องของแต้ม เมษายน 01, 2569 สวัสดีครับผู้อ่านทุกคน หลังจากที่ผมพาคุณผู้อ่านย้อนเวลากลับไปสัมผัสบรรยากาศการแข่งขัน GMC ในบันทึกเล่มก่อน หน้าถัดไปของปฏิทินชีวิตเด็กคอมพิวเตอร์ในช่วงชั้นมัธยมต้น ก็ถูกพลิกมาสู่บทใหม่ที่หนักหนาสาหัสและมีความหมายยิ่งกว่าเดิม นั่นคือการก้าวเข้าสู่สมรภูมิการแข่งขันพัฒนาโปรแกรมคอมพิวเตอร์แห่งประเทศไทย หรือเวที NSC ครับถ้าเวทีเดิมคือการเปิดโลกทัศน์ เวทีนี้ก็เปรียบเสมือนสนามรบที่เดิมพันด้วยอนาคตเลยครับ เพราะในช่วงรอยต่อของชีวิตมัธยมสามที่กำลังจะก้าวขึ้นสู่มัธยมสี่ในโรงเรียนปรินส์รอยแยลส์วิทยาลัย การสอบคัดเลือกเป็นเรื่องที่สร้างความกดดันมหาศาล แต่ในความกดดันนั้นก็ยังมีแสงสว่างที่เรียกว่าโควตาผลงาน สำหรับนักเรียนที่มีความโดดเด่นทางวิชาการหรือกิจกรรม สำหรับผมและเพื่อนคนหนึ่งในทีมค่อนข้างลอยลำเพราะมีผลงานสะสมมาบ้างแล้ว แต่ยังมีเพื่อนรักอีกคนหนึ่งในกลุ่มที่ยังขาดใบเบิกทางใบนี้อยู่ โปรเจกต์ในครั้งนี้จึงไม่ใช่แค่การแข่งเพื่อเอาชนะโรงเรียนอื่น แต่มันคือภารกิจที่พวกเราต้องพยายามให้ถึงที่สุดเพื่อกอดคอพากันไปให้ถึงฝั่งฝันในระดับชั้นมัธยมปลายให้ครบทุกคนครับจุดเริ่มต้นโปรเจกต์ท้าทายฝุ่นควันภาคเหนือด้วยความอินที่ยังคุกรุ่นมาจากเวทีที่แล้ว พวกเราตัดสินใจหยิบเอาประเด็นปัญหาหมอกควันภาคเหนือกลับมาปัดฝุ่นอีกครั้งภายใต้ชื่อทีม SMOG แต่ครั้งนี้โจทย์คือการสร้างซอฟต์แวร์หรือนวัตกรรมที่แก้ปัญหาได้จริงครับ ไอเดียของเด็กมัธยมในวันนั้นช่างยิ่งใหญ่เกินตัว เราฝันอยากจะสร้างระบบวัดและแสดงผลคุณภาพอากาศแบบเรียลไทม์ คุณผู้อ่านต้องนึกภาพตามนะครับว่าในปี 2015 แอปพลิเคชันเช็กค่าฝุ่นหรือเซนเซอร์วัดค่าฝุ่นตามบ้านยังไม่ใช่เรื่องปกติเหมือนทุกวันนี้ การที่เด็กมัธยมกลุ่มหนึ่งลุกขึ้นมาบอกว่าจะทำเว็บแสดงค่ามลพิษทางอากาศจึงเป็นเรื่องที่ดูล้ำสมัยและท้าทายมากเราเริ่มต้นด้วยความรู้ที่เกือบจะเป็นศูนย์ ภาษาโปรแกรมมิ่งเดียวที่ผมพอจะเขียนเป็นในตอนนั้นคือภาษา PHP เราวางแผนกันว่าจะเขียนเว็บแอปพลิเคชันที่ดึงข้อมูลสดมาจากฐานข้อมูลของกรมควบคุมมลพิษ เพื่อให้ชาวเชียงใหม่ได้รู้ว่าอากาศที่หายใจเข้าไปนั้นแย่แค่ไหน เราทุ่มเทเขียนข้อเสนอโครงการอย่างหนัก ศึกษาวิธีเขียนโค้ดและการออกแบบหน้าเว็บ จนในที่สุดก้าวแรกก็สำเร็จ โครงการของเราผ่านการพิจารณารอบแรกและได้รับทุนสนับสนุนก้อนแรกมาจำนวนสามพันบาทเพื่อนำมาสานฝันให้เป็นจริงครับกำแพงระบบราชการและบททดสอบคนทำเว็บเมื่อได้เงินทุนมาแล้วไฟในการทำงานก็ลุกโชน แต่เราก็วิ่งไปชนเข้ากับกำแพงใหญ่ที่ชื่อว่าระบบราชการ ปัญหาโลกแตกที่พวกเราคาดไม่ถึงคือ ข้อมูลคุณภาพอากาศที่เราต้องการนั้นไม่ได้ลอยอยู่ในอากาศให้ดึงมาใช้ได้ฟรี แต่มันถูกเก็บไว้ในเซิร์ฟเวอร์ของกรมควบคุมมลพิษ และการจะขอเชื่อมต่อระบบ API เพื่อดึงข้อมูลเหล่านั้นออกมา จำเป็นต้องมีหนังสือราชการครับลองจินตนาการถึงเด็กมัธยมสามคนที่ต้องมารับมือกับการร่างหนังสือราชการดูสิครับ เราใช้เวลาเรียนรู้ภาษาทางการ การเว้นวรรค รูปแบบครุฑ และลำดับชั้นการลงนามอยู่นานกว่าสองเดือน กว่าจะร่างเสร็จ กว่าจะเดินเรื่องให้ทางโรงเรียนออกจดหมาย และกว่าจะรอการอนุมัติ เวลาอันมีค่าก็ไหลผ่านไปเรื่อยๆในระหว่างที่รอเอกสาร พวกเราไม่ได้นิ่งนอนใจครับ ผมเขียนโค้ดส่วน Frontend รอไว้ ออกแบบกราฟิกเตรียมพร้อม ทำข้อมูล Mockup มาทดสอบระบบ ทุกอย่างพร้อมหมดแล้ว ขาดเพียงกุญแจดอกเดียวจากกรมควบคุมมลพิษที่จะไขเอาข้อมูลจริงมาใส่เท่านั้นเองวันนำเสนอผลงานกับข้อมูลจำลองที่เจ็บปวดและแล้ววันที่เราไม่อยากให้มาถึงก็มาเยือน วันที่ต้องนำผลงานไปจัดแสดงและนำเสนอต่อคณะกรรมการ แต่เอกสารตอบรับยังมาไม่ถึง วินาทีนั้นพวกเรารู้ชะตากรรมทันทีว่าลำบากแน่ โปรแกรมวัดคุณภาพอากาศที่ไม่มีข้อมูลจริงก็เหมือนรถยนต์ที่ไม่มีเครื่องยนต์ แต่งานต้องดำเนินต่อไปครับ ในวันครบรอบสิบปีของเหตุการณ์นี้ ผมยังจำความรู้สึกนั้นได้ดี เราต้องตัดสินใจนำเสนอผลงานด้วยข้อมูลจำลอง ใส่ค่าตัวเลขสมมติลงไป แล้วไปยืนนำเสนอหน้าบูธด้วยรอยยิ้มเจื่อนๆ พยายามอธิบายหลักการทำงานอย่างไหลลื่นที่สุดว่าหากมีข้อมูลจริงเข้ามา ระบบจะทำงานได้อย่างไร มันเป็นความรู้สึกที่เจ็บปวดสำหรับคนทำโปรแกรมมากครับผลลัพธ์เป็นไปตามคาด เราไม่ได้รางวัลใหญ่ และที่น่าเสียใจที่สุดคือเพื่อนรักของเราคนนั้นไม่ผ่านการคัดเลือกเข้าศึกษาต่อที่เดิม ความเศร้าปกคลุมทีมของเราอยู่พักใหญ่ ความรู้สึกผิดและความเสียดายตีตื้นขึ้นมาทุกครั้งที่นึกถึงเลยครับโรงเรียนชีวิตที่หล่อหลอมแต้มในวันนี้แต่เมื่อมองย้อนกลับไปในวันนี้ ช่วงเวลานั้นกลับเป็นโรงเรียนชีวิตที่ดีที่สุดของผมเลยครับ การที่ผมเขียนโปรแกรมเป็น เข้าใจตรรกะการทำงานพื้นฐาน หรือการจัดการ Database ก็เริ่มมาจากโปรเจกต์นี้ ยุคนั้นไม่มีเทคโนโลยีปัญญาประดิษฐ์คอยช่วยแก้ปัญหา ทุกบรรทัดที่เกิดข้อผิดพลาดคือการต้องนั่งรถออกไปร้านหนังสือ ซื้อคู่มือเล่มหนามาเปิดหาคำตอบทีละหน้า หรือไม่ก็ต้องพึ่งพาอาจารย์อ้อ ครูผู้มีพระคุณที่คอยผลักดันให้ผมลงแข่งจนผมค้นพบศักยภาพของตัวเองและสิ่งที่ไม่พูดถึงไม่ได้คือบรรยากาศของความพยายาม ภาพเด็กนักเรียนกลุ่มเดิมที่เลิกเรียนปุ๊บต้องวิ่งไปหาข้าวกล่องหลังโรงเรียน แล้วรีบกลับมาสิงสถิตอยู่ในห้องคอมพิวเตอร์ นั่งจ้องหน้าจอจนถึงสามทุ่มทุกวัน แม้แต่วันหยุดที่คนอื่นได้พักผ่อน พวกเราก็มารอภารโรงเปิดตึกและนั่งทำจนตึกปิดครับถึงแม้ปลายทางของการแข่งขันครั้งนั้นจะไม่สวยหรูเหมือนในนิยาย แต่มันคือจุดเริ่มต้นที่ทำให้แต้มในวันนี้ กล้าที่จะเรียนรู้เทคโนโลยีใหม่ๆ และไม่กลัวที่จะเริ่มเขียนโค้ดบรรทัดแรก แม้จะไม่รู้ว่าบรรทัดสุดท้ายจะจบลงอย่างไรก็ตามครับแล้วคุณผู้อ่านล่ะครับ เคยมีประสบการณ์ทำโปรเจกต์แรกที่เต็มไปด้วยอุปสรรคแบบนี้บ้างไหม ลองคอมเมนต์มาแบ่งปันเรื่องราว หรือแชร์บทความนี้ไปรำลึกความหลังกับเพื่อนร่วมทีมในวันวานของคุณได้นะครับ URL Copied ใช้ร่วมกัน รับลิงก์ Facebook X Pinterest อีเมล แอปอื่นๆ แสดงความคิดเห็น ความคิดเห็น
สวัสดีครับผู้อ่านทุกคน หลังจากที่ผมพาคุณผู้อ่านย้อนเวลากลับไปสัมผัสบรรยากาศการแข่งขัน GMC ในบันทึกเล่มก่อน หน้าถัดไปของปฏิทินชีวิตเด็กคอมพิวเตอร์ในช่วงชั้นมัธยมต้น ก็ถูกพลิกมาสู่บทใหม่ที่หนักหนาสาหัสและมีความหมายยิ่งกว่าเดิม นั่นคือการก้าวเข้าสู่สมรภูมิการแข่งขันพัฒนาโปรแกรมคอมพิวเตอร์แห่งประเทศไทย หรือเวที NSC ครับ
ถ้าเวทีเดิมคือการเปิดโลกทัศน์ เวทีนี้ก็เปรียบเสมือนสนามรบที่เดิมพันด้วยอนาคตเลยครับ เพราะในช่วงรอยต่อของชีวิตมัธยมสามที่กำลังจะก้าวขึ้นสู่มัธยมสี่ในโรงเรียนปรินส์รอยแยลส์วิทยาลัย การสอบคัดเลือกเป็นเรื่องที่สร้างความกดดันมหาศาล แต่ในความกดดันนั้นก็ยังมีแสงสว่างที่เรียกว่าโควตาผลงาน สำหรับนักเรียนที่มีความโดดเด่นทางวิชาการหรือกิจกรรม สำหรับผมและเพื่อนคนหนึ่งในทีมค่อนข้างลอยลำเพราะมีผลงานสะสมมาบ้างแล้ว แต่ยังมีเพื่อนรักอีกคนหนึ่งในกลุ่มที่ยังขาดใบเบิกทางใบนี้อยู่ โปรเจกต์ในครั้งนี้จึงไม่ใช่แค่การแข่งเพื่อเอาชนะโรงเรียนอื่น แต่มันคือภารกิจที่พวกเราต้องพยายามให้ถึงที่สุดเพื่อกอดคอพากันไปให้ถึงฝั่งฝันในระดับชั้นมัธยมปลายให้ครบทุกคนครับ
จุดเริ่มต้นโปรเจกต์ท้าทายฝุ่นควันภาคเหนือ
ด้วยความอินที่ยังคุกรุ่นมาจากเวทีที่แล้ว พวกเราตัดสินใจหยิบเอาประเด็นปัญหาหมอกควันภาคเหนือกลับมาปัดฝุ่นอีกครั้งภายใต้ชื่อทีม SMOG แต่ครั้งนี้โจทย์คือการสร้างซอฟต์แวร์หรือนวัตกรรมที่แก้ปัญหาได้จริงครับ ไอเดียของเด็กมัธยมในวันนั้นช่างยิ่งใหญ่เกินตัว เราฝันอยากจะสร้างระบบวัดและแสดงผลคุณภาพอากาศแบบเรียลไทม์ คุณผู้อ่านต้องนึกภาพตามนะครับว่าในปี 2015 แอปพลิเคชันเช็กค่าฝุ่นหรือเซนเซอร์วัดค่าฝุ่นตามบ้านยังไม่ใช่เรื่องปกติเหมือนทุกวันนี้ การที่เด็กมัธยมกลุ่มหนึ่งลุกขึ้นมาบอกว่าจะทำเว็บแสดงค่ามลพิษทางอากาศจึงเป็นเรื่องที่ดูล้ำสมัยและท้าทายมาก
เราเริ่มต้นด้วยความรู้ที่เกือบจะเป็นศูนย์ ภาษาโปรแกรมมิ่งเดียวที่ผมพอจะเขียนเป็นในตอนนั้นคือภาษา PHP เราวางแผนกันว่าจะเขียนเว็บแอปพลิเคชันที่ดึงข้อมูลสดมาจากฐานข้อมูลของกรมควบคุมมลพิษ เพื่อให้ชาวเชียงใหม่ได้รู้ว่าอากาศที่หายใจเข้าไปนั้นแย่แค่ไหน เราทุ่มเทเขียนข้อเสนอโครงการอย่างหนัก ศึกษาวิธีเขียนโค้ดและการออกแบบหน้าเว็บ จนในที่สุดก้าวแรกก็สำเร็จ โครงการของเราผ่านการพิจารณารอบแรกและได้รับทุนสนับสนุนก้อนแรกมาจำนวนสามพันบาทเพื่อนำมาสานฝันให้เป็นจริงครับ
กำแพงระบบราชการและบททดสอบคนทำเว็บ
เมื่อได้เงินทุนมาแล้วไฟในการทำงานก็ลุกโชน แต่เราก็วิ่งไปชนเข้ากับกำแพงใหญ่ที่ชื่อว่าระบบราชการ ปัญหาโลกแตกที่พวกเราคาดไม่ถึงคือ ข้อมูลคุณภาพอากาศที่เราต้องการนั้นไม่ได้ลอยอยู่ในอากาศให้ดึงมาใช้ได้ฟรี แต่มันถูกเก็บไว้ในเซิร์ฟเวอร์ของกรมควบคุมมลพิษ และการจะขอเชื่อมต่อระบบ API เพื่อดึงข้อมูลเหล่านั้นออกมา จำเป็นต้องมีหนังสือราชการครับ
ลองจินตนาการถึงเด็กมัธยมสามคนที่ต้องมารับมือกับการร่างหนังสือราชการดูสิครับ เราใช้เวลาเรียนรู้ภาษาทางการ การเว้นวรรค รูปแบบครุฑ และลำดับชั้นการลงนามอยู่นานกว่าสองเดือน กว่าจะร่างเสร็จ กว่าจะเดินเรื่องให้ทางโรงเรียนออกจดหมาย และกว่าจะรอการอนุมัติ เวลาอันมีค่าก็ไหลผ่านไปเรื่อยๆ
ในระหว่างที่รอเอกสาร พวกเราไม่ได้นิ่งนอนใจครับ ผมเขียนโค้ดส่วน Frontend รอไว้ ออกแบบกราฟิกเตรียมพร้อม ทำข้อมูล Mockup มาทดสอบระบบ ทุกอย่างพร้อมหมดแล้ว ขาดเพียงกุญแจดอกเดียวจากกรมควบคุมมลพิษที่จะไขเอาข้อมูลจริงมาใส่เท่านั้นเอง
วันนำเสนอผลงานกับข้อมูลจำลองที่เจ็บปวด
และแล้ววันที่เราไม่อยากให้มาถึงก็มาเยือน วันที่ต้องนำผลงานไปจัดแสดงและนำเสนอต่อคณะกรรมการ แต่เอกสารตอบรับยังมาไม่ถึง วินาทีนั้นพวกเรารู้ชะตากรรมทันทีว่าลำบากแน่ โปรแกรมวัดคุณภาพอากาศที่ไม่มีข้อมูลจริงก็เหมือนรถยนต์ที่ไม่มีเครื่องยนต์ แต่งานต้องดำเนินต่อไปครับ ในวันครบรอบสิบปีของเหตุการณ์นี้ ผมยังจำความรู้สึกนั้นได้ดี เราต้องตัดสินใจนำเสนอผลงานด้วยข้อมูลจำลอง ใส่ค่าตัวเลขสมมติลงไป แล้วไปยืนนำเสนอหน้าบูธด้วยรอยยิ้มเจื่อนๆ พยายามอธิบายหลักการทำงานอย่างไหลลื่นที่สุดว่าหากมีข้อมูลจริงเข้ามา ระบบจะทำงานได้อย่างไร มันเป็นความรู้สึกที่เจ็บปวดสำหรับคนทำโปรแกรมมากครับ
ผลลัพธ์เป็นไปตามคาด เราไม่ได้รางวัลใหญ่ และที่น่าเสียใจที่สุดคือเพื่อนรักของเราคนนั้นไม่ผ่านการคัดเลือกเข้าศึกษาต่อที่เดิม ความเศร้าปกคลุมทีมของเราอยู่พักใหญ่ ความรู้สึกผิดและความเสียดายตีตื้นขึ้นมาทุกครั้งที่นึกถึงเลยครับ
โรงเรียนชีวิตที่หล่อหลอมแต้มในวันนี้
แต่เมื่อมองย้อนกลับไปในวันนี้ ช่วงเวลานั้นกลับเป็นโรงเรียนชีวิตที่ดีที่สุดของผมเลยครับ การที่ผมเขียนโปรแกรมเป็น เข้าใจตรรกะการทำงานพื้นฐาน หรือการจัดการ Database ก็เริ่มมาจากโปรเจกต์นี้ ยุคนั้นไม่มีเทคโนโลยีปัญญาประดิษฐ์คอยช่วยแก้ปัญหา ทุกบรรทัดที่เกิดข้อผิดพลาดคือการต้องนั่งรถออกไปร้านหนังสือ ซื้อคู่มือเล่มหนามาเปิดหาคำตอบทีละหน้า หรือไม่ก็ต้องพึ่งพาอาจารย์อ้อ ครูผู้มีพระคุณที่คอยผลักดันให้ผมลงแข่งจนผมค้นพบศักยภาพของตัวเอง
และสิ่งที่ไม่พูดถึงไม่ได้คือบรรยากาศของความพยายาม ภาพเด็กนักเรียนกลุ่มเดิมที่เลิกเรียนปุ๊บต้องวิ่งไปหาข้าวกล่องหลังโรงเรียน แล้วรีบกลับมาสิงสถิตอยู่ในห้องคอมพิวเตอร์ นั่งจ้องหน้าจอจนถึงสามทุ่มทุกวัน แม้แต่วันหยุดที่คนอื่นได้พักผ่อน พวกเราก็มารอภารโรงเปิดตึกและนั่งทำจนตึกปิดครับ
ถึงแม้ปลายทางของการแข่งขันครั้งนั้นจะไม่สวยหรูเหมือนในนิยาย แต่มันคือจุดเริ่มต้นที่ทำให้แต้มในวันนี้ กล้าที่จะเรียนรู้เทคโนโลยีใหม่ๆ และไม่กลัวที่จะเริ่มเขียนโค้ดบรรทัดแรก แม้จะไม่รู้ว่าบรรทัดสุดท้ายจะจบลงอย่างไรก็ตามครับ
แล้วคุณผู้อ่านล่ะครับ เคยมีประสบการณ์ทำโปรเจกต์แรกที่เต็มไปด้วยอุปสรรคแบบนี้บ้างไหม ลองคอมเมนต์มาแบ่งปันเรื่องราว หรือแชร์บทความนี้ไปรำลึกความหลังกับเพื่อนร่วมทีมในวันวานของคุณได้นะครับ
ความคิดเห็น
แสดงความคิดเห็น