MEET LINE ENGINEER: สัมภาษณ์แบบจัดเต็มไปกับคุณกอล์ฟ Solution Engineer Team Lead มาดูกันว่า Engineer ที่นี่ทำงานกันยังไง

Ike W.
LINE Developers Thailand
5 min readAug 27, 2021

--

สวัสดีค่า ห่างหายกันไปนานสำหรับบทสัมภาษณ์ของเหล่า LINE Engineer แต่ในวันนี้เรากลับมาแล้วว พร้อมกับบทสัมภาษณ์ของพี่กอล์ฟ 1 ใน Solution Engineer Team Lead ของ LINE Thailand ถ้าอยากรู้จัก Engineer ที่ LINE ให้มากขึ้นตามกันมาเลยย

อยากให้พี่กอล์ฟแนะนำตัวหน่อยค่ะ ว่าตอนนี้ทำงานอะไรอยู่ที่ไลน์
สวัสดีครับชื่อกอล์ฟ ธีระพงษ์ สิงห์ทอง (Teerapong Singthong 👨🏻‍💻) เป็น Solution Engineer Lead ของทีมที่ชื่อว่า Moonshot ครับ ตอนนี้ทำงานที่ LINE ประเทศไทย เข้าปีที่ 3 แล้วครับ

สัมภาษณ์พี่กอล์ฟ ธีระพงษ์ สิงห์ทอง Solution Engineer Lead

ตำแหน่ง Solution Engineer ที่ LINE คืออะไรคะ?
Solution Engineer เกิดจากการจัดตั้งทีม Engineer ที่สามารถมอบ Solution แก้ไขปัญหาทาง business โดยเอา LINE Ecosystem มาประยุกต์ใช้ มุมมองและแนวคิดของทีมนี้ จะมุ่งเน้นการสร้างระบบในเชิง platform สเกลการใช้งานขนาดใหญ่ และ ขยายการเชื่อมต่อกับระบบของเราได้

Solution Engineer ทำ product อะไรบ้าง พอจะเล่าให้ฟังคร่าวๆได้มั้ย?
เราทำ Platform ที่ชื่อว่า OA Plus ที่เป็นเครื่องมือสนับสนุน LINE Official Account ใน platform ก็จะแตกออกมาเป็น product ย่อยๆ เช่น MyCustomer ก็จะเป็น solution ด้าน Customer Relationship Management (CRM) เอาไว้เป็นเครื่องมือที่ใช้ดูแล follower ที่อยู่ภายใต้ official account นั้นๆ โดย feature ที่มีก็อย่างเช่นการแชทแบบ one-on-one ที่ให้แอดมินสามารถปฏิสัมพันธ์กับ user ของเค้าได้ทั้งแบบ manual และ auto ทำให้เจ้าของร้านมีเวลามากขึ้นและสามารถไป focus กับ core value ของ business เค้าได้จริงๆ รวมไปถึงเครื่องมือทางการตลาดอื่นๆ ทั้งการ broadcast ข้อความไปยังกลุ่มบุคคลที่เราเลือกไว้ หรือสามารถใช้เครื่องมืออย่าง segmentation เพื่อคัดกรอง target follower ตามเกณฑ์ที่เรากำหนด ทำให้ผู้ใช้งานสามารถทำการตลาดได้อย่างตรงจุด

My Customer

สิ่งที่ LINE Engineer ทำ เรารู้ว่าแค่ Solution Engineer คงไม่สามารถสร้าง productให้เติบโตในแง่การใช้งาน หรือสร้างผลิตภัณฑ์เพื่อใช้แก้ปัญหาใหม่ๆด้วยตัวเราเองได้หมด เราเลยให้ความสำคัญกับคำว่า Platform โดยเชื่อว่า model แบบนี้สามารถให้ระบบอื่นมาเชื่อมต่อหรือสร้าง solution มาต่อกับ OA Plus ได้ จนเกิดเป็น series ใหม่ๆเช่น MyShop หรือ MyRestaurant

