เปิดประสบการณ์การแข่งขัน “AWS Microservices GameDay 2020” จากทีมผู้ชนะ ที่ไม่เคยเผยที่ไหน!

WEDO
WEDO
Published in
2 min readJan 12, 2021

หากจะพูดถึงการแข่งขันที่เน้นไปในเรื่องของเทคโนโลยีต่าง ๆ “Hackathon” มักเป็นการแข่งขันแบบแรกที่นึกถึง แต่อีกแบบหนึ่งที่ WEDO จะพาทุกคนไปรู้จักกันนั้น เป็นการแข่งขันที่มาในรูปแบบเกม! กับงาน “AWS Microservices GameDay 2020” จัดโดย Amazon Web Services (AWS) cloud provider เจ้าดัง ที่ชวนผู้ใช้บริการของ AWS เองจากทั้งอาเซียนกว่า 160 คน กว่า 40 องค์กร หรือราว ๆ 50 ทีม มารวมตัวกันในวันที่ 22 ธันวาคม 2563 แข่งขันกันทั้งแบบ F2F และ online 8 ชั่วโมงต่อเนื่อง ตั้งแต่ 9.00–16.00 น. เรียกได้ว่าเข้มข้นอัดแน่นทั้งวัน การแข่งขันในครั้งนี้จะท้าทายขนาดไหน กติกาเป็นยังไง ระอุขนาดไหน ได้เรียนรู้อะไรบ้าง ไปฟังเสียงจากทีม “TEAM 26” ผู้ชนะการแข่งขันในครั้งนี้ ซึ่งเป็น developer สมาชิกทีม Digital Technology จาก WEDO กันได้เลย

TEAM 26 การรวมตัวกันของเหล่า developer จาก WEDO

การแข่งขันในครั้งนี้คือแข่งอะไรกัน ลักษณะการแข่งขันเป็นอย่างไร

“AWS Microservices GameDay 2020 เป็นการแข่งขันในรูปแบบที่เรียกว่า GameDay ซึ่งไม่ใช่การแข่งแบบ Hackathon เขียนโค้ดครับ อันนี้จะมีกำหนดโจทย์มาแล้วว่าอยากให้เราทำอะไร ซึ่งเป็นโจทย์เดียวกันทุกทีม เราต้องทำ software ให้เสถียรและดีที่สุด โดยเขาได้เตรียมโปรแกรมไว้ให้ แล้วให้เราเอาขึ้นใน environment ที่กำหนด คือเราต้องตั้ง service ย่อย ๆ โดยมี code ให้แล้ว 3 ชุดและให้ไปรัน 3 ระบบเราไม่ต้องเขียนใหม่ทั้งหมด ซึ่งทีมอื่นต้องเรียกใช้ระบบของเราได้ ไม่ล่ม เร็ว มีประสิทธิภาพสูงสุด แต่ละ service ก็จะมีการใช้เทคโนโลยีที่ต่างกันและล้วนเป็นของ cloud provider อย่าง AWS เราอาจต้องมีความรู้พื้นฐานกว้างหน่อย เพื่อเซ็ต service ที่ต่างกันนี้ให้ได้ครับ” เบิร์ด ปอนด์และเกม ช่วยกันตอบในประเด็นนี้

และอีกหนึ่งความท้าทายที่จัดว่าเป็นความสนุกของ GameDay เลยก็ว่าได้ ก็คือ “การเพิ่มลดคะแนน”

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

อะไรคือความท้าทายหรือโหดที่สุดในการแข่งขันครั้งนี้

ทั้งบอมบ์และเกมต่างลงความเห็นเป็นเสียงเดียวกันเลยว่า

“ความท้าทายก็คือ ไปแข่งแบบไม่รู้อะไร ไปลุยหน้างานเลย”

เบิร์ดเสริมว่า “ครึ่งวันแรกจับจุดอะไรไม่ได้เลย คะแนนเราตามที่หนึ่งทั้งวัน เพิ่งมานำตอนก่อนหมดเวลาสิบนาที ซึ่งจากที่เราไม่รู้ พอเริ่มรู้แล้ว ปรากฎว่าความรู้ของเรากลับมาไม่รู้อีกทีหนึ่ง เพราะเขาก็มาแกล้งลบนู่นนี่นั่นของเราไปอีก เราต้องมาคอยแก้ไขตรงนี้ ซึ่งจุดที่ทาง AWS แกล้งนี้มันลึกพอควร เราไม่นึกว่ามันถึงขั้นนี้”

เช่นเดียวกันกับฟาร์ ที่มองว่าการแกล้งที่เกิดขึ้นนั้นโหดไม่เบา “พอ service เราขึ้น เขาก็บอกว่ายิง chaos ขึ้นมาในระบบแล้ว เราต้องหากันเอง แต่ด้วยความที่ AWS เขาเตรียม environment มาให้เรา เราก็ไม่นึกว่าเขาจะแก้ไขสิ่งที่เตรียมมาให้เราแต่แรก ฉะนั้นสิ่งที่เราทำต่อตามเขา ก็จะล้มเป็นโดมิโนไป ผมว่าความยากคือมันไม่ใช่ flow ปกติที่เราจะเจอตอนทำงาน ไม่มีใครแกล้งเราแบบนี้ ต้องใช้ความรู้เบื้องลึกวิเคราะห์ให้ได้ว่าเกิดปัญหาในขั้นไหน”

ตอนที่พลิกขึ้นมาคะแนนนำ มันเกิดอะไรขึ้น ทำไมพลิกมาได้

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

