排長還是士官長

在軟體公司任職到一個階段的工程師多半都會面臨這個選擇,要做一個 Tech Lead 還是做一個 People Manager,不知道有多少人問過我這個問題,我覺得我也沒有什麼厲害的答案,不過我可以說說我的想法

我把 Tech Lead 比做士官長,People Manager 比做排長,這對當過兵的人來說應該不言可喻了,但很多人沒當兵我還是解釋一下,排長需要管理整個排的大小事,什麼時候吃喝、拉屎、睡覺都要排長來操心,相較起來士官長是個涼差,通常只管專業技術,幫忙指導解決問題

經理的工作是管理團隊,會有和下屬之間的匯報關係,Tech Lead 在很多公司其實就是一般 Engineer,其實並沒有正式的職級叫 Tech Lead,也沒有人真正匯報給 Tech Lead,其實就只是級別比較高的工程師

我的視角

我的工作背景是美國的軟體公司,我在博士畢業後 (加州理工學院) 加入 Facebook 成為軟體工程師,之後做了 Tech lead 然後做了工程經理,也在 Instagram 管理過團隊,後來我離開 Facebook 去了一間小公司 (年收入約 $150M、員工人數約 150 人) 做了技術長後來做到總裁管理整家公司,目前本人從事自由業

我的視角未必適用於你的公司和你的產業

例子

我接下來用我認識的兩個人當作例子,不過為了避免讓當事人困擾就不說他們的名字只用代號。

士官長 A

士官長 A 一直是我工作生涯的偶像,他在 90 年左右 Stanford CS Phd 畢業之後,經歷過 Sun Microsystem、Google、Facebook 、vmware 等等大規模的 IPO,這些都是普通人只要中了其中一個 IPO 就能退休的,所以他也非常有錢,累積資產這麼多年後,他的投資也很有一套,我也從他身上學到不少投資的妙招

令人敬佩的是六十歲的他現在還非常活躍,現在還在某一線大廠擔任 Principal Engineer,還在寫程式。他短暫做過管理但大部分時間他都是一個工程師和 tech lead,我覺得他一直在做很好玩的工作,而且充滿樂趣,一直到現在對技術還是非常熱情

士官長 A 寫的程式乾淨漂亮,邏輯非常清晰,讀他的程式是一種享受,另外他做過各類世界一流的系統,所以他的經驗和見解也是一流,從他身上我學到非常多東西

士官長 A 說過一句話讓我印象很深,他說一個 coder 的能力在 35–40 歲 (late thirties) 會達到巔峰,在智力下降和經驗上升的過程中,35–40 歲是個人程式能力的頂峰

因此很多人都會擔心是不是無法一輩子做技術,畢竟自己的戰力會繼續衰退,看著剛畢業的年輕人飛快的寫程式速度,都會覺得自己是不是會被取代。但是就我的觀察,總是有些老士官長還是存在以一擋百的戰力

我也問過他一樣的關於 tech lead 還是經理的問題,他說 tech lead 好處就是不用做那些 performance review 一類的管理行政的鳥事,而且可以更靠近技術,所以他選擇繼續做工程師

營長 B

再來介紹第二位成功人士,營長 B 是我很好的朋友,他也是一個名校 CS Phd,畢業後在 Facebook 做了工程師,再做經理一路升官,現在管一個大約四五百人的團隊

做為個單兵,我認為 B 的戰力不是特別的強,他自己也會很謙遜的承認這一點,但是 B 做人非常成功,是一個大家都非常喜歡的陽光男孩,待人真誠,很能贏得高層長官的信任,他的下屬和同事也都非常喜歡他,我覺得他是一個很講義氣的真性情的人

我預測營長 B 最後應該會繼續升上旅長,他非常適合在大公司生存

不過做為一個管理職,有很多事情是不可控制的,你負責的業務可能因為公司的戰略改變而邊緣化,這時候如果你是一個工程師你可以換組,不過你當你自己就是船長,你不能棄船而逃,你的命運跟船是在一起的

當然相對的,你的業務有可能變得很重要,公司決定大量投資在你的團隊上,不過這個時候上面也有可能決定拆分你的團隊,找幾個經理分走你的業務,取決於上面長官對你的信任,還有常常取決於上面長官跟更上面長官之間的角力

總之一個管理人員在職場上的際遇受到很多不能控制的外部因素影響

我自己覺得做大公司的管理其實是蠻苦的,不只是自己做好自己就行了,除了要應付很多不可控的因素,還要討好上面一堆長官才行

我目測士官長 A 和營長 B 應該是賺差不多的錢,我猜都是 $2M / yr 上下,當然這兩個人都是一流的人才,都有一流的市場價值,所以要賺大錢不一定要做管理職,一流的技術人才也同樣可以拿很多錢

兩條路只要做得好都是可以賺大錢的

流動性

工程師的好處就是流動性很強,想去那間當紅公司直接去面試就行了,好公司不可能不要工程師的,資深工程師不嫌多,多招幾個人進來都是有戰力的

管理人員尤其是高管流動性很差,一定要對方公司有一個高管缺才能填你進去,若是招了另一個高管填上了缺,就不能再招你了,你再強也沒有用

所以最終一個 Tech Lead 可以像浪人一樣到處參與 IPO (好比士官長 A),一個管理人比較像武士常常都是待在一家公司爬梯子爬好幾年,在同一個地方累積勢力和人脈,跳槽相對因難

開心程度

我覺得這完全因人而異

有人覺得要在 deadline 之前寫程式很苦,有人覺得寫 performance review 參加 calibration meeting 很苦,有人覺得要一直追趕新技術跟年輕人比拚程式很苦,有人覺得辦公室政治很苦,看長官臉色很苦

有人覺得鑽研新技術很快樂,有人覺得帶團隊幫助手下成功很快樂,有人覺得把東西做出來給用戶很快樂,有人覺得參與高層制定策略很快樂

我覺得開不開心是最重要的因素,面臨這種選擇的時候,應該去選讓自己開心的事,其他的好處通常都會因為工作的樂趣而來

這篇主要的背景是大公司,因為大部分的人還是在大公司打工

以後有機會可以再聊聊大公司 vs 小公司的選擇

放一張 Halo 的士官長湊個圖片 (出處:https://halocenter.fandom.com/wiki/Master_Chief)

工程師 / 投資人 / 企業家。曾經營並賣掉一家六億美金的公司。Facebook / Instagram 前員工。加州理工學院電機和應用數學博士。住在矽谷和台灣