• Canate Dew

HACKATHON ครั้งที่ 2 แข่งสามอาทิตย์กับโจทย์สุดหินในช่วงสอบกลางภาค

อัปเดตเมื่อ 24 ก.ย. 2564



คนเราจะต้องล้มเหลวถึงกี่ครั้งถึงจะต้องยอมแพ้กัน มันคงเป็นความรู้สึกท้อแท้และเหนื่อยหน่ายกับการล้มแล้วล้มอีกไม่รู้ว่าเมื่อไรเราจะผ่านมันไปได้ ผมไม่รู้ว่าคุณรู้จักเกมส์แนว Roguelike หรือเปล่าครับชีวิตคนเราทั้ง 1 ชีวิตคงเป็นเกมส์แนวนี้แหละ เมื่อคุณตายในเกมส์คุณจะต้องเริ่มหนึ่งใหม่หมดทุกอย่างแบบไม่มีอะไรติดตัวไปเลย แต่ถ้าเป็นช่วงชีวิตที่เราล้มเหลวแล้วต้องลุกขึ้นมาสู้ใหม่นั้นก็คงคล้ายกับเกมส์แนว Roguelite ที่คล้ายกันแต่ว่าทุกครั้งที่เราตายเราก็จะได้อะไรติดตัวกลับมาเสมอไม่ว่าจะเป็นทักษะใหม่ๆ อาวุธใหม่ๆ เพื่อเอาไปต่อกรกับจุดที่เราไม่ผ่าน ถ้าคุณนึกไม่ออกผมจะยกตัวอย่างเกมส์ที่ผมชอบเล่นมากที่สุดล่ะกันเป็นเกมส์ที่ผมเริ่มเล่นตั้งแต่ Early Access (ยังทำไม่เสร็จแต่ขายก่อน) และเป็นเกมส์ที่ผมเล่นจำนวนเยอะที่สุดใน Stream อีกด้วย


Hades เป็นเกมส์แนว Roguelite ที่เนื้อหาและการออกแบบโดดเด่นอย่างมากเป็นเกมส์ที่ปีที่แล้วกวาดรางวัล Game of the year ไปถึง 62 รางวัลจากสำนักเกมส์และสื่อเกี่ยวกับเกมส์ทั่วโลก แม้ว่าจะเป็นอันดับ 2 เมื่อเทียบกับเกมส์ The Last of Us II ที่กวาดไป 290 รางวัล (ข้อมูลจากเว็บ gameawards.net) เกมส์นี้เป็นเรื่องราว Zagreus ลูกชายของเทพแห่งนรกอย่าง Hades ที่ต้องการออกจากนรกเพื่อไปพบแม่ของตนเอง Persephone (ตามตำนานของกรีกคือลูกสาวของเทพีแห่งการเก็บเกี่ยวที่มีชื่อว่า Demeter แต่เมื่อเจ้านรกดันตกหลุมรักลูกสาวเขาก็ดันไปฉุดเขาลงมานรกซะงั้น คนเป็นแม่เสียใจจนไม่ทำการทำงานเป็นที่มาของการเกิดฤดูหนาวนั้นเอง)


ตัดมาที่ตัวเกมส์คือก็ต้องผ่านด่านนรกแต่ละชั้นขึ้นไปเจอแม่บนโลกนั้นเอง ในการผ่านแต่ละชั้นครั้งแรกที่เจอกับบอสชั้นแรกแน่นอนใครหลายๆคนต้องตายแน่นอน พอตายก็จะต้องเริ่มใหม่ตั้งแต่แรกแต่ครั้งที่ 2 เราก็จะรู้แล้วว่าบอสตัวแรกจะต้องหลบอะไรบ้าง มันมีสกิลอะไรบ้าง ยิ่งเราตายเยอะเราก็จะยิ่งมีเงินมาอัพเกรดอาวุธต่างๆ อัพเกรดสถานะต่างๆ ทำให้เราสามารถเล่นเกมส์ได้ง่ายขึ้น พอจนจบเราก็จะเจอฉากจบที่น่าประทับใจให้ 10 10 10 เหมาะสมสำหรับการรอคอยมาเกือบปีกว่าจะจำหน่ายตัวเต็ม ถ้าใครไม่ใช่สายเกมส์ก็อาจจะไม่รู้จักเกมส์นี้ แต่เกมส์แนวนี้ที่ผมเล่นก็มี Don't Starve, Dead Cell, Risk of Rain 2, Darkest Dungeon, Moonlighter หวังว่าคุณอาจจะเคยลองเล่นสักเกมส์เนอะ จะบอกว่าเกมส์มาริโอ้มันก็คล้ายแนวนี้นะแต่มันไม่ใช่ซะทีเดียวอะครับ


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


I wait for the postman to bring me a letter

.


การแข่งขันครั้งที่ 2 นี้เป็นการแข่งขันระดับเอเชียแปซิฟิคของแอปพลิเคชันยักษ์ใหญ่เจ้าหนึ่ง ซึ่งแบ่งการแข่งขันทั้งหมดเป็น 3 สัปดาห์แต่ละสัปดาห์จะมีโจทย์ทดสอบแต่ละหัวข้อ สัปดาห์ที่ 1 เป็นการทดสอบ 3 ชั่วโมงด้าน Data Analytic สัปดาห์ที่ 2 เป็นการทดสอบ 1 อาทิตย์ด้าน Data Science และสัปดาห์สุดท้ายเป็นการแข่งขันเกี่ยวกับ Programming มีผู้เข้าแข่งขันมากกว่า 1 พันทีมทั้งสิงคโปร์ เวียดนาม อินโดนีเซีย มาเลเซีย และปรเทศแถบนี้อีกหลายประเทศซึ่งเป็นเวทีที่ใหญ่พอสมควร และผมในฐานะที่เรียนด้านนี้มาก็อยากทดสอบความรู้ตัวเองซะหน่อย เลยชวนเพื่อนๆมาแข่งด้วยแม้ว่ารู้ทั้งรู้ว่ามันเป็นช่วงที่ต้องสอบกลางภาค ทุกคนก็เข้าร่วมการแข่งขันนี้กับผมด้วยเช่นกัน


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

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