ในทาง Technical การเป็น Team Lead ที่ LINE ต้องรับผิดชอบอะไรบ้าง?
หน้าที่หลักๆอย่างแรกคือจะเป็นการ Facilitate ทีม อย่างพอทีมรับ business requirement มาจากทีม Product Owner แล้วก็จะมาประสานงานกับคนในทีมเพื่อ design solution ร่วมกัน เริ่มตั้งแต่เราต้องเล่าให้ทีมเห็นภาพ architecture ว่าภาพใหญ่เป็นยังไง ทำไมเราต้องทำสิ่งนี้ขึ้นมา และกำหนด design direction จากนั้นก็คุยกับทีมไปจนถึงรายละเอียดเล็กๆ เพื่อที่จะ deliver solution นี้ได้

มีบางครั้งที่ทีมมีไอเดียเยอะมาก ทีมเราเชื่อว่าการทดลองต้องมาพร้อมข้อมูลที่ตัดสินใจได้ เพื่อหา solution ที่ดีที่สุด ทีมเราก็เอามา debate กัน แต่ภายใต้เป้าหมายเดียวกันนะ ด้วยหน้าที่ของเราก็ต้อง make decision หาจุดตรงกลางที่มันเหมาะสมภายใต้เงื่อนไขที่มีในเวลานั้น เพื่อให้ solution ที่กำลังจะทำมันได้ประโยชน์ทั้งฝ่าย development team กับ user

แล้วอย่างเวลามี production issue สิ่งที่พี่จะทำก็คือพี่จะเข้าไป identify ปัญหาก่อน ต้องระบุได้ว่าปัญหาที่เกิดขึ้นนั้นกระทบผู้ใช้มั้ย ต้องไปสื่อสารกับ stakeholder ที่เกี่ยวข้อง เช่น business team, technical project manager team จากนั้นค่อยวางแผนการแก้ ถ้าดูแล้วเป็นปัญหาที่กระทบ user แล้วระบบไม่สามารถทำงานต่อได้ สิ่งที่ต้องทำก็คือจะต้องเปิด war room เอาสมาชิกในทีมทั้งหมดมาแก้ไขปัญหาให้เร็วที่สุดและเกิดผลกระทบน้อยที่สุด

นอกจากนี้ในฐานะ technical lead พี่ต้องรักษามาตรฐานของ software ที่ทีมทำอยู่เสมอ เช่น improvement, development pipeline เพื่อให้ทีมรู้ปัญหาของโค้ดได้เร็วหรือเพื่อเช็คว่ามาตรฐานโค้ดยังอยู่ดีอยู่หรือป่าว และก็ต้องมี automation tools ที่ช่วยให้ทีมรู้ปัญหาระบบได้ไวขึ้น ถ้าเราเจออะไรที่ต้องปรับก็ต้องวางแผนกับทีมเพื่อปรับปรุง หรือแม้กระทั่งถ้าจำนวน usage ของระบบเริ่ม hit ratio ที่กำหนดไว้ เราก็ต้องมาสำรวจแล้วว่า โค้ดของเรา หรือ architecture มีอะไรที่ต้องปรับปรุง

นอกเหนือจากการเป็น Technical Lead หละคะ?
ช่วยทาง HR เกี่ยวกับการ hiring Solution Engineer เข้าทีม แล้วพอรับเข้ามาก็จะทำการ training สมาชิกใหม่โดยเทรนกันตั้งแต่ soft skill, hard skill และพูดถึงเกี่ยวกับ culture ของแต่ละทีม เพราะ solution engineer ที่นี่ไม่ได้มีแค่ทีมเดียว แต่แบ่งเป็น sub-team ย่อย อย่างที่นี่เราเรียกว่าเป็น guild ซึ่งแต่ละ guild จะมีวิธีการทำงานที่แตกต่างกันแต่สุดท้ายก็จะยึด culture หลักของ solution engineer เลยเป็นหน้าที่ของพี่และทีมที่จะ shape สมาชิกใหม่ คอย ice-breaking ให้เค้าสามารถทำงานกับเราได้อย่าง smooth และรู้สึกไม่เกร็งเวลาทำงานกับสมาชิกคนอื่น

