天天看點

技術總監到底要不要寫代碼?

技術總監到底要不要寫代碼?

這是一個非常敏感的話題,每次談論到技術總監要不要寫代碼的時候,總會引起一片争論。

有的程式員說技術總監如果不寫代碼怎麼能上司好技術團隊;有的說技術總監還需要寫代碼?如果技術總監都需要寫代碼的話,那技術團隊有多操心呐。正反觀點看起來都蠻有道理的,我也試着和大家聊聊這個話題。

我感覺自己還是蠻有資格來讨論這個話題的,我有過30人左右技術團隊負責人的經曆、也有過管理超100多人研發副總的經驗,也經曆了從一個程式員到一個技術管理者身份轉變的曆程,是以友善從各個角度來看待這個問題。

任何問題抛開背景來讨論都是耍流氓。

比如下面這個圖檔,正着看的時候是一個老太太,如果我們把手機倒過來看的話是一個小姑娘。

技術總監到底要不要寫代碼?

這就是我們看待問題的角度不同,所展現給我們的視角也是不同的。

技術總監要不要寫代碼這個話題,其實也是需要看公司是什麼樣的背景、處于什麼樣的階段、技術總監管理人員的規模來定。

另外技術總監隻是一個統稱,很多公司還會分部門技術總監、研發中心技術總監等,不同級别也需要不同的讨論。

首選探讨一下什麼樣的技術總監需要寫代碼,這裡的寫代碼指的是參與到具體的編碼實作。個人認為有以下 3 種情況:

01 技術驅動型的技術總監需要寫代碼

很多網際網路公司産品,完全是依賴技術來建構的,公司的命脈都是技術,那麼這個技術總監就一定要參與到核心代碼的編寫中。

比如我一直比較關注的創業公司 PingCAP ,他們公司的主要産品是 TIDB,一個開源分布式關系型資料庫。我們知道開發一個高效的資料庫是一個技術含量很高的事情,那麼這種類型公司的技術總監一定會參與到編碼中。

02 初創技術團隊的技術總監需要寫代碼

一個創業公司的初創團隊,可能公司的技術體系、技術路線、技術文化完全都沒有搭建起來的時候,必定需要技術總監參與到一線,一步步将這些内容搭建起來。

同時幾乎所有的創業公司在剛開始的時候,就技術的需要程度是相當緊迫的,是以這個時期的技術總監,一定要親自參與其中,確定核心系統功能不會出現問題。

有一個很著名的反例:

2012年的時候程維為了滴滴産品快速上線,花了 8 萬找了一個外包做了一個 APP,開發出來不僅體驗差,還出現了耗費流量高、耗電、聽不到訂單、定位不準的問題,差點直接将滴滴搞死。後來張博的加盟才逐漸解決了這些問題,産品穩定後才赢得了滴滴後期的大發展。

國内外的網際網路公司都存在創業早期過分注重技術,認為技術可以搞定一切;創業成熟期後又過分輕視技術,導緻後期問題頻發。是以對技術的重視程度應長期保持一緻。

03 管理十幾人以下的技術總監需要寫代碼

管理十幾人的技術總監,個人建議總體還是需要參與到核心代碼的梳理中,需要對系統的各個特性了然于胸,知道系統很可能出現的問題點,在出現問題的時候可以快速定位解決。

在這個規模的時候,如果技術總監不參與到核心代碼的工作中,其實是很難掌控整個系統的穩定性,出現問題的時候需要依賴于團隊中的核心骨幹來解決。

當然肯定不是需要參與大量的編碼工作,可以在架構設計、核心代碼評審、代碼優化層面來多做工作。如果這個階段的技術總監完全脫離代碼編寫工作,容易導緻團隊技術失控。

國内技術總監現狀

在國内,大多數技術總監其實是沒有參與到具體的代碼編寫中的。一方面國内很少有上面所說的純粹技術驅動型的公司,大多數網際網路公司對技術的重視程度仍然很不夠,認為技術隻是服務于公司商業價值,進而不斷的壓迫技術團隊。

特别是老闆如果對技術一點都不了解的話,那對技術團隊就是一個大災難,可悲的是大多數企業都是這個情況,這個時候技術總監的很大一部分精力,就變成了如何向老闆合理的解釋清楚技術團隊的工作情況,不是封閉幾個月或者壓迫一下就可以搞出一個完美的系統。

國内的大多數技術總監都被迫陷入很多的行政事務中,比如我曾經呆過的第三方支付公司,各種監管機構每個月都會有各種檢查,另外還需要處理各種外部需要文檔、行政事務、外部談判、公司會議等各種各樣的雜事中。

當然這些都不是最可怕的,最可怕的是如果參與到公司的辦公室政治,那很多事情就已經偏移了事務的本質,不是這個事情你要不要做好的問題,還需要考慮很多其它的因素,類似的事情最容易讓人心累,耗費巨大的精力。

技術總監到底需要幹些什麼?

首先強調一下技術總監是一個管理崗位,是以它的管理職責遠遠大于編碼職責,技術總監的工作更應該關注宏觀、全局性的問題。

如果一個技術總監自己代碼寫得賊溜,團隊内小夥伴代碼寫得一片爛渣渣,那他絕對不是一個合格的技術總監。

是以技術總監不是讓自己編碼很爽,技術總監的工作更應該是讓團隊内的成員編碼很爽。讓團隊内的小夥伴編碼很爽,其實就有很多的工作要來做。

比如建構一個有技術氛圍的團隊,做有前瞻性的技術選型,在業務設計、架構設計、系統架構上下狠功夫。任何團隊内不太爽的工作都是技術總監的責任,比如需求變動太頻繁、技術選型不合理導緻問題頻發,團隊沒有定期的技術分享。

技術總監需要負責技術管理體系的建設和維護,對行業技術發展趨勢和管理現狀具有準确的判斷,從技術層面上協助決策層實作戰略目标。是以必須綜合實力很強,既要懂技術,也要懂管理,而且職位越高,所需要的知識面要越廣。

用通俗易懂的話來講:技術總監的工作就是對内就是讓團隊幹活很爽,對外要拼命接住老闆吹過的牛逼。

那麼我們最後來探讨一個話題:除過上面三種情況,工作中寫代碼的技術總監就是好的技術總監,不寫代碼的技術總監就不是好的技術總監嗎?

繼續閱讀