2020: What does not kill me makes me stronger

ปีนี้รู้สึกว่าไม่ค่อยมีอะไรหวือวาในชีวิต นอกจากว่าจะมี COVID-19 แล้วงานยังเยอะขึ้นมากๆ จนครึ่งปีหลังแทบจะไม่ได้สนใจอะไรเลย

Planned for 2020

ปีนี้ตอนแรกแพลนจะไปญี่ปุ่นอีก อยากไปกินราเมง !!

ว่ากันตามตรงคือไม่ได้ตามไอดอลแล้ว โดยเฉพาะเมื่อเคยากิกลายเป็นซากุระซากะก็ออกจากวงการนี้อย่างเป็นทางการได้แล้ว อาจจะยังตามผลงานยุยปงอยู่บ้างแค่นั้น

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

ตอนนี้ไม่ต้องไปพอจะเดาได้ว่าไม่เกิน 3 มื้อน่าจะเบื่อ โดยเฉพาะว่าเราไม่ได้ชอบราเมงเกือบทุกประเภท มีแค่บางประเภทเท่านั้นแหละที่ชอบมากๆ แต่ช่วงกลางปีก็เจอว่าน่าจะลองพวก AirBNB experience ซึ่งเดี๋ยวนี้มีขายกันหลายเจ้ามาก ไอเดียคือเหมือนทัวร์แต่ไม่ต้องมาเป็นแพคเกจ

นอกจากญี่ปุ่นอยากลองไปยุโรปบ้าง ยังหาเหตุผลอยู่แต่ก็ไม่แน่ใจ ทั้งว่าไม่เคยไป มันน่าจะแพง แล้วก็ยังไม่มีแรงบันดาลใจพอ

Work

ปีนี้บริษัทมีข่าวใหญ่ๆ หลายข่าว งานที่ทำก็เริ่มเปลี่ยน priority มากขึ้น

อย่างแรกคือเค้าให้เป็น Senior แล้วซึ่งกลายเป็น level รองสุดท้ายในทีมแล้ว ก็ยังมองไม่ออกว่า career path จะขึ้นไปต่อยังไงแต่รู้สึกว่าตอนนี้ก็อยู่ที่ตำแหน่งที่เข้าใกล้ Peter Principle แล้ว คือถ้า promote ไปอีกก็คงทำงานได้ไม่ดีเท่าไร ประมาณนี้แหละกำลังดี

ช่วงครึ่งหลังของปีทีมใหญ่ขึ้นเป็นเท่าตัว priority ของงานเลยเปลี่ยนไป ความรับผิดชอบใหม่ที่มาคือตรวจงานคนอื่นๆ ด้วย ก็ต้องเจียดเวลาจากที่นั่งทำงานตัวเองไปดูคนอื่นบ้างแต่ก็ยังรู้สึกว่างานพวกตรวจต่างๆ ไม่ว่า design หรือ code ยังทำได้ไม่ค่อยดีเท่าไร

อีกอย่างที่ตามมากับขนาดของบริษัทที่ใหญ่ขึ้นคือบริษัทเป็น enterprise แล้ว และก็ตามมาด้วย policy เยอะแยะ ตอนทำงานมาปีกว่าๆ คนถามเยอะว่าทำไมยังไม่ย้ายไปไหน ตอนนั้นบอกว่าอยากเห็นว่า team size ใหญ่ขึ้นเรื่อยๆ แบบนี้แต่เราใช้วิธีทำงานแบบ startup แล้วมันจะไปจบตอนไหนแล้วจบยังไง ตอนนั้นก็ยังมองไม่เห็นตอนจบหรอกว่าจะมายังไง แต่ปรากฏว่าปีนี้ตอนจบมันมาแล้ว มันเร็วมาก และมันไม่สนุกเลย