Team Moonshot

แล้วมีวิธีการดูแลคนใน Team ยังไงบ้างคะ?
ทุกๆเดือนจะมีกิจกรรม 1–1 (one-on-one) เป็นการคุยกับน้องๆแต่ละคน ถ้าน้องๆในทีมมีปัญหาหรืออยากปรึกษาอะไร พี่ ก็จะให้คำแนะนำหรือไม่ต้องรอให้ครบเดือนก็ได้อยากคุยก็นัดมาได้เลย แล้วถ้าปัญหาบางอย่างที่พี่สามารถหา solution ให้ได้ก็จะทำ แต่ส่วนใหญ่จะเป็น deep listening ที่พี่จะมีหน้าที่รับฟังน้องๆ

หน้าที่ของ Team lead อีกอย่างคือการมองการเติบโตของทีม โดยในทีมจะคอยจัดกิจกรรมอยู่เสมอ เช่น knowledge sharing ที่เราจะไม่ได้ strict ว่าจะต้องมาแชร์เป็น technical skill หรือ hard skill เสมอไป เราคุยกันได้ทุกเรื่อง อาจจะเป็นเรื่องที่คนใน team สนใจและอยากจะแชร์เราก็เอามาแชร์กันได้ นอกจากนี้ยังมี code walk through ที่เราจะเอา source code ที่เรา deliver ออกไปมา walk through กันอีกรอบ เป็นการแชร์ knowledge ว่า code ที่ทำไปยังตรง standard ของทีมอยู่มั้ย algorithm ยังโอเคอยู่ป่าว ก็จะเป็นการ group รีวิวด้วยกันซึ่งบางทีเราก็จะเห็นจุด improvemet หรือ bug

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

ทีมจะมีแชร์ความรู้กันอยู่เรื่อยๆทั้ง Tech และ Non-Tech

Leader ยุคนี้ในมุมมองของพี่กอล์ฟควรมีอะไรบ้าง?
Empathy:
ผู้นำที่ดีควรมีทักษะ เข้าอกเข้าใจทีม รับฟังอย่างเข้าใจ ผู้นำควรเอาตัวเองเข้าไปเป็นส่วนหนึ่งของหน้างานที่คนในทีมเจอ เช่น ถ้ารู้สึกว่าทีม lack ก็ควรมองไปที่ people มากกว่า process คนในทีมอาจจะทำงานบางอย่างที่เป็น priority ในมุมมองของเค้า ทำให้ไม่สามารถ deliver ตามที่คุยกันไว้ได้ เราควรถามและฟังเค้าให้มาก จะได้เข้าใจมุมมองเค้ามากขึ้น

Empower: ก่อนที่เราจะ empower ทีมได้เราต้อง trust ในทีมก่อน พอคนในทีมมั่นใจในตัวเองแล้วเราให้อำนาจการตัดสินใจไป ก็จะยิ่งทำให้ทีมเก่งขึ้น โดยเรามองดูอยู่ห่างๆ คนในทีมก็อยากทำผลงานออกมาอย่างต่อเนื่อง

Known Unknowns: leader ควรรู้ว่าตัวเองไม่รู้อะไร ยิ่งคนในทีมเก่งกว่ายิ่งเป็นเรื่องที่ดี เราควรเปิดรับไอเดียใหม่ๆจากทีม ในโลกการทำงานทุกวันนี้มันซับซ้อน ทุกอย่างเปลี่ยนไว เราควรใช้ทักษะที่เรามี เช่น การโน้มน้าว, การหาผู้เชี่ยวชาญ หรือหาคนที่รู้ดีในเรื่องนั้นๆ มาสนับสนุนไอเดียของทีม

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

