Tech Lead 和 Engineering Manager 有什麼不同 - 1
之前看過「Tech Lead」在做些什麼,但另一個常見的職務叫「Engineering Manager」也常常映入我們大家的眼簾。看了些資料後才知道,我之前寫的Tech Lead基本上又是全包了😅。全包倒不是件壞事,只是若無法全包的話,我們也不用過於自責或自卑,因為其實真正的Tech Lead和Engineering Manager是有其分工不同的,缺一不可,少了哪一個都會讓整個團隊"營養不良"的。
首先回顧一下「Tech Lead」。其實字面上的意義就很明確了,這個角色就應該只關心技術上的事。大方向上,這個角色關心的是產出的技術品質,或是團隊的技術設計思維是否跟得上時代,或是所制定的一些技術路線是否合理。深入點細節去看,我們可以把這個角色需要關注的面向切成三個:「設計」,「實作」和「控制」。
越是大型的專案,「設計」的重要性就越高。很多時候,實作都可以再改,設計一但錯了就救不回來,或是成本極高。Tech Lead通常是實作經驗的工程式升任而來,因此他們對不同的系統適合做什麼,各種平台有多少能耐(capacity),可能是整個團隊甚至是整家公司最清楚的人。所以若今天需要設計新的系統,Tech Lead就需要釐清用戶是誰,需求是什麼。若需要新的平台,Tech Lead也要幫團隊說明怎麼選擇,怎麼搭配。
另一個「設計」常見的需求是新技術的導入,這也是Tech Lead要去評估的事。
Tech Lead不只是需要最資深,最有經驗的人,更是需要對技術本質最瞭解的人。很多時候所謂的"新"技術,說穿了就是舊瓶裝新酒而已。若能適當的以現有成熟的技術,佐以合適的流程安排或自動化來導入,優化既有的作業流程,往往比導入新技術還來得可靠。而且若是要導入新技術,Tech Lead也得評估清楚其"可能的生命週期"。這可能來自於這個技術的本身好不好用,穩不穩定,有沒有相容性等這些評估,就可以推估得出來。