ปีนี้ครึ่งปีหลังทำ hiring น้อยลง รู้สึกว่าปีนี้มีแต่ bad hire เกือบทั้งหมด นึกถึงโควทของ Steve Jobs ว่า “คนระดับ A จะเลือกคนระดับ A มาทำงาน แต่คนระดับ B จะเลือกคนระดับ C มาทำงาน แล้ว C ก็จ้าง D ไม่นานมันก็ไปถึง Z” คือบางคนอาจจะเคยรู้ว่าทีมเราหาคนเข้ามาหลายปีแล้วได้อยู่คนเดียว เพราะเราเอาแต่ A จริงๆ ซึ่งก็มีคนบอกเยอะมากว่าไม่มีหรอก แต่ครึ่งหลังของปีมาพบว่าเนื่องจากงานเยอะมากๆ และคนขาด บริษัทยอมให้ convert senior software engineer มาช่วยงาน system admin ชั่วคราวแล้วเค้าทำได้ดีมากๆ เรียกว่าดีกว่า candidate SRE ทุกคนที่เคยสัมภาษณ์มาเลยก็ว่าได้ (แต่ก็ให้ได้แค่ชั่วคราว…) ก็เป็นจริงอย่างที่ Google บอกในหนังสือ แต่ว่าคงเอาไปใช้ทำ hiring ไม่ได้

แต่การทำงานในทีมที่เกือบทุกคนเป็น A player นี่เสพติดมากบอกได้เลย มันทำให้เกิด trust ว่าเค้าได้งานไปแล้วเค้าจะจัดการให้มันเสร็จได้เรียบร้อยโดยไม่ต้องตรวจงานเค้าอีก และไม่ต้องคอย mentor ด้วย

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

Project ใหญ่ๆ ปีนี้ที่ดูคือ PDPA, Infra แล้วก็ Security

PDPA

PDPA นี่รู้สึกว่าดีที่บริษัทยอมเปลี่ยน ลด data ที่มองเห็นให้น้อยลง คือกฎหมายมันออกมาดักพวก UX & marketing ที่อยากเห็นลูกค้าทุกอย่าง (ถ้าไปยืนแอบมองมือถือทุกคนได้ก็คงทำ) ก็กลายเป็นว่าต้อง opt in แทน แต่เอาจริงๆ รู้สึกว่าบริษัทในไทยส่วนมากที่เห็น implement แล้วก็ยังทำไม่ถูกเจตนารมณ์ของกฎหมายเท่าไรนัก (นอกจากกลุ่มธนาคารที่ทำได้ค่อนข้างดี แต่ดัก network request ก็ยังเห็นวิ่งอยู่นะ) เช่น…

  • คนไป focus เรื่อง cookie เหมือนยุโรป จริงๆ กฎหมายไม่ได้พูดถึง cookie เลย อยากเก็บก็เก็บได้ไม่ต้องขออนุญาต
  • จุดที่ focus จริงๆ คือเรื่องการเก็บ data และการเอาไปใช้ ซึ่งในไทยไม่มีใครตีความเลยสักคนว่าอะไรได้ไม่ได้ มีแต่จะไปลอก GDPR มาซึ่งก็คล้ายๆ (เพราะกฎหมายก็ลอกมา) แต่มันไม่เหมือน 100% ปัญหาใหญ่ๆ คือ “anonymous” tracking แบบ Google Analytics คือ ไม่รู้ว่าชื่ออะไร แต่รู้ว่าทำอะไรบ้าง บางคนตีความว่ามันใช้ Cookie ID ทำให้ต้องขอ consent แต่บางคนก็ตีความไปว่าแบบนี้ใช้ได้ ซึ่งผมว่ามันผิดเจตนารมณ์ของกฎหมาย (ad tracking มันก็ใช้ “anonymous” advertising ID นะ)
    • ถ้าไม่ใช้ cookie ID มันจะนับ unique visitor/session ไม่ได้เลย ซึ่งเป็น KPI ใหญ่ๆ ของหลายๆ ที่ บางระบบอาจจะใช้ fingerprinting เข้ามาแทน
  • มีข้อยกเว้นว่าเก็บเพื่อประโยชน์ของบริษัทได้ ซึ่งบริษัทคงจะตีความต่างๆ นาๆ กันได้หมด เช่นบอกว่า unique visitor บริษัทต้องใช้จะเก็บ คิดว่าข้อยกเว้นแบบนี้น่าจะทำเหมือนข้อหารือภาษีมากกว่า คือส่งเรื่องให้สำนักงานที่กำกับดูแลอนุมัติก่อนจึงจะทำได้