Simple & Practical: สุดท้ายในฐานะ leader การแชร์ข้อมูล การตัดสินใจใดๆก็ตาม ควรจะสื่อสารแบบเรียบง่าย ตรงประเด็น ชัดเจน และ ปฏิบัติได้จริง ผู้นำที่ดีพี่คิดว่าควรลงมือทำให้เห็น และแบ่งปันความรู้เป็นตัวอย่าง เช่น เรื่องง่ายๆเลยเราต้องตอบให้ได้ว่า feature ที่ทีมทำเราทำเพื่อใคร แก้ปัญหาอะไร ทุกๆอย่างต้องทำแล้วมองเห็นความหมาย

อยากให้พี่เล่าวิธีการทำงานใน OA Plus หน่อยค่ะ
วิธีการทำงานของเรา แน่นอนเราเน้นในเรื่อง agility แบ่งการ deliver งานเป็น sprint ซึ่งก่อนหน้านี้ sprint ของเราคือ 2 อาทิตย์ในช่วงแรก เพื่อหา MVP ผ่านการลองผิดลองถูกกับตลาด แต่พอระบบเรา mature ระดับนึงแล้ว เราเลยเปลี่ยนมาเป็น 4 อาทิตย์ สาเหตุที่เราขยายเวลาต่อการ deliver งาน เพราะว่า เราได้ทดลองตลาดมาเบื้องต้นแล้ว เรารู้แล้วว่ากลุ่มผู้ใช้เราเป็นใคร เขาต้องการอะไร ส่วนต่อมาที่เราให้ความสำคัญ คือ ทำยังไงให้ application ของเรามัน scale ทำยังไงให้เราการันตีคุณภาพของระบบได้

แน่นอนว่า software ที่เราทำขึ้นมาไม่ได้สมบูรณ์ 100% ได้ใน day one สิ่งที่เราต้องทำก็คือมองเห็น technical improvement ของ software ที่เราพัฒนา ซึ่งทีมเราก็จะมีการคุยกับทาง product team, technical project manager อยู่เรื่อยๆ เกี่ยวกับ ระบบของเราว่าพร้อมแค่ไหนในการ scale ซึ่งตรงนี้จะช่วยให้ทาง business รู้ความสามารถของ software ว่ารองรับ user ได้เท่าไหร่ใน version ปัจจุบัน หรือถ้าเห็นว่ามีความเสี่ยงก็จะเปลี่ยนแผน มา improve system ปัจจุบันให้ดีขึ้นก่อน

จะเห็นได้ว่า เราไม่ใช่แค่ coding อย่างเดียว

Solution Engineer ที่ LINE เป็น Full-Stack เลยมั้ย?
เราไม่ได้ strict ว่าจะต้องเป็น frontend หรือ backend ไปตลอด ที่นี่เราค่อนข้างฟรีเป็น full skill set เลย บาง sprint บางคนก็จับทั้ง frontend และ backend หรือบางคนอาจจะ prefer backend 100% พี่ก็สนับสนุนเต็มที่ ทุกคนมี ownership ของตัวเอง ทีมเราให้ trust ให้ไปลองผิดลองถูกแล้วถ้าเกิดเหตุสุดวิสัยจริงๆเช่นอาจจะ fail ทีมก็จะไม่ blame กันแต่จะเข้าไปช่วยและเก็บเป็น lesson learn

สิ่งที่พี่ให้น้ำหนัก คือ commitment และ visibility

Tool และ Tech Stack ที่ใช้กันใน OA Plus?
ในส่วนของ frontend เราใช้ vue 2 และ vue 3 ภาษาที่ใช้จะเป็น typescript ในส่วนการ design architecture จะเป็นแบบ microfrontend (ถ้าสนใจเพิ่มเติมเกี่ยวกับ microfrontend อ่านได้ที่นี่) และเรามี design system ของตัวเองเพื่อเอาไว้ reuse ได้