เบิร์ดและบอมบ์กล่าวถึงไม้เด็ดที่ช่วยทีมไว้ว่า “ปอนด์เห็นช่องว่าเราทำ automate ได้ สคริปต์ที่ปอนด์เขียนขึ้นมานี่ช่วยได้เยอะมาก จุดสำคัญเลยนะ”

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

teamwork มีส่วนช่วยมาก ๆ ในการแข่งขัน

“เป็นทีมเวิร์คที่ดีนะ ที่เราแข่งนี้เป็นแบบ from home กันก็จริง แต่เรามีการตั้งทีมคุยกันโดยเฉพาะ มีการแบ่งกันทำงาน ตอนแรกเราแยกกันทำคนละส่วน พอทุกอย่างนิ่ง เจอปัญหาเราก็ช่วยกันแก้ ช่วยกันมอนิเตอร์จนโค้งสุดท้ายเราทำคะแนนขึ้นนำมาได้” เบิร์ดกล่าว

ทีมมีจุดเด่น หรือเทคนิคอะไรที่ทำให้ฝ่าฟันจนชนะมาได้

“ทีมเรา 5 คนมาจากคนละส่วน คนละโปรเจกต์ เราจะตั้ง infrastructure ไม่เหมือนกัน โจทย์เขามากว้าง เราเลยได้ใช้จุดนี้ให้เป็นประโยชน์ เช่น ถ้าเรื่องนี้คนนี้ทำบ่อย ก็เอาไปทำ และด้วยความที่เราเป็น developer เราทราบเทคโนโลยีเยอะ เจอช่องทางที่ effective กว่าที่เขาเขียนมาแต่ได้ผลเหมือนกัน อาจจะทำให้ตรงนี้เป็นจุดที่เปลี่ยนและกลับมาชนะได้ด้วย” เบิร์ดกล่าวถึงสไตล์ของ TEAM 26 ที่จริง ๆ แล้วเขากระซิบมาด้วยว่า สมาชิกในทีมยัง ไม่เคยร่วมงานด้วยกันมาก่อนด้วย!

ปอนด์ยังเสริมด้วยว่า “จุดเด่นทีมเราคือ เราเป็น developer ที่เขียนโปรแกรมได้ ดู infra ได้ด้วย พอมารวมกัน เลยช่วยกันแก้ได้ เช่น มีที่เรายิง service ไปหา AWS อันหนึ่งแล้วมันยิงไม่ได้ สุดท้ายต้องแก้ที่โค้ด ซึ่งอาจจะเร็วกว่าการแก้ infra พอเรามีท่าเยอะแบบนี้ เราเลยเลือกได้ว่าจะไปแบบไหน”

“คือที่ WEDO ส่งเสริมสกิล developer ไม่ใช่แค่เรื่องการเขียนโปรแกรม แต่เรื่องการเซ็ต infrastructure เราก็ได้ด้วย เราก็เลยเป็น developer ที่ได้ทั้ง infra และ coding เลยอาจจะเหมาะสมกับ session นี้”

เบิร์ดย้ำถึงความสำคัญของการที่เป็น developer ที่ไม่ได้ทราบเพียงด้านใดด้านหนึ่งเท่านั้น

ความคาดหวังช่วงแข่ง

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

สิ่งที่ได้เรียนรู้จากการแข่งขันครั้งนี้

“สิ่งที่ได้คือสนุก ได้วิธีแก้ปัญหา คิดนอกกรอบ” เบิร์ดบอกกับเราอย่างรวดเร็ว เช่นเดียวกับฟาร์ยืนยันอีกเสียงถึงความสนุกในครั้งนี้ “สนุกครับ โจทย์ท้าทาย เวลาทำไม่ได้มันคาใจ ก็ต้องทำให้ได้ เราก็ได้ work around มองให้มันเป็นเกม”

เกมส์ยังกล่าวด้วยว่า “ผมได้เรียนรู้เรื่องการเชื่อใจทีม ทุกคนเก่งคนละด้าน ได้วิธีการทำงานแบบใหม่ครับ”

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

ต้องบอกว่า “TEAM26” คือเลือด WEDO ตัวจริง เพราะพวกเขามีครบทั้ง Humble-Passionate-Fearless ซึ่งเป็น core mindsets ที่ชาว WEDO ยึดถือ ไม่ว่าจะเป็นเรื่องของ “humble” ที่มีการรับฟังความคิดเห็น ไอเดียของเพื่อน ๆ ในทีมอย่างเปิดใจ “passion” ที่หลงใหลในเรื่อง coding, infrastructure และเทคโนโลยี ที่สำคัญคือ “fearless” ถึงไม่รู้ว่าจะเจออะไรข้างหน้า ไม่รู้ว่าจะเจออุปสรรคอะไร พวกเขาก็ไม่เคยหวาดกลัว จนสามารถฝ่าฟันและคว้าชัยชนะมาได้

การแข่งขันในครั้งนี้ นับว่าฉีกแนวจากที่เราเคยได้ยินกันมาไม่น้อย! ใครที่ใช้ cloud provider อย่าง AWS และอยากเตรียมตัวลงสนามในอนาคตบ้าง รีบศึกษาแนวทางนี้ไว้ แล้วลองมา “ท้าทายตัวเอง” ดูสักตั้ง

ติดตามผลงานจากเหล่า WEDO developer และเรื่องราวสาย Design, Business และ Technology ที่จะเป็นประโยชน์ต่อทุกคนได้อีกที่นี่ และที่ https://www.facebook.com/wedotheofficial

--

--