ใครคือหัวหน้าฝ่ายเทคโนโลยี?
กล่าวโดยสรุป นี่คือหนึ่งในนักพัฒนาที่มีประสบการณ์มากที่สุดในบริษัท ซึ่งดูแลทีมพัฒนาและรับผิดชอบคุณภาพของงานด้านเทคนิคทั้งหมดในโครงการ ในรายละเอียดเพิ่มเติมอีกเล็กน้อย หนึ่งในหน้าที่หลักของหัวหน้าฝ่ายเทคโนโลยีที่มีประสิทธิภาพคือการกำหนดวิสัยทัศน์ในส่วนทางเทคนิคของโครงการสำหรับทีมพัฒนาและนำไปปฏิบัติร่วมกับสมาชิกในทีมคนอื่นๆ นี่คือจุดที่บทบาทหัวหน้าฝ่ายเทคนิคแตกต่างจากตำแหน่งที่ทับซ้อนกันอื่นๆ เช่น หัวหน้าทีม ผู้จัดการฝ่ายวิศวกรรมซอฟต์แวร์ และสถาปนิก เราจะพูดถึงความแตกต่างในรายละเอียดอีกเล็กน้อยในภายหลัง สาระสำคัญของตำแหน่ง Tech Lead นั้นแตกต่างกันออกไปในทุกที่ และนี่เป็นเรื่องปกติ เมื่อคำนึงถึงเยาวชนในอุตสาหกรรมการพัฒนาทั้งหมดและการเปลี่ยนแปลงอย่างต่อเนื่อง นี่คือสิ่งที่ Jeff Carouth นักพัฒนาที่มีประสบการณ์และหัวหน้าฝ่ายเทคโนโลยีของ Ziff Media Group กล่าว เรื่องนี้เกี่ยวกับ คนอื่นๆ เชื่อว่าผู้นำด้านเทคโนโลยีคือผู้จัดการระดับกลางที่แต่เดิมเป็นนักพัฒนาธรรมดาๆ นอกจากนี้ยังมีผู้ที่จะกล่าวว่าผู้นำทางเทคนิคมักเป็นเพียงนักพัฒนาที่มีประสบการณ์และทรงพลังที่สุดในบริษัท ซึ่งได้รับการแต่งตั้งให้ดำรงตำแหน่งนี้เนื่องจากการมีส่วนร่วมอย่างแท้จริงในส่วนทางเทคนิคของงานในโครงการ สำหรับฉัน หัวหน้าฝ่ายเทคโนโลยีคือผู้ที่มีประสบการณ์อย่างกว้างขวางในฐานะนักพัฒนา และได้แสดงให้เห็นความสามารถในการสื่อสารอย่างมีประสิทธิภาพแล้ว ไม่เพียงแต่กับโปรแกรมเมอร์คนอื่นๆ เท่านั้น แต่กับคนอื่นๆ รวมถึงผู้จัดการผลิตภัณฑ์ การจัดการบริษัท นักออกแบบ ผู้ลงโฆษณา และคนอื่นๆ ทั้งหมดด้วย” ครอบคลุมมากฟังก์ชั่น Tech Lead คืออะไร?
Tech Lead ซึ่งในบริษัทต่างๆ สามารถเรียกได้ว่าเป็น TechManager, Lead Platform Engineer, Head Architect of Development หรืออย่างอื่น ขึ้นอยู่กับจินตนาการอันล้นหลามของฝ่ายบริหาร มักจะรับผิดชอบในการนำส่วนทางเทคนิคของโครงการไปใช้ นี่คือบุคคลที่มีคำพูดสุดท้ายในทีมพัฒนาและยังรับผิดชอบต่อข้อผิดพลาดและปัญหาในโครงการอีกด้วย สาระสำคัญของฟังก์ชัน Tech Lead ในบริษัทได้รับการสรุปไว้ เป็นอย่างดี โดย Amr Noaman ผู้สร้างและหัวหน้าของ Agile Academy: “ความรับผิดชอบหลักและหลักของบุคคลนี้ในองค์กรใดๆ ก็คือการนำผลิตภัณฑ์ไปใช้ทางเทคนิค” กล่าวโดยสรุปและเจาะจงมากขึ้น รายการฟังก์ชันหลักของหัวหน้าฝ่ายเทคนิคที่ "ถูกต้อง" จะเป็นดังนี้:- การเตรียมกลยุทธ์สำหรับการพัฒนาด้านเทคนิคของโครงการหรือบางส่วน การปรับตัวและการปรับกลยุทธ์นี้ขึ้นอยู่กับข้อกำหนดและสถานการณ์
- ส่งเสริมการอภิปรายและการอภิปรายที่เป็นประโยชน์ภายในทีมและอำนวยความสะดวกในกระบวนการตัดสินใจ
- การทำงานเพื่อขจัดปัญหาและปัจจัยที่อาจทำให้สมาชิกในทีมไม่สามารถทำงานได้อย่างมีประสิทธิภาพ
- การระบุและค้นหาวิธีแก้ไขปัญหาที่เกิดขึ้นในระหว่างกระบวนการพัฒนา และควรคาดการณ์และกำจัดสาเหตุของปัญหาเหล่านี้ก่อนที่จะปรากฏขึ้น
- การมอบหมายงานและความรับผิดชอบในส่วนต่าง ๆ ของโครงการให้กับสมาชิกในทีมคนอื่น ๆ