สำหรับ backend เราใช้ภาษา go เป็นหลัก design ในรูปแบบ microservices มีใช้ nodejs, java บ้างและมี python ด้วย เพราะเราทำงานเกี่ยวกับ data engineer ยกตัวอย่างเช่นเราเขียน PySpark เพื่อต่อกับ hadoop file system จากนั้นเอาข้อมูลไปประมวลผลแล้วส่งกลับเข้ามาในระบบ

ระบบของเรารองรับผู้ใช้จำนวนมากเลยต้องมีระบบ messaging queue และ event streaming เช่น RabbitMQ, Apache kafka ส่วน database เราก็มีทั้งแบบ Relational และ NoSQL แล้วก็มีพวก software orchestration ซึ่งแต่ละ service ที่เรา deploy เราต้องทำเป็น docker ก่อนแล้วก็ใช้เครื่องมือในการจัดการ cluster ผ่าน kubernetes ซึ่งทั้งหมดจะถูกเอาขึ้น server ของ LINE เองเลย เอาเป็นว่า Cutting-edge technology ฮ่าๆ

เห็น LINE ENGINEER มี policy ให้ WFH Forever ได้ด้วย?
ตรงนี้ต้องขอบคุณพี่ Ball Weera Kasetsin (Head of Engineer) กับทางบริษัทที่ให้อิสระกับเราเต็มที่ แต่ในทีม Moonshot เราคิดว่าถ้าเป็นวันที่ต้องมาประชุมเกี่ยวกับ business requirement หรือ design architecture ถ้าเลือกได้ก็ยังอยากจะไป office เพราะเห็นหน้ากันจะสื่อสารได้เร็วกว่า สามารถชี้จุดที่สงสัยได้ทันที อยากให้เคลียร์กันที่ office เพราะที่นั่นจะมี facility ที่ดีกว่า และเราก็ไม่ต้องเสียเวลาไปหาข้าวด้วยเพราะที่ออฟฟิศมีข้าวฟรี(น่อววว) ประชุมก็ไม่ต้องคิดเลยว่ากลางวันนี้จะกินไร กินเสร็จพักแปบนึงก็มานั่งประชุมกันต่อได้ละ ส่วนหลังจาก planning ได้ solution มาเรียบร้อยทีมก็อยากจะอยู่บ้าน WFH ไป

เคยได้ยิน Pop Idea ไหมนะ ก็ คือ เรานั่งทำงานกับเพื่อนนี่แหละ อยู่ดีๆไอเดียก็ออกมา แล้วเราก็พูดเลย แชร์ไอเดียกับเพื่อนเลยทันที นี่แหละเสน่ห์ของการนั่งทำงานในสถานที่เดียวกัน

ช่วงนี้ที่ WFH มีความ Challenge ขึ้นมั้ย?
ตอนนี้ ​LINE Engineer WFH มาจะสองปีแล้ว ก่อนหน้าที่จะ WFH มีอะไรก็คุยกันได้เลย ทุกคนมีส่วนร่วมที่จะเขียนไอเดียบนกระดานออกมาได้ทันที แต่พอเจอสถานการณ์ที่ต้อง WFH ก็จะมีความ challenge ในช่วง 2 เดือนแรก เป็นการบ้านของพี่ที่ต้องคิดโจทย์มา เช่น standup meeting ต้องปรับรูปแบบยังไง การทำ brain writing ที่ดีควรทำยังไง และจะทำยังไงให้ทีมทำงานได้อย่างมีประสิทธิภาพ

ทาง LINE ก็มีเตรียมเครื่องมือให้ WFH ไม่ว่าจะเป็น lucid chart, miro ที่เราสามารถ interact ได้เหมือนกับว่าเป็น physical board แบบ realtime ถึงแม้จะไม่ได้เหมือนกับการมาเจอหน้า แต่มาถึงวันนี้ทางทีมก็ใช้เครื่องมือพวกนี้อย่างคล่องแคล่วแล้ว

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