คือถ้าคนยังติด Google Analytics แล้ว default on ได้ ผมว่ากฎหมายมีปัญหาแล้วล่ะ

Infra & Security

Infra ปีนี้ได้โอกาส revamp infra รอบใหญ่ๆ ล้างบาง legacy ไปได้พอสมควรแล้วก็ยังทำให้ infra เรายัง cutting edge อยู่ เสียดายว่าปีนี้งานจัดน้อยเลยไม่ค่อยได้ออกไปเล่าให้ใครฟังมาก แต่ก็น่าจะเขียนบล็อคไปหมดแล้ว

Security เองปีนี้มีข่าวใหญ่ๆ ไปทีนึง ซึ่งเท่าที่สำรวจและอุดไปก็เป็นช่องทางที่เหนือความคาดหมายเหมือนกัน คือช่วงปีสองปีมาเราทำเรื่อง security ให้เพิ่มขึ้นเรื่อยๆ แต่ที่แทบไม่ได้ทำเลยคือกลับไปแก้ของเก่า เพราะถ้าสังเกตจากบล็อคที่เขียน งานที่เราทำคือออก platform ใหม่แล้วให้ทุกคนย้ายไปใช้ platform ใหม่ แต่บางอย่างคือ practice มันทันสมัยอยู่แล้ว (แต่ insecure) เลยไม่ได้มีประเด็นต้องออก version ใหม่แล้วมันเลยถูกปล่อยทิ้งไว้แบบนั้น

ปีหน้าคิดว่าธีมของงานคงจะเป็น security ไปอย่างน้อยครึ่งปี

Open Source

ปีนี้คือลาจาก open source maintainer จริงจัง ใครส่ง PR อะไรมาบอกเลยว่าไม่อ่านแล้วนะ อยากเอาป้าย unmaintained.tech ติดด้วยซ้ำแต่ก็ขี้เกียจ

Project ใหม่ๆ ที่อยาก open source มีอยู่พอสมควร แต่ว่าพอจะไม่ได้ maintain ก็เลยเฉยๆ งานอื่นยุ่งกว่า แล้ว Hacktobefest ก็ไม่ได้ทำมัวแต่เล่นเกมอยู่…

