ในช่วงหลายเดือนที่ผ่านมาเราได้สวมบทบาทเป็น technical lead หนึ่งในปัญหาที่พบเจอคือ “การจัดการเวลาของตนเอง” ที่ยากขึ้นกว่าตอนที่ยังเป็น IC (individual contributor – คนทำงานสาย dev หรือสาย tech ที่ไม่ได้มีลูกทีม) เนื่องจากแต่เดิมการจัดการเวลาของเรามีแค่ 3 ขั้นตอนได้แก่

  1. เลือกสิ่งที่สำคัญที่สุดเพียงอย่างเดียว
  2. Focus กับมันให้เสร็จ
  3. วนกลับไปข้อ 1

แต่พอได้เป็นหัวหน้าทีม หรือ tech lead ปุ๊บ วิธีนี้ใช้ไม่ได้ละ เพราะงานที่ต้องทำเริ่มไม่ได้อยู่ในการควบคุมของเราเต็ม ๆ แล้ว บางอย่างก็โดนขัดจังหวะ บางอย่างก็ติด block อยู่เป็นอาทิตย์ ๆ

ไม่ว่าจะเป็น one-on-one meeting, code review, design review, ประชุมเรื่อง priorities, project check-in ทั้งหมดนี้มันอยู่ในตารางเวลาที่เราควบคุมไม่ได้แล้ว แล้วเราจะจัดการเวลาอย่างไรดีล่ะ

พอดีได้มีโอกาสไปอ่านบทความ Advice for time management as a manager โดย Ben Kuhn แล้วมีแนวคิดที่น่าสนใจอยู่พอสมควร (และมีหลาย ๆ ข้อที่เราลงมือทำไปแล้วด้วย) เลยขอสรุปเอาไว้อ่านหน่อย

ชีวิตการเป็นหัวหน้าทีมมี 3 อย่างใหญ่ ๆ ที่เปลี่ยนไปเรื่องการบริหารเวลา

  1. เราไม่ได้มี “สิ่งที่สำคัญที่สุดอย่างเดียว” อีกต่อไป: ต้องหัดที่จะจัดการงานหลายอย่างที่สำคัญเท่ากันหรือไล่เลี่ยกัน เหมือนกับนักเล่นกลที่โยนรับลูกบอลหลาย ๆ ลูกในมือ

Tech lead juggling

https://www.synnovatia.com/business-coaching-bid-156844-7-things-the-pros-want-entrepreneurs-to-know-about-juggling/

  1. จุด focus ของเราเปลี่ยนไป: จากเดิมที่ focus ที่ output ของตัวเอง ตอนนี้ต้อง focus ที่ output ของทีมแทน งาน individual engineering กลายเป็น priority รอง

  2. ต้องเริ่มเข้าสู่ Manager’s Schedule: ก็คือแบบที่แต่ละวันแบ่งเป็น block ๆ ละ 1 ชั่วโมง เปลี่ยนสิ่งที่ทำทุกชั่วโมง เจอใครก็มีนัด 10 โมง-11 โมง แบบนี้ไปเรื่อย ๆ ซึ่งจะต่างจาก Maker’s schedule ที่จะมีเวลายาว ๆ สักครึ่งวัน เพื่อทำงานแบบ deep focus จริงจัง งานแบบที่ทำแค่ชั่วโมงเดียวมันไม่พอ ยังไม่ทันเข้า flow เลย

คำแนะนำที่ช่วยให้เอาตัวรอดในบทบาทใหม่ได้

1. ปรับ expectation ให้ตรงกับความจริง

เวลาส่วนใหญ่จะหมดไปกับการ support ทีม และใช้สมองไปกับเรื่องของคนอื่น ไม่ใช่งานของตัวเอง เพราะฉะนั้น productivity งาน engineering ส่วนตัวเราจะลดลงแน่นอน โดยเฉพาะช่วงแรก ๆ ที่กำลังตั้งหลัก ช่วง 2-3 เดือนแรก ต้องถือว่า งาน engineering ส่วนตัวที่ได้ทำถือเป็น “บุญ (bonus)” อย่าไปกดดันตัวเอง

สิ่งที่ช่วยมากคือ การ track เวลาของตัวเอง จะทำให้รู้ว่าเราใช้เวลาไปกับอะไรบ้าง

2. Priortise แบบไม่เกรงใจ