ข้อที่สองคือไอเดียของ engineer ถูกให้ value จากทาง business team คือเราไม่ได้แค่ทำของส่ง แต่เราช่วยคิดและให้ feedback ได้ engineer บางคนก็สนใจว่า user ใช้ product เราจริงๆแล้วกี่คนใช้แล้วเป็นยังไง ก็ทำให้รู้สึกทำงานแล้วสนุกมากขึ้น เหมือนมีคำตอบว่าเราทำสิ่งๆนี้ไปมันช่วยแก้ปัญหาให้ใครบ้าง เราได้เห็นความหมาย ของงานที่เราส่งมอบไป ทุกไอเดียมีความหมาย

ข้อที่สามคือ HR ให้การสนับสนุนเป็นอย่างดี มีออนไลน์คอร์ส, มีของมาแจกให้เรื่อยๆ อย่าง set ปลูกต้นไม้ ไปจนถึง set ทำ pancake เลยทีเดียว, มี WOW sharing ที่เชิญ speaker ดังๆจากข้างนอกมาแชร์เรื่องราวดีๆ อย่างที่ผ่านมาก็มีคุณนิ้วกลม, อาจารย์กฤตินีที่มาแชร์เรื่อง ikigai, มีคลาสโยคะทุกวันพุธ, มีกิจกรรมต่างๆที่ฝึก soft skill ให้กับ engineer เช่นการพูดหรือ public speaking คือที่ LINE ค่อนข้างสนับสนุนให้เราเติบโตแบบ full skill จริงๆ เราทำงานสนุกและก็สามารถเติบโตไปได้พร้อมๆกัน

ตอนนี้ถ้าอ่านละอยากมาทำงานกับ LINE Engineer พี่กอล์ฟสปอยล์ให้ฟังหน่อยได้มั้ยว่า LINE อยากได้คนแบบไหนมาอยู่ในทีม
LINE Engineer มองหา talent ที่พร้อมที่จะเรียนรู้และเติบโตไปด้วยกันกับทีม เรามองหาคนที่มีความหลงใหลที่จะสร้างสรรค์ solution ที่ impact กับผู้ใช้จำนวนมากนะ ที่ช่วยให้ธุรกิจของผู้ใช้ระบบดีขึ้น สร้างโอกาสใหม่ๆในธุรกิจเขา คนที่อยาก challenge ตัวเองในทุกๆวัน สร้างโอกาสใหม่ๆให้กับองค์กร เราโฟกัสกับการค้นหา high performer engineer คนที่มีความยืดหยุ่น รับฟังความเห็นที่แตกต่าง สนับสนุนทีม และ เสนอทางเลือกใหม่ๆให้กับทีม

สุดท้ายนี้อยากฝากอะไรให้กับคนที่อ่าน blog และสนใจมาทำงานที่ไลน์มั้ยคะ?
พี่มองว่าในสถานการณ์นี้การ reskill upskill และ learning เป็นสิ่งสำคัญ เรากำลังต่อสู้กับสถานการณ์ที่ไม่แน่นอน ลองสำรวจว่าทักษะที่เรามีในตอนนี้ เราสามารถสร้าง value อะไรได้บ้าง การยึดติดกับวิธีการเดิมๆ คงยากที่จะไปแข่งขันกับตลาดที่มีการแข่งขันสูง ในมุมมององค์กรเขาก็อยากได้คนที่ high value เพราะ ทุกอย่างมันมี cost คราวนี้เราลองมาสำรวจตัวเองว่า เราอยากจ่ายให้ตัวเองในราคาเท่าไหร่ แล้วถ้าจะได้มันมา เราต้องพัฒนาทักษะอะไรบ้าง

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

--

--