เมื่อพระเจ้าสร้าง Tech Lead… ส่วนผสมจะเป็นอะไร?

jo@sabotender
KBTG Life
Published in
3 min readFeb 10, 2022

สักช่วงหนึ่งก่อนหน้านี้ ผมว่าพวกคุณคงเคยเห็นหรือเคยเล่นมีมคล้าย ๆ ในรูปนี้

เมื่อพระเจ้าสร้าง Technical Lead (ผมไปเล่นจากที่นี่ https://th.vonvon.me/quiz/97)

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

ผมออกตัวล้อฟรีไว้ก่อนว่าเนื้อหาในบทความนี้เป็นสิ่งที่ผมเรียบเรียงมาจากประสบการณ์การทำงานของผมเอง และผมมีความยินดีเป็นอย่างยิ่งที่จะได้แลกเปลี่ยนความคิดเห็นกับทุกท่านที่ได้อ่านผลงานชิ้นนี้ของผมครับ ที่ต้องบอกอย่างนี้ก็เพราะว่าในแวดวงไอที Technical Lead นั้นมีความหลากหลายอยู่พอสมควร อีกทั้งยังไม่ได้มีมาตรฐานอะไรมากำหนดบทบาทหน้าที่ของ Technical Lead (ต่อไปผมอาจจะเขียนย่อว่า Tech Lead หรือ TL นะครับ) ให้ชัดเจน โดย TL ในแต่ละบริษัทอาจจะมีทั้งส่วนที่เหมือนและแตกต่างกัน ขึ้นอยู่กับหลาย ๆ ปัจจัย เช่น โครงสร้างองค์กร วัฒนธรรมองค์กร และลักษณะธุรกิจของบริษัทนั้น บางทีในบริษัทเดียวกันแต่ละทีมก็อาจจะมี TL ที่ทำงานแตกต่างกันออกไป

คุณครูวิชาภาษาอังกฤษสมัยเด็กสอนผมว่าภาษาอังกฤษแปลจากด้านหลังมาด้านหน้า ผมก็เลยแปลความมาตลอดว่า Technical Lead เราต้องให้ความสำคัญกับการ Lead เป็นอันดับแรกครับ ถ้าคุณไม่ Lead หัวหน้าคุณคงไม่ให้มาเป็น TL แน่ เพราะงาน Technical นั่นคุณทำอยู่แล้ว ทั้งนี้ผมเห็นว่าปัจจุบันมีการพูดถึง “ความเป็นผู้นำ (Leadership)” กันอย่างกว้างขวาง ในหลายบริษัทมีการส่งเสริมพนักงานด้วยการส่งไปอบรมและฝึกฝนทักษะในการเป็นผู้นำ บริษัทผมก็เช่นเดียวกัน

พูดถึงสมัยเด็ก ผมก็เพิ่งนึกได้ว่าตัวผมเองก็ได้ฝึกฝนการเป็น Lead มาตั้งแต่ตอนนั้นแล้ว ไม่ใช่ Cheerleader นะครับ ใครคิดว่าจะเห็นผมถือพู่ใส่ชุดรัด ๆ เต้นตามจังหวะ จงผิดหวังไปซะเถิด… ผมเคยเป็นหัวหน้าห้องครับ แต่คิดดี ๆ ส่วนใหญ่ผมจะเป็นรองหัวหน้าห้องมากกว่า ลองนึกต่อว่าสมัยนั้นทำอะไร

  • เป็นตัวแทนบอกทำความเคารพเวลาครูเข้ามาในห้อง
  • รวบรวมสมุดการบ้านไปส่งครู
  • เป็นตัวแทนของเพื่อน ๆ ในห้องในการทำกิจกรรม เช่น ไหว้ครู ฯลฯ
  • ดูแลความสงบเรียบร้อยของเพื่อน ๆ เวลาครูไม่อยู่ (เอาเข้าจริงดูแลไม่ค่อยได้หรอกครับ มักจะคล้อยตามเพื่อนไปมากกว่า)
  • เช็คชื่อหรืออะไรก็ตามที่ครูอยากให้ทำแต่ไม่เฉพาะเจาะจงตัวบุคคล หน้าที่เหล่านั้นก็จะมาลงที่หัวหน้าหรือรองหัวหน้า ข้อนี้ผมเดานะครับ เผื่อครูของผมมาอ่าน

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

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

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

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

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

ผมกำลังคิดว่าจะมีคนสรรเสริญผมไหม ถ้าผมไม่เขียนว่า Technical Lead คืออะไร เอ่อ… ผมประชดนะครับ อย่าเพิ่งส่งคำสรรเสริญมา ส่วนตัวผมชอบคำนิยามที่จะบอกต่อไปนี้ จำที่มาไม่ได้แล้ว อาจจะเข้าใจยากสักหน่อย

Technical Lead คือผู้ที่รับผิดชอบประเด็นด้านเทคนิคทั้งหมดที่เกิดขึ้นในวัฏจักรของการพัฒนาซอฟท์แวร์ด้วยความเป็นผู้นำ

ทีนี้คนที่สงสัยว่า Tech Lead คืออะไร ก็น่าจะสงสัยต่อไปครับ เผลอ ๆ ผมก็อาจจะโดนสรรเสริญอยู่ดี แต่มันอาจจะง่ายขึ้น ถ้าผมเขียนว่า Tech Lead ทำอะไรบ้าง ยกตัวอย่างเช่น

  • ออกแบบสถาปัตยกรรม การเชื่อมต่อ คอมโพเนนต์ต่าง ๆ
  • เลือกภาษาในการเขียนโปรแกรม ไลบรารี เฟรมเวิร์ค เครื่องมือในการทำงาน
  • วางรูปแบบ ข้อตกลง และมาตรฐานในการทำงานของทีม
  • รีวิวโค้ด หรือแม้กระทั่งนั่ง Pair Programming กับสมาชิกในทีมเพื่อช่วยแก้ปัญหา
  • โค้ดเองในส่วนที่สำคัญ: TL บางคนยังเขียนโปรแกรมอยู่ แต่ส่วนใหญ่ไม่ได้ทำตลอดเวลา เพราะเขาต้องบาลานซ์งานโค้ดกับงานอื่น ๆ ของเขาด้วย
  • ตัดสินใจในการแก้ปัญหาทางเทคนิคที่ไม่ได้คาดคิดไว้ล่วงหน้าว่ามันจะเกิด
  • สอน แนะนำ และพัฒนาบุคลากรในด้านเทคนิค
  • เป็นตัวแทนด้านเทคนิคในการหารือกับทีมอื่น ๆ
  • ฯลฯ

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

ส่วนผสมด้าน Technical

แน่นอนครับว่าส่วนนี้เป็นความรู้ทางเฉพาะทางด้านไอที ที่เราชาว Developers หรือ Software Engineers ร่ำเรียนศึกษามาอย่างหนักหน่วง แต่ผมอยากนำเสนออีกด้านหนึ่งที่คิดว่าน่าสนใจไม่แพ้กัน

การลงมือปฏิบัติ

เป็นทักษะโดดเด่นแต่เดิมของคุณที่ส่งผลให้คุณได้มาเป็น TL ในวันนี้ ถ้าสมมติคุณเขียนโปรแกรมเก่งมาก ออกแบบฐานข้อมูลได้อย่างยอดเยี่ยม หรือหาวิธีแก้บั๊กได้รวดเร็วปานเดอะแฟลช ขอให้คุณรักษามันไว้ แม้ว่าคุณอาจจะไม่ได้ทำเยอะเหมือนเคย แต่การที่คุณยังสามารถทำสิ่งนี้ได้จะส่งผลดีต่อทีมของคุณในหลาย ๆ ด้าน และถ้าวันหนึ่งคุณไม่สามารถทำได้อีกต่อไป หรือไม่ทำอีกแล้ว ผมว่าคุณน่าจะใกล้เคียงกับบทบาท Manager มากกว่า

ขอบคุณภาพโดย Kevinsphotos จาก Pixabay

สัญชาติญาณ (Instinct)

TL ที่ยิ่งใหญ่ย่อมมีสัญชาติญาณอันใหญ่ยิ่ง ข้อนี้ฟังดูเหมือนไสยศาสตร์ แต่ผมชอบคำนี้ครับ มันคือการรวมเอา ประสบการณ์ (Experience) ความรู้ลึกในงานที่ทำ (Expertise) และความรู้รอบตั้งแต่หัวจรดท้าย (End-to-End Knowledge) เข้าด้วยกัน ก่อเกิดเป็นสัญชาติญาณ เกิดเป็นความรู้สึกตะหงิด ๆ ล่วงหน้าก่อนที่คุณจะลงมือทำสิ่งหนึ่งสิ่งใด ว่าทำแบบนี้ไม่ถูก ทำแบบนั้นอาจจะทำให้เกิดปัญหา รู้สึกว่าน่าจะมีสิ่งที่ดีกว่า และเห็นภาพล่วงหน้าว่างานจะเสร็จไม่ทัน ข้อนี้บางคนอาจจะบอกว่ามันคือ ยาอี เอ้ยย! มันดูเหมือน Soft Skill แต่ผมรู้สึกว่ามันสัมพันธ์กับความรู้ด้านเทคนิคอย่างแน่นแฟ้นครับ

Best Practices in Practice

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

ส่วนผสมด้าน Managerial

โดยทั่วไปแล้ว TL มักจะถูกโปรโมทมาจาก Developer ที่มีความสามารถโดดเด่น ซึ่งส่วนมากเป็นความสามารถด้าน Technical นั่นแหละ ดังนั้นผมมักจะเห็นน้อง ๆ TL รวมถึงตัวผมเองเมื่อตอนที่เป็น TL ใหม่ ๆ ทำงานค่อนข้างลำบากและไม่ค่อยแฮปปี้ เพราะอัตราของส่วนผสมด้าน Managerial หรือเรียกง่าย ๆ ว่า Soft Skills มีน้อยไปหน่อย ทำให้รสชาติไม่อร่อยครับ

การจัดลำดับความสำคัญ (Multi-Dimensional Prioritization and Estimation)

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

การสอนให้พัฒนา (Coaching and Mentoring)

ตอนผมเป็น Developer ผมสนุกกับการกระโจนเข้าไปโค้ด แก้บั๊ก หาโซลูชันแล้วลงมือทำเองตั้งแต่ต้นจนจบ ใช่ครับ นี่คือความสามารถเด่นของผมและคุณที่ทำให้เราก้าวหน้าในฐานะ Developer แต่พอผมมาเป็น Lead ปุ๊บ การทำพฤติกรรมแบบนี้จะให้ผลที่ไม่ค่อยดีนัก แถมส่งผลในทิศทางตรงกันข้ามกับตอนที่คุณเป็น Developer

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

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

การฟังอย่างลึกซึ้ง (Deep Listening)

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

การสื่อสารที่กระชับและชัดเจน (Communication and Presentation)

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

การเจริญสัมพันธไมตรี (Culture and Friendship)

การเป็น Lead แน่นอนว่าคุณไม่ได้คุยกับหน้าจอคอมพิวเตอร์อย่างเดียวแล้ว แต่ต้องคุยกับผู้คนมากหน้าหลายตา คุณมีหน้าที่สร้างความสัมพันธ์อันดีกับบุคคลจากนานาประเทศครับ ไม่ว่าจะเป็นประเทศ Infrastructure, ประเทศ Legacy Applications, ประเทศ Quality Assurance, ประเทศ Security, ประเทศ IT Governance, ประเทศ Enterprise Architect, ประเทศ High and Higher-Level Manager และประเทศอื่น ๆ ที่ขี้เกียจพิมพ์แล้วครับ ทั้งนี้เพื่ออะไรครับ เพื่อสร้าง Culture ที่ดีในการทำงานร่วมกัน และสร้าง Ecosystem ให้ลูกทีมของคุณทำงานได้ง่ายและเป็นไปอย่างราบรื่นนั่นเอง

Kingdom จาก Netflix

เขียนมายืดยาว ผมควรจะจบบทความลงตรงนี้ก่อน ผมอยากจะปิดด้วยซีรีย์เกาหลีเรื่อง Kingdom …ใช่ครับ ซีรีย์เกาหลี คุณอาจจะตะโกนในใจแบบโลคอลนิด ๆ ว่ามันมาเกี่ยวกับเรื่อง TL ได้ยังไงวะเนี่ย ในเรื่องพระเอกเขาบอกประมาณว่า ถ้าไม่มีประชาชน ก็ไม่มีกษัตริย์ครับ การเป็น Lead ก็เช่นกัน ถ้าไม่มีลูกทีม ก็ไม่รู้จะเป็น Lead ไปทำไมครับ ผมว่าความหมายมันคมชัดลึกจริง ๆ

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

หวังว่าบทความนี้จะเป็นประโยชน์ให้กับทุกท่านไม่มากก็น้อย ขอบคุณที่ติดตามครับ

สำหรับชาวเทคคนไหนที่สนใจเรื่องราวดีๆแบบนี้ หรืออยากเรียนรู้เกี่ยวกับ Product ใหม่ๆ ของ KBTG สามารถติดตามรายละเอียดกันได้ที่เว็บไซต์ www.kbtg.tech

--

--

jo@sabotender
KBTG Life

principal DEVelopment eXcellence engineer — DEVX@KBTG / Full-time Daddy / Console Gamer & Gunpla Collector