Made me learn a little bit faster, Made my skin a little bit thicker, Makes me that much smarter, So thanks for making me a fighter



สัปดาห์ที่ 2 ทดสอบด้าน Data Science ที่ให้เวลาสร้างโมเดล 1 อาทิตย์ ใจตอนแรกก็คิดว่าพวกเราน่าจะทำได้แหละหลังสอบกลางภาคพอดีเลย มีเวลาตั้ง 1 อาทิตย์ในการทำโมเดลเลย แต่พอสอบกลางภาคเสร็จอ่านโจทย์และก็ท้อไปอีก 1 ทีเพราะโจทย์เป็นการทำ Address Extraction ภาษาอินโดนีเซีย ครั้งนี้ผมยอมรับว่าเหนื่อยจากการสอบกลางภาคมากจริงๆ รวมทั้งการสอบอื่นของเทอมที่ผ่านมา (สอบ 5 อาทิตย์ติดอาทิตย์ละ 1 วิชา) เลยคิดว่าเราลองทำเท่าที่เราจะทำได้ก่อนละกัน ไฟในการต่อสู้มันจะมอดลงแล้วถ้าไม่พักเติมเชื้อไฟละก็ต้องไฟดับไปจุดกลับมาติดยากแน่ๆ

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

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


สัปดาห์ที่ 3 แบบทดสอบ Programming ด้วยเวลา 3 ชั่วโมงเป็นการแข่งขันที่ผมไม่อยากแข่งมากที่สุดและไม่มั่นใจมากที่สุดและไม่พร้อมที่สุด แต่ไหนๆก็ไหนๆแล้วขออาจารย์โดดเรียนมาเพื่อแข่งแล้วด้วย เอาหน่อยแล้วกันทำให้เต็มที่ที่สุดซึ่งการแข่งขันรอบนี้ทำให้รู้จักเว็บดีๆอีกเว็บ Hackerearth.com เป็นเว็บที่ต่างจาก Kaggle ที่ใช้แข่งขันในสัปดาห์ที่ 2 เป็นเว็บที่ผมก็พึ่งเคยใช้ก่อนแข่ง 1 วันนั้นแหละ เว็บนี้มันดีตรงที่คุณจะใช้ภาษาอะไรในการแข่งก็ได้ มันรองรับหลายภาษามาก

ในการแข่งขันนั้นมีโจทย์มาให้ทำ 5 ข้อซึ่งผมทำข้อแรกก็ใช้เวลาไป 1 ชั่วโมงแล้วผมก็เขียนโค้ดได้นะ โค้ดที่ผมทำตอบถูกไป 50 เปอร์เซนต์แต่อีก 50 เปอร์เซนต์นั้นไม่ผ่าน เพราะสิ่งที่ผมเขียนไปใช้เวลาคำนวนมากไป (Run time) ก็เล่นใช้ For Loop เขียน พอเจอเลขที่เป็นร้อยล้านหลักเวลาคำนวนมันก็เกินที่เขากำหนดไปมากอะดิ เล่นวนมันทุกตัวแบบนั้น แต่ตอนนั้นมันคิดไรไม่ออกแล้วอีก 4 ข้อก็ยังไม่ได้ทำ

ผมเลยไปทำลองทำข้ออื่นอีกแต่ว่ามันก็ทำไม่ได้เหมือนกันมันเป็นโจทย์ที่ต้องใช้ความคิดแบบเลขมาตีโจทย์เป็นสมการก่อนและหลังจากนั้นค่อยเขียนโค้ดเพื่อแก้ไขปัญหานั้น ผมซึ่งไม่เคยเจออะไรแบบนี้เลขก็ไม่แข็ง โค้ดก็ไม่แข็งก็ตายไปดิ สิ่งที่ผมทำมันตลกมากคือแค่รับ Input เข้ามาแล้วสั่งพิมพ์คำตอบตัวอย่างเพื่อให้เว็บมันรันผ่านและส่งคำตามได้แค่นั้นแหละ print(172) เป็นต้น อย่างน้อยก็ตอบถูก 1 ข้อแล้วละ นั่งงมเท่าไรก็คิดไม่ออกจริงๆ ยกธงขาวไปอีกครั้ง


Fly! Forget about the reasons why you can't in life and start to try.


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

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

 

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


สุดท้ายแล้วฝากเว็บไซต์ผมไว้ในอ้อมอกอ้อมใจด้วยนะครับ ในอนาคตอันใกล้ผมจะไปเอาเรื่องราวการผจญภัยของคนอื่นในสาขามาแบ่งปันให้ทุกคนได้เห็นหลากหลายมุมมองเกี่ยวกับ Data Analytic มากขึ้ันนะครับไม่ว่าจะเป็น BADS Nida สาขาต่างๆ หรือในอนาคตหลักสูตรใหม่อย่าง DADS Nida หรือ MADT Nida ผมบันทึกเรื่องราวของพวกเขาเล่านั้นมาเป็นแรงบันดาลใจ เป็นแหล่งบันเทิงให้ทุกคนได้สนุกกันนะครับ อย่าลืมนะครับ Facebook Devvertory (สโลแกนยังไม่มีไว้คิดออกจะมาบอกครับ)


Something u don’t need to know:


ดู 56 ครั้ง0 ความคิดเห็น