เพราะทำทุกอย่างไม่ได้แน่ ๆ ต้องรู้ว่าอะไรควรทำก่อน อะไรควรทิ้ง แน่นอนมันไม่มีสูตรตายตัว แต่มี heuristic (แนวคิดการแก้ปัญหาที่ไม่ได้ใช้หลักการหรือทฤษฎีตายตัว) ว่างานแบบไหนท่ี่ควรค่าแก่การนำมา prioritisation ที่ใช้ได้ดีตือ

  • งานที่มี deadline หากทำไม่ทันจะเกิดผลลัพธ์แย่ ๆ ตามมา: งานประเภทนี้เราต้องถามให้ชัดว่า “ทำไมถึงมี deadline นี้” เพราะบางทีมันก็ไม่ critical จริง ๆ
  • งานที่ช่วยให้อนาคตง่ายขึ้น: เช่น แก้ technical debt, การ onboard คน, สร้าง automation, สอนคนในทีม เป็นต้น
  • One-on-one: สำคัญมาก อย่าพลาด ยกเว้นติดลาหยุดจริง ๆ เพราะลูกทีมมีเวลาทำเพื่อเราตั้ง 39.5 ชม. ต่อสัปดาห์ อย่าละเลย 0.5 ชม. ที่เขาหวังจะได้ feedback หรือเล่าอะไรที่ค้างใจ

3. เตรียม “ปลดตัวเองออกจากงาน”

หนึ่งในสิ่งที่เพิ่ม bandwidth ให้ทีมได้ดีที่สุดคือ การ delegate (มอบหมาย)

  • ตกลงให้ชัดว่าต้องการเข้าไปช่วยแค่ไหน: ไม่ต้อง micromanage แต่ก็อย่าทิ้งให้เคว้ง
  • ดูว่างานที่มอบหมายให้มันเหมาะสมกับความสามารถของคน ๆ นั้นไหม: คนที่เก่งแล้วอาจทำเองได้ แต่ถ้าให้ junior ทำโดยไม่ช่วยเลย เค้าอาจไม่ขยับไปไหนเลย
  • มอบหมายล่วงหน้า: workload จะเยอะขึ้นเรื่อย ๆ ถึงตอนนี้จะยังพอรับไหว แต่ต้องเตรียมทีมให้พร้อมก่อนถึงจุด overload
  • มอบหมายงาน “stretch” ให้ทีมได้โต: ต้องใช้เวลาคุมใกล้ชิดขึ้นหน่อย แต่ช่วยให้คนโตไวและทีมเก่งขึ้นจริง

4. ถ้าเริ่มรู้สึกว่าจะจม ไม่ไหวแล้ว ลอง 5 ขั้นตอนนี้

  1. นัดคุยกับหัวหน้าของเรา หรือ project manager ของงานที่เรากังวลที่สุด
  2. เขียน list งานทุกอย่างที่อยู่ในหัว (แม้แต่ code review ที่ดองไว้ 3 เดือน ฮ่า ๆๆ)
  3. คุยกันว่าอะไร delegate ได้บ้าง แล้วจัดลำดับงานที่เหลือ
  4. ประเมินตามความจริงว่าจะทำได้ถึงตรงไหน
  5. อะไรที่อยู่ล่างกว่านั้น ให้แจ้งคนที่เกี่ยวว่า “อาจไม่ได้ทำแล้วนะ”

5. สร้างเวลา focus ให้ตัวเอง

ระวัง! ถ้าไม่วางแผนให้ดี ตารางเราจะเต็มไปด้วยประชุม, chat, inbox จนไม่มีเวลาลงมือทำอะไรจริง ๆ เลย

ทางแก้คือ batch distraction ให้เป็นช่วงเวลา เช่นตอบ chat แค่ช่วงเช้า-บ่าย อย่าเปิดทั้งวัน

อีก trick ที่ดีมากคือ batching meetings เช่น จัดประชุมรวม ๆ ไว้แค่วันอังคารกับพฤหัส ส่วนที่เหลือเก็บไว้ทำงาน deep work ได้ยาว ๆ

สรุป

การเปลี่ยนจาก IC มาเป็นหัวหน้าทีมไม่ใช่แค่เปลี่ยนชื่อตำแหน่ง แต่มันเปลี่ยนวิธีคิดและจัดการเวลาทั้งหมด ต้อง focus ใหม่ ต้องใช้พลังแบบใหม่ และต้องหัด “อยู่เฉย ๆ แล้วปล่อยให้ทีมเก่งขึ้นเอง” มันเหนื่อยนะช่วงแรก แต่ถ้าตั้งใจจริง เราจะค่อย ๆ เก่งขึ้นเองเหมือนกัน

แล้ววันนึงเราอาจจะรู้ว่า… มันคุ้มที่ได้โตไปพร้อมกับทีม