บริษัทไอทีจำเป็นต้องมี Tech Leads หรือไม่?
ตามปกติในอุตสาหกรรมนี้ ไม่มีความเห็นเป็นเอกฉันท์เกี่ยวกับปัญหานี้เช่นกัน ตัวอย่างเช่น Vinicius Gomes นักพัฒนาของ ThoughtWorks แย้งว่าตำแหน่งหัวหน้าฝ่ายเทคนิคมักเป็นปัญหาและควรกำจัดทิ้งไปเลย ในความเห็นของเขาซึ่งได้รับการสนับสนุนค่อนข้างสำคัญในแวดวงการพัฒนา ตำแหน่งนี้โดยส่วนใหญ่แล้วจะเกี่ยวข้องกับปริมาณงานสำหรับหลายๆ คน ซึ่งเป็นเหตุผลว่าทำไมโครงสร้างทีมจึงมักจะได้รับผลกระทบ ดังนั้น Gomez เชื่อว่า เป็นการดีกว่าที่จะยกเลิกตำแหน่ง Tech Lead ไปเลยด้วยการปรับโครงสร้างการจัดการเพื่อให้สมาชิกทีมพัฒนาที่แตกต่างกันสามารถกระจายบทบาทที่แตกต่างกันระหว่างกันได้ ซึ่งจะทำให้ทีมงานสามารถทำงานได้อย่างมีประสิทธิภาพมากขึ้น อย่างไรก็ตาม นักพัฒนาส่วนใหญ่ยังคงเชื่อว่าตำแหน่ง Tech Lead นั้นมีความจำเป็นและสำคัญ แน่นอนว่าหาก Tech Lead รู้จักงานดีและทำหน้าที่ได้อย่างถูกต้อง
Tech Lead ที่ดีมีหน้าตาเป็นอย่างไร?
ดังนั้นเรามาทำความเข้าใจกันดีกว่าว่า Tech Lead ที่ดีและถูกต้องควรเป็นอย่างไร และเขาสามารถและควรมอบอะไรให้กับทีมบ้าง-
จัดระเบียบการทำงานที่มีประสิทธิภาพและประสานงานของทีมพัฒนา
นี่คือสิ่งที่คนส่วนใหญ่คิดว่างานของหัวหน้าฝ่ายเทคโนโลยีคือ ทำทุกอย่างที่จำเป็นเพื่อให้แน่ใจว่าทีมพัฒนาจะทำงานได้อย่างมีประสิทธิภาพสูงสุด ในเรื่องนี้ หน้าที่ของ Tech Lead ทับซ้อนกับความรับผิดชอบของ Team Lead และ Lead Engineer โดยมีความแตกต่างเพียงอย่างเดียวคือ Tech Lead จะต้องรับผิดชอบต่อกระบวนการโดยรวมและผลลัพธ์ขั้นสุดท้าย ดังนั้น โดยทั่วไปแล้ว การมีหัวหน้าฝ่ายเทคนิคจะเหมาะสมก็ต่อเมื่อทีมพัฒนามีขนาดใหญ่เพียงพอและโครงการที่ทีมกำลังดำเนินการอยู่นั้นค่อนข้างซับซ้อนและมีขนาดใหญ่
การทำงานที่ดีของหัวหน้าฝ่ายเทคนิคนำไปสู่ความจริงที่ว่าทั้งทีมทำงานอย่างถูกต้องและกลมกลืนเป็นกลไกเดียวในการส่งมอบผลิตภัณฑ์ที่ต้องการภายในกรอบเวลาที่วางแผนไว้
-
การจัดตั้งทีมนักพัฒนาและผู้บริหารที่มีแรงบันดาลใจ
แม้ว่าเมื่อดูเผินๆ ประเด็นนี้จะไม่แตกต่างจากครั้งก่อนมากนัก แต่ในกรณีนี้ เรากำลังพูดถึงส่วนหนึ่งขององค์กรการทำงานเป็นทีมที่เกี่ยวข้องกับการสื่อสารระหว่างสมาชิกในทีม แรงจูงใจ การฝึกสอน และโดยทั่วไปทุกอย่างที่ไม่เกี่ยวข้อง สำหรับงานด้านเทคนิค
นี่คือส่วนที่เป็นการจัดการของงานและในขณะเดียวกันก็เป็นส่วนที่ผู้นำทางเทคนิคจำนวนมากมักจะหลีกเลี่ยงหรือไม่คิดว่าจำเป็นต้องใส่ใจกับงานนั้น เพราะพวกเขาคิดว่ามันสำคัญน้อยกว่าและเป็นรอง อย่างไรก็ตาม การฝึกฝนแสดงให้เห็นว่าสิ่งต่างๆ เช่น แรงจูงใจ วิธีการส่วนตัว การฝึกสอน แรงจูงใจ และการสร้างบรรยากาศที่เป็นมิตรในทีม ยังคงมีบทบาทสำคัญพอสมควร (แม้ว่าจะไม่สามารถชดเชยปัญหาในส่วนทางเทคนิคได้ก็ตาม) และสะท้อนให้เห็นในรอบชิงชนะเลิศ ให้เกิดผลได้ตรงที่สุด
-
การประสานงานและความสมดุลของความพยายาม
การประสานงานหมายความว่าทีมพัฒนาไม่เพียงแต่ทำงานได้อย่างราบรื่นและมีประสิทธิภาพเท่านั้น แต่ยังประสานงานกับแผนกอื่นๆ ได้ดีอีกด้วย ในการดำเนินการนี้ หัวหน้าฝ่ายเทคนิคที่มีประสิทธิภาพจะต้องไม่เพียงแต่เข้าใจความต้องการของนักพัฒนาเท่านั้น แต่ยังต้องสามารถมองงานผ่านสายตาของผู้เชี่ยวชาญคนอื่นๆ ของบริษัทได้อีกด้วย
-
รับผิดชอบต่อความสำเร็จและความล้มเหลวทั้งหมดของทีมพัฒนา
นอกจากนี้ Tech Lead ที่ดีซึ่งเป็นนักยุทธศาสตร์และนักกลยุทธ์หลักในคนๆ เดียว รู้วิธีรับผิดชอบทั้งความสำเร็จในการทำงานและความล้มเหลวหรือข้อผิดพลาดที่เกิดขึ้นอย่างหลีกเลี่ยงไม่ได้ระหว่างการดำเนินโครงการหนึ่งๆ
Tech Lead ที่ดีทำอะไรและจะเป็นได้อย่างไร
ตอนนี้เรามาดูเจาะจงมากขึ้นอีกหน่อยแล้วดูว่าลีดทางเทคนิคทำงานอย่างไรเพื่อให้บรรลุเป้าหมายที่กล่าวถึงในส่วนที่แล้ว-
วิธีการพัฒนา
วิธีการพัฒนาที่ควรจะเป็นนั้นขึ้นอยู่กับเป้าหมายของโครงการ ทรัพยากรที่มีให้กับทีม ลำดับเวลา การจัดการ และอื่นๆ อีกมากมาย แต่การพัฒนาวิธีการถือเป็นงานหลักอย่างหนึ่งของผู้นำด้านเทคนิค เขาคือผู้ตัดสินใจว่าควรจะออกเวอร์ชันใหม่บ่อยเพียงใด สิ่งที่ควรนำไปใช้ในระหว่างการพัฒนาครั้งถัดไป เป็นต้น
-
กองเทคโนโลยี
แง่มุมนี้ซึ่งมีความสำคัญอย่างยิ่งต่อความสำเร็จโดยรวมของโครงการ ยังเป็นความรับผิดชอบของผู้นำด้านเทคนิคด้วย อาจรวมถึงรายการภาษาโปรแกรมที่จะใช้ในการดำเนินโครงการ เช่นเดียวกับเฟรมเวิร์ก โซลูชันการจัดเก็บข้อมูล ไลบรารี โซลูชัน QA เป็นต้น
-
สถาปัตยกรรมซอฟต์แวร์
พื้นที่นั้นซึ่งอำนาจของผู้นำด้านเทคนิคตัดกันโดยตรงกับความรับผิดชอบของสถาปนิกซอฟต์แวร์ แต่หัวหน้าฝ่ายเทคโนโลยีในกรณีนี้มีตำแหน่งสูงกว่าสถาปนิกทั่วไป และมีหน้าที่รับผิดชอบในการตัดสินใจขั้นสุดท้ายและแนวทางปฏิบัติต่อพวกเขา
-
การวางแผนภายในและการกระจายพื้นที่รับผิดชอบ
หัวหน้าฝ่ายเทคนิคในฐานะบุคคลที่รับผิดชอบผลลัพธ์สุดท้ายจะต้องกำหนดเส้นตายในการส่งมอบบางส่วนของโครงการและกำหนดขอบเขตความรับผิดชอบ
-
ช่วงเวลาของการเปิดตัวใหม่
แม้ว่าจะมีการกล่าวถึงฟังก์ชันโอกาสในการขายทางเทคนิคนี้แล้วในส่วนที่แล้ว แต่ก็คุ้มค่าที่จะเน้นเป็นรายการแยกต่างหาก เนื่องจากตามกฎแล้วการกำหนดกำหนดเวลาสำหรับการเปิดตัวใหม่มีบทบาทสำคัญมากในชีวิตของโครงการใด ๆ
-
นโยบายการทบทวนโค้ด
ทุกสิ่งที่เกี่ยวข้องกับการตรวจสอบและตรวจทานโค้ด หรือพูดให้เจาะจงกว่านั้นคือการเลือกแนวทางหลักในกระบวนการนี้ ก็คือความสามารถของหัวหน้าด้านเทคนิคด้วย
GO TO FULL VERSION