ก็เลยอยากเขียนหน่อยว่าปีขี้เกียจแบบนี้ทำอะไรไปบ้าง…

  • ArgoCD: Add support for ssh-with-port repo url (#2866) อันนี้ critical มากๆ ทำให้เริ่มงาน project Ceylon ได้
  • gziphandler: Refactor out gzipwriter interface อันนี้พอเค้าไม่ได้ merge ก็ไม่ได้ open source ตัว cfzlib ต่อ ลด CPU ได้ 40% เลยนะ
  • Open source Go SafetyNet validator รองรับทั้ง Google Safetynet และ Huawei Device Check เลย
  • Pomerium: docs fix
  • Pomerium: small fix รู้สึกว่าเวลา contribute open source project ใหม่ควรเริ่มเล็กๆ ก่อน จะได้รู้ว่า upstream จะมาไม้ไหน
  • Pomerium: read url query string พอ contribute ไปเยอะขนาดนี้แล้วก็พบว่า Pomerium มันไม่เสถียรมากๆ เลยเลิกใช้แล้วไปเขียนเองแทน (หวังว่าจะได้ open source)
  • Vault cap username length in database ปรากฏว่า upstream อยากทำท่าอื่น เลยกลายเป็นว่าตอนนี้ต้อง fork Vault ไปก่อน…
  • dex: service account-less group info + docs เขียน PR เกือบเสร็จแล้วเจอว่า domain บริษัทไม่มี license ใช้ API นี้….
  • dex: Vault signer อันนี้ใหญ่มาก แต่ก็ยังขี้เกียจทำให้โค้ดมันคุณภาพดีพอจะ merge

อย่างหนึ่งที่สังเกตคือข้างบนเป็น Go ทุก project เลย เราว่า Go มันทำให้โค้ดมันค่อนข้างเขียนเหมือนกันเกือบหมด ไม่ต้องตีกันเรื่อง design แล้วมันไม่มีอะไรซับซ้อนแบบ DI container (ใครใช้ wire ตีตายเลย) หรือแม้แต่ class inheritance โปรเจกท์ที่เราเขียน Go เป็นครั้งแรก maintainer เคยเขียนบล็อคถึงปรากฏการณ์นี้ไว้ค่อนข้างน่าสนใจ

อีกข้อสังเกตคือข้างบนเป็น PR ในงานบริษัทหมดเลย ก็ดีว่าบริษัทให้อิสระทำอะไรก็ได้ (ที่เป็นประโยชน์กับบริษัท) แล้วเวลาเราติดปัญหาเราก็เลยเลือกที่จะ fix ที่โค้ดดูก่อนถ้ามันไม่เหลือบ่ากว่าแรง ในขณะเดียวกันตอนนี้เลิกงานมาก็ขี้เกียจจนเล่นแต่ RuneScape แล้ว…

นอกจาก code contribution ให้ open source แล้ว ปีนี้รู้สึกว่า project open source บางตัว โดยเฉพาะตัวที่ไม่ค่อยได้ใช้ใน corporate หรือมัน niche มากๆ มันควรจะต้องมี funding เหมือนเราซื้อ proprietary software ปีนี้ก็เลยเลือกจะ fund โครงการต่อไปนี้

  • MATE ผ่าน Ubuntu Mate หลังจากทนใช้ GNOME 3 มาหลายปี พอมาใช้ MATE (GNOME 2) แล้วพบว่ามันเวิร์คกว่า GNOME 3 เยอะมากๆ ถึงจะผ่านไปหลายปีแล้วก็เถอะ แต่ MATE มีปัญหาเรื่องตามเทคโนโลยีไม่ทันมากๆ และมันไม่น่าจะมีโอกาสได้ corporate funding แน่ๆ ก็เลยเลือกจะ join Patreon ไป $10/mo
  • KeepassXC Browser ทีมนั่งคุยกันเรื่อง password manager บน browser ว่าตัวไหนใช้งานสะดวกกว่ากัน ก็ยอมรับว่า KeepassXC มันสู้ proprietary software ไม่ได้ ฉะนั้นก็แทนที่จะให้ $3/mo กับ 1Password หรือ LastPass ก็เอาให้ KeepassXC ดีกว่า

RuneScape

ปีที่ผ่านมานอกเวลางานคือเล่นแต่ RuneScape ตอนที่กดซื้อ subscription 1 ปีคือรู้ตัวเลยว่าทั้งปีนี้จะขายวิญญาณให้เกมนี้แน่นอน

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

หลังจากปีที่แล้วได้ Quest Cape มาแล้ว แพลนปีนี้คืออยากได้ Diary Cape กับ Music Cape ซึ่ง Music Cape นี่โชคดีมากๆ เพราะเปิด Master casket อันที่สองได้ Mimic ก็เลยได้ง่ายๆ (แต่กว่าจะเอา mimic ลงก็เหนื่อย)

ส่วน Diary Cape ตอนนี้ยังเหลือแค่ Slayer กับ Thieving ซึ่งน่าเบื่อทั้งคู่ ก็เลยตัดสินใจว่าไปเล่น RuneScape 3 แล้วกัน…

RuneScape 3

ตอนเลิกเล่น RuneScape บอกว่าจะไม่เล่น EoC ซึ่งตอนกลับมาเล่นก็พยายามอยู่มากๆๆๆ ที่จะใช้ legacy mode แต่ก็ต้องยอมเพราะว่า EoC มันมี heal หลังจบ combat และมันใช้ทรัพยากรน้อยกว่า (runes, ammo) ซึ่ง heal นี่มันโกงมากๆ

  • ไปตี Knight Waves แล้วพบว่ามันไม่เหมือน OSRS คือต้องเล่นให้จบในครั้งเดียว เลยตีด้วย legacy mode เพราะได้ DPS มากกว่า แล้วสลับเข้า Revolution mode บางครั้งเพื่อเอาฮีล เล่นจบรู้สึกว่าโกงมากๆ
  • ทำ Fight Caves แล้วปรากฏว่าอาหารเหลือแต่ prayer เกือบหมด เพราะปล่อยฮีลเอาทุก wave แถมแทบจะยืน tank ได้เลยเพราะยังไงมันก็ฮีลอยู่แล้ว

สิ่งที่ได้จาก RS3 คือ keyboard shortcut ที่พอ bind สลับ prayer บนแป้นแล้วรู้สึกว่าเล่นสบายขึ้นเยอะ ตอนกลับไปเล่น OSRS ก็รู้สึกว่าเล่นดีขึ้นเยอะ

ข้อเสียของ RS3 คือมันเป็น pay to win คือเคยมีเอกสารหลุดมาเค้าบอกว่าคนที่เล่นจริงๆ (ไม่ใช่ gold farmer) ใช้บอตเพราะอยากได้ตังหรืออยากได้เลเวล ถ้าอย่างนั้นก็ขายตัง ขายเลเวลไปเลยแล้วกัน หลังๆ ก็เริ่มรู้สึกว่าอยากซื้อเลเวลไปเลยนะถ้าไหนๆ เกมมันจะ legitimatize ให้ทำได้แล้ว แล้วแม้แต่ผู้เล่น OSRS เองก็ให้เหตุผลว่าฟาร์มตังในเกมยังไงก็ไม่เร็วเท่าฟาร์มตังในชีวิตจริงแล้วเติม

คือ economy ของเกมมันเปลี่ยนไปจากสมัย 2012 แล้ว สมัยนั้นคือ grind skill ไปเรื่อยๆ แล้วได้ตัง เดี๋ยวนี้ต้องไปตีบอสถึงจะรวย หรือไม่ก็ merch items แต่เราไม่ชอบทั้งคู่ ในขณะที่ราคาไอเทมมันถูกกำหนดโดย supply และ demand จากคนสองกลุ่มนั้นเลย

2020

ปีที่แล้วเขียนไว้เยอะ เอาจริงไม่ได้ทำอะไรเลยมัวแต่เล่นเกม…

Prediction

ปีนี้ได้เลื่อนขั้น ถือว่าทายไม่ถูก

New Year Resolution

New Blog

ไม่ได้ทำ อย่างที่เห็น

รู้สึกว่าทำงานแล้วเหนื่อยมากขึ้น บวกกับ อยากเล่น RuneScape ปีนี้เลยแทบไม่ได้เขียนโค้ดที่ไม่เกี่ยวกับงานเลย

เลิกพูดแทรกคนอื่น

เริ่มสังเกตบางทีแต่ยังคิดว่าไม่ดีขึ้นเท่าไร

2021

Prediction

ปีนี้ไม่รู้จะทายเรื่องส่วนตัวยังไงดี ดูท่าทีตอนนี้ COVID ยังอาจจะอยู่ไปทั่วโลกอีกปี (เห็นว่า Ebola มัน 2 ปีเต็มเลยนะ นี่ COVID ยังเพิ่งปีเดียวเอง) ยังอยากไปเที่ยวอยู่แต่เดาว่าปีนี้จะไม่ได้ไปไหน

New Year Resolution

ปีนี้อยากลอง resolution ทุก quarter ดู ไม่รู้จะอยากเขียน quarter in review มั้ย

่สวนหนึ่งคือเอาจริงๆ new year resolution ส่วนมากก็ทำจบใน H1 อยู่แล้ว แล้วบางทีกลางปีก็มีอะไรที่อยากทำแต่ก็จะรู้สึกว่าเก็บไปเขียน New Year Resolution ดีกว่าเดี๋ยวไม่มีอะไรเขียน

ของ Q1 2021 ขอไปคิดก่อนนะ…

NSC รอบนักเรียน #2

จากปีที่แล้ว มาพูดถึงโครงงานปีนี้บ้าง

Inequality

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

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

ในขณะที่โรงเรียนต่างจังหวัดมีอยู่แค่ 3 – 4 โครงการที่ได้คุยกับ Domain expert บางกลุ่มสอบถามไปก็พบว่าขาดแคลน Domain expert ในพื้นที่ด้วยซ้ำ

Video

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

  1. หลายกลุ่มนั่งอ่านที่มาและความสำคัญให้ฟัง ซึ่งยาว เสียเวลา และไม่ได้ใช้วิดีโอเป็นประโยชน์ (ควรจะเขียน script ใหม่ให้เหมาะสมกับสื่อที่ใช้นำเสนอ)
  2. Demo ให้คะแนนยาก เช่นมีคะแนน Look and feel แต่ไม่ได้ถ่าย interface มาให้ดูเลยก็ต้องขอดูตอนซักถาม
  3. ถ้าตัดต่อดีเกินไปจะรู้สึกว่าเป็น visual effect ให้คะแนนไม่ได้เพราะไม่รู้ว่าชิ้นงานที่ใช้ได้จริงมากน้อยแค่ไหน โดยเฉพาะเมื่อกรรมการทดลองเองไม่ได้ ชิ้นงานอาจจะ simulate scenario ทั้งหมดที่แสดงในคลิปให้เหมือนใช้งานได้ไม่ติดปัญหา (นี่คือรายการแข่งซอฟต์แวร์ เราตัดสินจากชิ้นงานที่เสร็จไม่ใช่ไอเดีย) ก็เป็นหน้าที่ของกรรมการที่จะต้องใช้ซักถามสืบให้พอทราบว่าชิ้นงานจริงใช้งานได้แค่ไหน
  4. เนื่องจากทำ video แล้วไม่จำเป็นต้องถ่ายคลิปตัวเองยืนพูดหน้า slide บางคนทำแบบนี้มาแล้วข้อความไม่ชัด หรือเสียงไม่ชัด

สรุปแล้วคิดว่ากลางๆ สุดคือเอา slide ขึ้นเต็มจอ พากย์เสียงทับแล้วตัด demo เข้ามาแทรก (ด้วย screen record จริง ไม่ใช่เอากล้องจับ) น่าจะทำง่ายและดูง่ายที่สุด อาจจะน่าเบื่อแต่ไม่น่าจะเสียคะแนน

ปีหน้าคาดหวังว่าถ้ามีวิดีโออีก มันจะคุณภาพดีขึ้น เพราะปีนี้ฉุกละหุกมาก แต่ไม่มีเลยจะดีกว่า

Scope

ปีนี้กรรมการกังวลกันว่าผู้เข้าแข่งขันเห็นคะแนนแล้วจะสงสัยกันมั้ยว่าทำไมคนนี้ได้อันดับเท่านี้ ทั้งๆ ที่ Scope อาจจะเล็กกว่าของเค้า

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

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

IoT

ปีนี้รู้สึกว่า IoT ถอยหลังลงคลองอย่างชัดเจนมาก ด้วยการมาของ Blynk และ Kidbright

สมัยผมลงแข่งจำได้ว่ามีกลุ่มหนึ่งทำระบบปิดไฟโดยใช้ตู้ Consumer Unit ของ Scheider ที่เสียบ Ethernet ได้ แล้วทำหน้าเว็บเป็น PHP เพื่อควบคุม มันเลยค่อนข้างเป็นโครงงาน software เพราะ hardware ไม่ได้ทำเอง

แต่สมัยนี้โครงงานที่เน้น hardware มีมากขึ้นเรื่อยๆ โดยเฉพาะยุค IoT แต่คิดว่าในมุมเทคนิคแล้วมันน่าจะเกิดจากที่การเขียน IoT ง่ายขึ้นเรื่อยๆ โดยเฉพาะ interface สำเร็จรูปที่ทำให้คนทำเองลดลงมาก หลายๆ ทีมเลือกใช้ Blynk หรือ LINE Notify ซึ่งพวกนี้เราไม่นับเป็นคะแนน interface เลยเพราะใช้ของสำเร็จมาแล้ว

ปัญหาที่ตามมาคือ ในหลายๆ use case ที่เลือกมาใช้แล้วจำเป็นต้องพึ่งบริการ online แต่จุดที่ใช้งานไม่มี internet ต้องติดตั้ง internet มือถือเพิ่มเข้าไปอีก (และด้วยว่าโครงงานไม่ได้ถูกใช้งานจริง เลยไม่เห็นใครคิดแก้ปัญหามาก่อนที่กรรมการจะถาม)

จริงอยู่ว่าการใช้ interface สำเร็จจะลดเวลาทำสิ่งที่เคยมีคนทำไปแล้ว (don’t reinvent the wheel) แต่ยังไม่เห็นมีใครจะใช้เวลาที่ได้คืนมาเอาไปทำอย่างอื่นที่เป็นนวัตกรรมใหม่ๆ โครงการเปิดปิดไฟที่ทำมาเป็นสิบปีแล้วก็ยังมีฟีเจอร์เท่าเดิมแค่เปลี่ยน use case ไปเรื่อยๆ แถมโค้ดน้อยลงเรื่อยๆ จนไม่ต้องเขียน server เองแล้ว

ที่น่ากลัวคือ IoT กำลังจะเข้าถึงมือ end user ด้วย Xiaomi และ Sonoff ที่ทำราคาถูกมาก ปีหน้าถ้ายังมีใครทำเปิดปิดพัดลมตามอุณหภูมิอยู่อีกจะถามแล้วว่าต่างกับการใช้ Sonoff กับ Xiaomi Temperature Sensor อย่างไร (แถมมันยังมี Plant Monitor ปักดินได้ด้วยนะ)

สิ่งที่คาดหวังในอนาคตคือโครงการใหม่ๆ ที่ไม่ใช่แค่เอา sensor ที่ให้มาต่อออก internet มีแจ้งเตือนแล้วก็เปิดปิดไฟได้อัตโนมัติ เช่น…

  • ระบบสำหรับทำให้ end user กำหนด automation ได้เองเหมือน IFTTT
  • data source แบบใหม่ที่ไม่ใช่เซนเซอร์ในกล่อง (ผมเคยลองทำระบบตรวจจับคนในห้องประชุมจะใช้ที่บริษัท มันก็พอได้บ้างนะ แต่สำหรับรอบนักเรียนอาจจะต้อง reframe ปัญหาใหม่)
  • เงื่อนไขการทำงานที่กลับด้านกัน คือ action เกิดบน internet แล้วส่งผลต่อโลกจริง เช่น Printer ที่พิมพ์ Instagram อัตโนมัติ
  • ไอเดีย embedded อื่นๆ ที่ไม่ต้องออก internet เช่น Network monitor หรืองานที่ใช้ peer-to-peer ระหว่างอุปกรณ์ (ปีนี้ก็มีคนทำนะ)

แต่ถ้าเลี่ยงได้น่าจะมีหัวข้อที่ได้ที่ 1 อีกเยอะที่ง่ายกว่าด้านบนนี้