เกริ่นนำ
สวัสดีครับผม Pagongamedev วันนี้มีโอกาสได้ร่วมเดินทางกับชมรม Chiang Mai Maker Club (CMMC) เพื่อที่จะไปร่วมงาน Code Mania 1001 ที่กรุงเทพกัน
ปกติทางชมรม Chiang Mai Maker Club จะผลักดันน้องๆในชมรมให้เขียนบทความเป็นปกติอยู่แล้ว เลยเป็นอานิสงส์ทำให้น้องๆชมรม ได้การสนับสนุนจากสมาคมโปรแกรมเมอร์ไทย และได้เข้าร่วมงาน Code Manai 1001 ในฐานะสื่อ
บอกก่อนเลยนะครับ บทความนี้จะยาวหน่อยเพราะรูปเยอะ เป็นการเล่าประสบการณ์การได้ไปงานตั้งแต่ไปเช้าเย็นกลับ อาจจะมีสาระบ้าง ไร้สาระบ้าง โดยผมจะแบ่งเรื่องออกเป็นหัวข้อขั้นด้วยหน้าต่างๆเอาไว้ ให้ผู้ที่ติดตามสามารถข้ามไปอ่านเรื่องที่สนใจตามสะดวกครับ
เนื่องจากผมอยู่เชียงใหม่ ไม่คล่องเรื่องชื่อ บุคคล และ สถานที่ อาจจะมีความผิดพลาด ต้องขออภัย มา ณ ที่นี้ หากทราบจะแก้ไขให้เร็วที่สุดครับ
โดยการเดินทางครั้งนี้มีผมน้องเคน (Pagon GameDev)
พี่มังกร (Chalumpol Trararak)
น้องเปาๆ (Prawared Bowonphattharawadi)
น้องแฮม (Sahasawas Kerdpong)
น้องกร (Wuttikorn Pornwitayarat)
น้องแมน (Apirak Sang-ngenchai)
และมีพี่ณัฐ วีระวรรณ์ (Nat) ประธานชมรม Chiang Mai Maker Club เป็นแขกรับเชิญในฐานะผู้เชี่ยวชาญด้าน IOT ในการเดินทางในครั้งนี้
การเดินทางจากเชียงใหม่สู่กรุงเทพ
ทั้งนี้พี่ณัฐและน้องแมน แม้เจอกันที่สนามบินก็จริง แต่ทั้งคู่มีตารางงานอยู่ก่อนแล้ว จึงทำให้บินกันคนละไฟล์ทไม่ได้เดินทางไปด้วยกัน
โดยทั้งนี้น้องชมรมบางคนยังไม่เคยขึ้นเครื่องบินขึ้นรถไฟฟ้า จึงเป็นการเปิดหูเปิดตาครั้งแรก และเรียนรู้การเดินทางด้วยตัวเองกัน โดยมีผม พี่มังกร น้องเปาๆ ที่เดินทางกับชมรมบ่อยแล้ว คอยพาน้องๆไปถึงที่หมายได้อย่างมีสวัสดิภาพ (หรือเปล่า)
โดยผมได้ไฟล์ทบิน 7:00 ถึงกรุงเทพ 8:15 แต่ถึง 8:00 เร็วกว่ากำหนด 15 นาที ถึงอย่างนั้นกว่าทุกคนจะพร้อมถึงคิวรถแท็กซี่ ก็ปาเข้าไป 8:30 (ได้ข่าว งานเริ่ม 8:30 จะทันใหมนะ)
เนื่องจากเรามากัน 5 คน แท็กซี่รีบได้แค่ 4 คน จึงต้องนั่งแท็กซี่ 2 คัน โดยมีผม น้องแฮม น้องเปาๆ กับอีกคัน พี่มังกรไปกับน้องกร แบ่งกันเดินทางไป
โดยที่ๆเราจะไป คือตึก True Digital Park ที่อยู่บนถนนสุขุมวิท 101
พี่แท็กซี่เลยแนะนำพาขึ้นทางด่วน 2 ต่อ ยิงยาว ออกสุขุมวิท 62 ถึงภายในครึ่งชม.
โดยมีค่าเดินทาง รวม 431 บาท โดยมีค่าคิวสนามบิน 50 บาท ค่าทางด่วนยกระดับ 70 บาท ค่าทางด่วนพิเศษที่สองอีก 50 บาท และค่าแท็กซี่ 261 บาท
เรามาถึงแล้ว ตึก True Digital Park ตึกใหญ่ตระการตา จากที่เดินดูมีชั้นล่างเป็นห้าง ฟูดคอร์ท ข้างหลังเป็นคอนโดที่อยู่อาศัย ข้างหน้าเป็นตึกออฟฟิศ มีต้นไม่เยอะดูเขียวเป็นธรรมชาติดี
ส่วนพวกผมพอมาถึงก็ลงทะเบียนรับเข็มกลัด (จะพูดในส่วนถัดไป)แต่ข้างบนคิวยาวรอรับเสื้อ พอมีเวลาก่อนเปิดงาน พวกผมก็หาเซเว่นกัน อยู่ที่เส้นถนน 24 ชม ภายใน True Digital Pack หลังจากที่พากันเติมพลังก็พากันขึ้นไปในงานกัน
เพิ่มเติม หากใครไม่รีบร้อน แนะนำให้ขึ้นรถบัส A1 หรือ A2 จากสนามบิน 30 บาท ข้อดีคือรถจะพาขึ้นทางด่วนยกระดับ ไม่ต้องรถติด และสามารถนั่ง BTS สถานีหมอชิตจนถึงสถานีปุณณวิถีก็จะเจอตึกเลย ในราคา 59 บาท รวมทั้งหมดเพียง 89 บาทต่อคน
บรรยากาศภายในงาน Mania Code 1001
หลังจากลงแท็กซี่ในที่สุดเราก็มาถึงงานแล้ว ตอนแรกเราก็มารับเข็มกลัดตรง Lobby ชั้นล่าง โดยมาถึงก็รู้เลยเพราะคนเยอะมาก
และสตาฟบอกว่าข้างบนคนกำลังลงทะเบียนรับเสื้อเยอะมาก เลยแนะนำให้ออกไปหาอะไรกินก่อนแล้วค่อยขึ้นไป (นั่นก็คือเซเว่นกันบนหัวข้อที่แล้ว)โดยพิธีจะเริ่ม ตอน 10 โมง
หลังจากหาอะไรกินเสร็จก็ขึ้นชั้น 6 ครับ เพื่อไปลงทะเบียนรับเสื้อ ทั้งนี้งานจัดถึง 2 ชั้น คือ ชั้น 6 และ ชั้น 7 ครับ
พิธีเปิดงาน Code Mania 1001
พอถึงเวลา 10 โมงเช้า สตาฟก็เรียกเข้าห้องประชุมที่ชื่อว่า Auditorium ครับ เป็นห้องประชุม 2 ชั้น โดยชั้นบนต้องเข้ามาจากตึกชั้น 7
เริ่มต้นสมาคมโปรแกรมเมอร์ไทยได้กล่าวเปิดงานครับ
ต่อมาเป็น DEPA มาแนะนำเรื่อง Digital Skill
อันนี้ผมชอบมาก เพราะเป็นแนวคิดเดียวกันกับที่ผมใฝ่ฝันจะทำในอนาคต และอยากให้มีมานานแล้วคือ มีคอร์สเรียนที่จำเป็นสำหรับทำอาชีพ ที่ได้รับการร่วมมือกับบริษัทแล้วว่าบริษัทต้องการ เรียนจบได้ใบรับรอง หากมีใบรับรองครบตามที่บริษัทต้องการสามารถทำงานได้เลย
เป็นเหมือนต่อยอดสกิลเกม หากมีสกิลครบ สามารถอัพคลาสอาชีพได้เลย
แต่สเกลของ Digital Skill ใหญ่จริงอะไรจริง โดยทางสมาคมได้เชิญผู้เชี่ยวชาญตัวท็อปๆในประเทศมาช่วยวางหลักสูตร รวมถึง Microsoft จะแปล Microsoft learn ให้เป็นภาษาไทย เพื่อลดข้อจำกัดด้านภาษา
และที่สำคัญเรียนฟรี (แต่บอกไม่ได้ว่าฟรีได้จนถึงเมื่อไหร่ แต่จะพยายามจะให้ฟรี)
ส่วนตัวที่ได้ฟัง จากที่ผมเป็นโปรแกรมเมอร์ด้านการทำเกม อนาคต อยากให้เพิ่มหลักสูตรการสอนสายเกม และ แอนนิเมชั่น จะเพอร์เฟคมากๆเลยครับ
ต่อมาทาง True ได้มาแนะนำ True Digital Park ที่เรียกได้ว่าเป็นเมืองโอเอซิสของ Startup ที่ระดมคนเก่งๆมาอยู่ด้วยกัน และสามารถกินอยู่และทำงานในเมืองแห่งนี้แบบไม่ต้องไปใหนได้เลย เพราะมีทุกอย่างสนับสนุนแบบครบวงจรจริงๆ
ส่วนทาง Microsoft ก็ได้ร่วมกับ Digital Skill จะนำ Microsoft Learn มาแปลเป็นภาษาไทยเพื่อลดข้อจำกัดด้านภาษา
ส่วนทางสมาคมโปรแกรมเมอร์ไทย ก็มาขยายความว่า Digital Skill เกิดได้อย่างไร มีขั้นตอนอย่างไร และ จะเกิดขึ้นได้อย่างไรบ้าง
หลังจากนั้นก็ถ่ายรูปหมู่เพื่อปิดพิธีเปิดครับ
ปล เสียดาย Section เกี่ยวกับการแสดงคะแนนโหวตเลือกตั้งแบบ Real-Time ของทาง Cleverse มากครับ เศร้าครับ พอดีออกไปข้างนอกเพลิน กลับมาฟังไม่ทันจบซะแล้ว กลับมาเป็นถามตอบพอดี
หลังจากนั้นก็เป็นช่วงเวลา Open Topic ที่ให้คนที่เข้ามาร่วมงาน มาเสนอหัวข้อที่ตัวเองที่จะพูดครับ หากใครสนใจสามารถไปฟัง ไปคุยกันต่อได้ที่นอกห้อง
หลังจากทานข้าวเสร็จผมก็มาฟัง Open Topic เรื่องการลุยตลาดที่จีน ต่างจากไทยอย่างไรครับ
บรรยากาศตอนพักเที่ยง
พักเที่ยงก็ต่อคิวรับอาหารกลางวันกัน เซอร์ไพร์เลยคือตัวข้าวครับผมชอบมากๆ เหมือนข้าวหมักกับซุป คล้ายๆข้าวมันไก่ แต่ไม่ใช่ ค่อนข้างหอมเครื่องเทศอ่อนๆ หากใครรู้ว่ามันคือข้าวอะไรบอกผมที >_<
ที่ๆเรากินข้าว เราสามารถนั่งกินตรงใหนก็ได้ของงานครับ ซึ่งส่วนใหญ่กินอยู่ที่ส่วนที่เป็น co-working space ซึ่งกว้างใหญ่และมีหลายโซนมากครับ เดินก็เพลิน เห็นแล้วอยากนั่งทำงานมากเลย
ในชั้น 7 เองเหมือนเซเว่นกำลังจะเปิด (หรือเปล่า) คือดูสะดวกดีครับ หากนั่งทำงานที่ co-working space แบบไม่ต้องลงไปซื้อใหนไกลๆเลย
ถึงเวลา Section แห่งการบรรยาย
ตั้งแต่ทราบข่าวว่าจะได้มางาน Code Mania ก็ศึกษางานว่ามีเรื่องอะไรให้ฟังบ้าง ในตอนแรกก็ยากหน่อยเพราะเห็นแต่หัวข้อ ไม่ทราบรายละเอียด เลยต้องไปดูว่าใครเป็นคนพูด เพื่อประกอบกันว่าคนนั้นจะมาพูดเรื่องใหน
พอดีว่าผมพึ่งย้ายสายมาทำ Backend ได้ไม่ถึงปี เลยอยากจะเข้าใจพวก DevOp Monitoring เลยได้ Section ที่ตั้งใจประมาณนี้ (ส่วน Real world build Automation at Scale อยากเข้า แต่ไม่ได้เข้าเพราะชนกับ Monitoring รู้สึกเสียดายหน่อยๆ)
ปล. งานนี้ เผื่อเวลาพักเบรค ระหว่าง section อยู่ 20 นาที มีเวลาให้พักหายใจ ดื่มน้ำเข้าห้องน้ำ หาที่นั่งพอสมควร กำลังดี ตอนแรกนึกว่าจะต้องวิ่งไปมาซะแล้ว
Section แรก กับ Architecture in Tech
ผมก็ไม่รู้ว่า Architecture in Tech คืออะไร เรื่องนี้พูดโดยพี่แชมป์จาก BillMe ตอนแรกนึกว่าจะคุยแต่เรื่องยากๆ แต่จริงๆคุยง่ายๆ สบายๆ ซะงั้น
แถม สไลค์สวย ครึ่งแรกเป็นรูป LEGO ทั้งหมดเลย (ใจพี่เขาบอกอยากหาเป็น LEGO ทั้งหมด แต่ทำไม่ทัน) โดยจะสื่อว่า Achitechture ก็คือ feature เป็นชิ้นๆประกบกัน ถอดเปลี่ยนได้อยู่เสมอนั่นล่ะ
โดยพี่แชมป์ นั้นพี่เขามีคาแลคเตอร์น่ารักมากด้วย เวลาฟังแล้วก็เพลินดี โดยเฉพาะเวลาเปลี่ยนสไลค์ จะพูด “งัมๆๆๆๆ” เป็นเสียงประกอบ พอรู้ตัวอีกทีก็จบแล้ว โดยใช้เวลา 30 นาที เหลือเวลาอีก 20 นาทีกลายเป็นถามตอบเต็มอิ่ม
จากที่ผมฟังเข้าใจว่าเพราะ Requirement เปลี่ยนแปลงเร็วยิ่งกว่า The Flash ดังนั้น Feature ต่างๆจึงต้องถอดเปลี่ยนได้ (ดั่ง LEGO) แต่การที่จะถอดเปลี่ยนได้นั้น จะต้องมี Architecture คอยเป็นโครงสร้างรองรับการถอดเสียบ
ดังนั้นจึงทำให้ส่วนที่เป็น Architecture เปลี่ยนแปลงได้ยาก จึงเป็นข้อจำกัด โดยคำที่ว่า “เมื่อเราแก้ไขข้อจำกัดหนึ่ง จะนำมาด้วยอีกข้อจำกัดหนึ่ง” เราจึงทำงานบนข้อจำกัด และเลือกว่าใช้ Architecture ที่มีข้อจำกัดใดจึงเหมาะสม
คำถามคือ แล้วแบบใหนคือ Architecture ที่ดีละ สรุปว่าไม่มีคำตอบ เพราะขึ้นอยู่กับการตกลงกันของทีม แต่ดูได้ไม่ยากหรอกว่า แบบใหนไม่เหมาะสม เพียงหากเราเอา Architecture มาใช้แล้ว ทำให้ทีมทำงานได้แย่หรือช้าลง นั่นคือเรามาผิดทางแล้วหล่ะ ดังนั้น เราจะเอา Architecture ที่ทันสมัยอลังการยังไง แต่ถ้าทีมแย่ลงก็ไม่มีประโยชน์
ส่วนหลักการที่พี่เขาเลือกเอา Architecture มาใช้ ก็ดูจากการใช้งานของข้อมูลเป็นหลักว่าเป็นรูปแบบใด ส่วน บริษัทพี่เขา แบ่ง Architecture เป็น 7 ชั้น เรียกว่าสวรรค์ชั้น 7 ซึ่งดูเหมือนจะยุ่งยาก เพราะ input ไปสู่ output ตั้ง 7 ขั้นตอน แต่พี่เขาก็สามารถใช้คน 7 คนแบ่งงานกันทำดูแลแต่ละชั้น ทำให้งานเสร็จได้เร็วและดูแลรักษาง่าย
ดังนั้นวิธีการมาได้มาซึ่ง Architecture ก็แล้วแต่คน แล้วแต่ความเหมาะสม จะดูแต่ architecture อย่างเดียวไม่ได้
Section ที่สอง กับ Service Monitoring and Data Driven
โดย Section ที่ 2 นี่ ผมมานั่งที่ห้องที่มีชื่อว่า Town Hall เป็นที่หนั่งแบบขั้นบรรได มีจอ Projector ทั้ง 2 ฝั่ง ดูนั่งเพลินฟิลสบายๆดี
Section ของพี่โท จาก Code Kids Innovation พี่เขามาบรรยายเกี่ยวกับเกมป๊อกเด้งออนไลน์ที่พี่เขาเคยทำมาก่อน
โดยผมรู้สึกดีมากๆที่ได้เข้า Section นี้ เพราะผมเป็นโปรแกรมเมอร์สายเกมด้วยแหล่ะ เลยอยากรู้วิธีคิดว่าเวลาทำเกมออนไลน์ที่มีคนเข้าใช้มากๆ มีวิธีคิดอย่างไร
โดยพี่เขาก็มาเล่าให้ฟังว่า เกมที่มีผู้ใช้หลักร้อย หรือหลักล้าน ต่างมีแนวคิดที่แตกต่างกัน โดยพี่เขาจำแนกออกมาเป็นลำดับขั้นต่างๆ และบอกด้วยว่าอะไรควรทำ อะไรไม่ควรทำ โดยพี่เขาก็ไม่ได้แบ่งจากจำนวนคนใช้ แต่แบ่งจากอัตราการเติบโตของผู้ใช้
หากทำตามที่แนะนำจะสามารถช่วยลดระยะเวลา และสามารถหาว่าอะไรที่เราควรจะทำแล้วจะได้ประโยชน์จริงๆ
ทั้งนี้เราจะต้อง Monitoring ข้อมูลอยู่เสมอ และใช้ข้อมูลให้เป็น จะทำให้เราสามารถคาดการได้ว่า อะไร คือ ฟีเจอร์ที่ผู้ใช้ต้องการ อะไรคือคอขวด หากเราสามารถแก้ได้จะทำให้เกมของเรามีประสิทธิภาพมากขึ้น
ทั้งนี้เราก็จะรู้ด้วยว่าฟีเจอร์ใหนที่คนไม่ค่อยใช้ หรือไม่ต้องการ ดังนั้น แม้ว่าหน้านั้นจะโหลดช้า แต่ผู้ใช้เข้าใช้น้อย เราก็ไม่จำเป็นต้องแก้มัน เอาเวลาไปแก้สิ่งที่มันสำคัญก่อนจะดีกว่า จะทำให้เราไม่หลงทาง และได้ผลลัพธ์ที่ดี
ทั้งนี้พี่โท ได้ให้สไลค์เพื่อศึกษาทบทวนได้ที่ข้างล่างนี้
Section สุดท้าย กับ Workshop ที่มีชื่อว่า Basic Monitoring System in practical
โดยรอบนี้ผมย้ายมาที่ห้องจัด Workshop ซึ่งกว้างมากๆ เหมือนห้องนี้ห้องเดียวจะ สามารถแบ่งรั้วเพื่อจัดเป็นห้อง Workshop ได้อีก 3 ห้องได้เลย
รอบนี้เป็น Workshop ของพี่กานต์ DepOps Engineer จาก Line Company โดยพี่เขาเตรียมเนื้อหาได้เข้มข้นมากๆ เรียกว่าจัด Workshop 2 วันเต็มเลยก็ได้
โดยพี่เขาได้จัดเตรียมสไลค์ และ ชุดคำสั่งทุกอย่าง ไว้บน Github เรียบร้อยแล้วครับ
โดยรวมเนื้อหาจะเยอะหน่อยแต่สามารถเอาไปใช้จริงในองค์กรได้เลย
หลักๆของ Monitoring จะมีด้วยกันอยู่ 4 อย่าง
1 Data ก็คือข้อมูลต่างๆ
2 Collector เป็นตัวหยิบข้อมูลส่งมาเพื่อจะเก็บ
3 Storage ตัวเก็บข้อมูลที่หยิบมา และจัดวางให้ง่ายต่อการเรียกใช้
4 Visualization tools ตัวแสดงผลเช่นกราฟ สถิต จาก Storage ที่เก็บไว้
ที่ผมชอบที่สุด คือพี่เขาใช้ Collector หลายตัวในการเก็บมาก และก็มี Storage ในการเก็บหลายตัวอีก จริงๆจะต้องมี Visualization tools อีกหลายตัว ของใครของมัน กลายเป็นว่าถ้าเรามี Storage 4 แบบ ก็ต้องมี Visualization tools อีก 4 แบบ
ทีนี้จะลำบากผู้ใช้แล้วว่าต้องศึกษา Tool หลายตัว แต่ทั้งนี้พี่เขา ใช้ Visualization tool เพียงแค่ตัวเดียวเท่านั้น คือ Grafana ซึ่งมีความสามารถคือ สามารถให้ Storage หลายแบบ ส่งเข้าหามันเพียงแค่ตัวเดียวได้
ดังนั้นคนที่จะมา Monitoring ก็แค่รู้จักใช้ Grafana ตัวเดียว ไม่ต้องดูตัวอื่นอีก ซึ่งช่วยลดระยะเวลาในการเรียนรู้ได้อีกมาก
และที่ผมชอบอีกคือพี่เขาไม่ได้ Monitoring แค่ Code เท่านั้น พี่เขายังเอาไปใส่ใน Process ของบริษัท เพื่อหาได้ว่าแต่ละ Process ติดปัญหาอะไร พอแก้ได้ก็สามารถลดระยะเวลา พร้อมทั้งได้งานได้มากขึ้นอีกมาก
ปล พี่เขาเสริมอีกนิดนึงว่า CI/CD แนะนำเป็น Teamcity พี่เขาบอกว่ามันง่ายกว่า เคยสอนให้เด็กฝึกงานเพียงเดือนเดียวสามารถใช้ได้คล่อง ผิดกับ Jenkins ที่ฝึกมา 3 เดือน ยังไม่ได้เท่าที่ต้องการเท่าไหร่
สรุปงาน Code Mania 1001
จากที่ผมมาที่งานนี้ ผมได้เข้าใจว่างานนี้จัดขึ้นเพื่อ บอกให้ทุกคนรู้ว่าทางสมาคมโปรแกรมเมอร์ไทย และ อีกหลายๆส่วน กำลังจะผลักดัน Digital Skill เพื่อพลักดัน โปรแกรมเมอร์ในไทยที่มีอยู่ให้เก่งยิ่งขึ้น และมีมากขึ้นครับ
โดยมีช่วงบ่าย เป็นการฟังบรรยาย หัวข้อต่างๆจาก CTO หรือผู้เชี่ยวชาญ เพื่อผลักดันและพัฒนาความรู้ให้คนที่เข้ามาร่วมงานขึ้นไปอีกครับ
ส่วนตัวผมเองรู้สึกคุ้มค่าเป็นอย่างมากที่มาได้ฟังวันนี้ครับ เพราะแต่ละ section ที่บรรยายมีประโยชน์มาก รู้สึกว่าตัวเองเก่งขึ้น ลดเวลาการฝึกเองได้เป็นเดือนเลย ยังเสียดายที่ไม่สามารถเข้าได้ทุก section (ขออภัยแอบโลภไปนิด >_<)
ส่งท้ายด้วยรูปทีม Chiang Mai Maker Club ครับ เสียดายที่ไม่ได้ถ่ายรูปรวมตั้งแต่มางานเลย เพราะต่างคนต่างเข้า section ที่แต่ละคนสนใจ และหลังเลิกงานเสร็จพี่ณัฐน้องแมนก็มีธุระต่อซะก่อน
อย่างไรก็ตามขอขอบพระคุณทุกๆท่านๆที่ตามอ่านจนมาถึงจุดนี้ พยายามเขียนให้สั้น แต่เขียนทีไรยาวทุกที รวมถึงขอขอบคุณ Chiang Mai Maker Club และสมาคมโปรแกรมเมอร์ไทยที่ให้โอกาสได้มางานในครั้งนี้ครับ
หากใครชอบหรือมีงานทางด้านสายเทคโนโลยี ชวนกันได้ครับ จะเต็มใจไปด้วยความยินดี และจะมาเขียนบทความอีกเมื่อมีโอกาสครับ สวัสดีครับ