做了多年技術團隊的 leader,但我還是更愛敲代碼

2021-02-07 CTO訓練營

西遊記中的火焰山(圖)

前言

個人從程式設計師到技術 Leader 經歷了不少的心路歷程,我目前在帶一支十幾人的技術團隊(控制團隊人數主要是遵循亞馬孫 CEO 貝索斯提出的兩個披薩原則)我記得剛開始帶團隊的時候我是非常抗拒的,因為總覺得管理太多的「雜事」佔用了我很多寫代碼的時間,包括目前雖然已經是一支十幾人技術團隊的 Leader,但是我平時也還是偏愛技術多一些,在業餘時間都會抽空寫寫代碼或者在 Leetcode 刷刷題,在從事管理工作這些時間裡看過很多書,也踩過很多坑,總結了很多經驗,想必也有很多程式設計師剛開始跌跌撞撞的走上技術 Leader 的崗位,所以想寫一篇文章跟大家分享一下,希望可以幫助到需要的人,文章大綱如下:

技術管理者需要哪些綜合能力?如何才能在團隊擁有 Leadership ?技術管理者需要哪些綜合能力?如何才能在團隊擁有 Leadership ?

既然說到管理技術團隊,那麼管理的對象自然就是程式設計師,那麼程式設計師是一個什麼樣的群體?大多數程式設計師的特點是:「聰明且傲嬌」

比如這個網上流傳的段子,如何正確的向程式設計師提BUG:

技術 Leader 對個人綜合素質要求很高(技術好的管理者,帶技術團隊是有一定優勢的),先說說我認為技術 Leader 需要哪幾個比較重要的綜合能力

技術 Leader 必須要看透技術的本質,因為技術 Leader 平時的工作內容大多包含:技術選型,技術方案評審,代碼審查,技術氛圍的營造,如果管理者本身不是技術出身,可能無法和技術團隊建立共識,溝通成本極高,最終讓團隊變成一個非常低效的組織,人浮於事,那麼如何才能擁有這些能力,可以在技術團隊擁有 LeaderShip ? 我個人總結有一下幾點:

吃透基礎技術和弄懂技術背後的原理(萬丈高樓平地起,再流行的框架和技術,剝離華麗的外衣也離不開作業系統,網絡,數據結構這些原理型的知識)了解細節,永遠在寫代碼(不熟悉代碼就無法提出真正可落地的方案,就無法感知技術團隊的痛點在哪裡,也就無法團隊提高效能)持續的學習,持續的為團隊帶來新的知識和理解(技術 Leader 已經是團隊技術問題的終結者,不可能再上傳遞了,所以不要成為技術團隊的天花板)有一個真心幫助大家的心態(幫助大家成長,提高效能,最終組織效能也得到提高,實現共贏的局面)

總結了以上經驗和方法論之後,我們肯定會思考,上面所說的都只是過程和執行,那麼管理者的目標或者說是工作的結果是以什麼形式體現的?

總體概括來說的話,管理者的目標和工作結果主要體現在兩方面:

以上的方向又太抽象,其實管理者很多時間的大部分工作都在選擇和權限,主要包含以下幾個方面

舉一個實際的例子:

比如公司A在創業期,還沒有穩定的市場和客戶,這個時候技術管理者的決策要傾向成本 + 效率,例如:技術團隊偏向全棧型,工作流偏敏捷,快速交付功能獲取用戶和市場的反饋用於升級和迭代產品比如公司B在成熟期,有固定的市場和客戶,行業已經沒有新的蛋糕,這個時候需要比拼的就是效率 + 質量,技術團隊偏向專家型,注重產品質量和客戶體驗用於形成行業口碑和用戶粘性從工程師到團隊 Leader 有哪些轉變 ?

其實工作變化還蠻大,所有很多人剛開始管理團隊會出現很多的不適,我總結如下:

我們先看看工程師的工作視角:

作為技術 Leader 的工作視角:

團隊未來向哪裡發展?團隊成長不如預期怎麼辦?公司今年的業績指標如何可以完成 ?除了技術,還需要溝通,判斷,組織,協調,看方向的能力規劃 Q1 季度的工作目標,分解到團隊成員去實施,保證工作內容和每個團隊成員的能力相匹配

看到這裡大家可能會感慨到,不同於工程師工作內容的「明確性」,管理者的大部分工作是「不確定性」的,而且幾乎沒有盡頭,也沒有一個明確的時間用於標示「完成」狀態,所以這對於習慣「確定性」思維的工程師來說,挑戰極大

我個人用通俗的比喻來總結就是,我以前寫代碼時候的感受是 一人吃飽全家不餓,輕鬆且自由, 現在感受是 既當爹(做事),又當媽(帶人),而且還上有老(上級),下有小(團隊),感覺亞歷山大!!

如何提升團隊的工作效能

很多人都在談高效,但是軟體行業的高效度量指標是很難的,總體來說工作效能的提升,實際上是 事 + 人 的結合,我們先聊聊事情,再聊聊人

從事情的角度,我們先說說讓團隊開發工作變的高效的幾個條件:

給員工配置高性能的電腦(工欲善其事必先利其器,脫離工具談高效就是在耍流氓)工作流是否流暢(Git 伺服器網絡慢,合併代碼要寫表格走流程申請?形式主義就不要談高效二字)自動化工具是否完善(沒有自動掃面,自動測試,代碼就被合併了?那麼接下來就是無盡的生產 Bug,修復的死循環)

以上側重的是工具和流程,開發的效率和開發的體驗對團隊的效能都至關重要,流暢的工作流可以讓開發者持續進入心流狀態,產生高質量的功能和代碼,不會頻繁的被電腦卡死,頻繁的打斷,開發流程等待的阻塞降低工作的積極性,下面我們從人的方面聊聊如何提高團隊效能

程式設計師的工作大多是本質知識工作者,管理學大師彼得德魯克說過:「對於知識工作者是無法進行嚴密的督導」,所以我傾向提供一種積極,主動,自驅的工作氛圍給團隊,讓團隊在這種土壤裡面逐漸的形成高效能團隊

每個團隊都會有懈怠的員工,有時候管理者不要急於否定員工,看看管理者是不是沒有洞察到他的心理訴求,高產出員工的兩個特質是:

有一種情況我們常常會發現相同的員工在不同的環境,有不同的產出,所以有時候發現懈怠的員工,不僅要從員工身上找問題,還可以去思考看看是不是我們周圍的人,事,環境,工作方法,價值觀等地方找出問題,畢竟有一句話叫做**「橘生淮南則為橘,生於淮北則為枳」**

外部激勵

除了團隊和個人,還可以從外部找原因來持續的激勵團隊,可以理解為是外部激勵,主要包含以下方面:

安全感和成就感(穩定的工作環境,完成有難度的挑戰,及時反饋 BIA)和管理者定期溝通(讓員工感到自己被重視,收集員工建議並且做出工作上的調整)自驅力和凝聚力

很多企業都期望員工可以有 Onwer 精神,但是如果想要團隊保持足夠的自驅力,管理者可能要思考是否對團隊做到以下幾點:

給予員工自主性(工作內容上的自由度,工作方法上的自由度,工作時間和地點上的自由度)成長(明確的工作目標,內容有挑戰,工作發揮其優勢)溝通的技巧

為了簡單先說明溝通的重要性,我們先了解一下關於聖經中《通天塔》的故事,故事大概如下:

《聖經·舊約·創世記》第11章故事中人們建造的塔。根據篇章記載,當時人類聯合起來興建希望能通往天堂的高塔;為了阻止人類的計劃,上帝讓人類說不同的語言,使人類相互之間不能溝通,因為不能溝通無法達成共識,人類之間相互猜忌,內鬥,無法團結,最終計劃因此失敗,人類自此各散東西。

總結一下就是,如果人們不願意,或者不會溝通,那麼就很容易產生分歧,誤解,從而導致大家分裂,大家的目標就會失敗,那麼管理者很多事情是需要通過溝通傳達,讓團隊達成方向共識,齊心協力,最終完成企業的目標

說完故事,那我們了解一下良好的溝通能帶來什麼?

和團隊成員之間建立信任和默契(信任的前提是充分的溝通,信任程度越高,溝通成本越低)

因為很多程式設計師可能不是很善於溝通,可能需要一些原則和指導,那麼在溝通中有哪些方面可以遵循或者注意事項,我個人總結如下 3 點經驗

認清個體差異(每個人的生活環境不同,對於不同的角色要學會用不同的溝通和表達方式)基於目標溝通 (明確各自溝通的意圖和目的,減少不必要的誤會,避免情緒對抗)多用我來回放(可以把:你是不是這個意思,可以換成,你看看我理解的是否準確)

溝通技巧的核心在於學會傾聽,對於還未掌握溝通技巧的同學,推薦一個溝通工具 3F 傾聽,照著做也可以稱為溝通小能手:

情緒控制

聊到溝通不得不聊情緒控制,為什麼管理者要避免情緒化,學會控制情緒 ? 我們先看看知識的原理:我們常常會因為出現情緒,導致溝通常常脫離事情本身,轉移到情緒的對抗上,我們的大腦皮層處理本能情緒的優先級是高於理性的,例如憤怒,恐懼,飢餓等,所以我們經常可以看到被本能情緒覆蓋的人,往往會失去某種理性,所以我們在溝通的時候需要時刻以下兩點:

文字可能比較枯燥,我們通過一張冰山圖來了解原理:

了解情緒控制後,我們往往會在工作中遇到,跨部門溝通,跨團隊溝通,這種情況往往都會有「部門牆」的存在,這種情況往往不能訴求於共同的上級,往往出現「部門牆」的情況就是因為之間沒有共同的上級,也無法相互影響,遇到這種情況可以通過如下幾個切入點去達成溝通的共識

人格:有口皆碑的人品和正直的人格可以讓別人更加容易信任你說的內容,並且被你影響歷史表現:你曾經成功完成過相同的事情,就是成功案例,可以讓別人更加容易相信你影響力:你是行業的知名人物或者是團隊公認的專家,權威的力量邏輯:你的內容前後呼應有著緊密的邏輯,可以增加說服力激情和情懷:心懷某種遠大的理想主義,並且有使命感有激情,比較容易獲得人們的幫助和認同,可以參考錘子手機的成功案例互惠:明白對方的需求,溝通的目的是建立在滿足雙方的需求上

說完溝通技巧,那我們來看一下平常溝通中有哪些常踩的坑?可以對照下自己以前是否有踩過

溝通給人貼標籤,對人不對事(例如:你這個人怎麼這麼笨,這點事情都做不好)

熟悉計算機網絡的朋友應該很熟悉 TCP 協議和 UPD 協議,溝通有沒有閉環就可以對應計算機網絡中的 TCP 協議(可靠網絡傳輸)和 UDP 協議(不可靠的網絡傳輸),我個人建議大家在溝通中儘量多的使用 TCP 協議

管理者的自我認知和成長

為什麼說管理者要比團隊擁有更快的成長,因為 管理者是團隊的天花板,你不成長則團隊不會成長,那麼管理者的自我認知首先要體現在哪些方面?

認知:管理者的價值是體現在團隊業績上,不要跟團隊搶功勞心態:歸因於己,歸功於外,有錯都是管理者的錯,有功勞都是團隊的努力擔當:不要推卸責任,就算是客觀原因,也要反省和復盤避免,而不是把責任推給外部

能做到以上三點,我相信已經會是一個很優秀的管理者了,那麼如何保持穩定和高效的成長呢?我的個人秘訣的管理者要做好自己的 精力管理,因為大家的時間都有差不多,尤其是三十左右剛剛成家的管理者(比如說我),可以抽出的時間基本是少之又少,那麼還想在賽道上贏得競爭力那麼就要比其他人,那麼你就要保證自己有足夠的時間和身體的健康,那麼通過什麼來獲取呢?答案就是精力管理,我個人總結的精力管理分為以下幾個方面:

運動(每天定期的運動,可以讓你保持一個持續充沛的精力,也更加容易專注)

說完角色認知和精力管理,那麼有人會思考,那麼我們持續努力的目標在哪裡?具備以上兩點,就像一輛高性能的好車,高速道路已經鋪好,但是要如何開往目的地?這個就要因人而異了,畢竟每個人的目標和理想都是不同的,先說說我個人,我是技術出身,到目前為止我其實也是偏愛技術的,轉管理崗位更多的是想要鍛鍊自己的軟技能,所以我持續努力的目標是有 2 個:

軟技能的提升:產品思維,項目規劃,帶團隊,帶人,溝通,執行力硬技能的提升:架構,設計,算法,網絡,作業系統,程式語言

以上僅僅是代表我個人的目標,也可能是多數技術 Leader 的目標,對於技術管理者很多人總是有誤解,認為已經是團隊 Manger 就不需要去做具體的執行工作的,起碼這一點對於技術管理是行不通的,我個人認為技術管理者 要一直寫代碼,因為如果不了解技術細節就無法做出有效的決策,而且管理者如果脫離技術,那麼也是很危險的一件事情,因為市場對管理者的需求並不多,市場需要更多的工程師去寫代碼,管理者更多的價值是依附於企業,其很多業務知識也並非可遷移的技能,如果管理者放棄技術的話可謂是「自廢武功」,也會讓自己陷入一個很尷尬的境地,比如的性格發現自己不適合做管理的話,甚至都不能退回去做工程師了

總結

嘮嘮叨叨也寫了 5000 字,最後總結就寫簡單點,就像跟工程師,管理者或者正在走上管理路上的同僚提兩點建議,就是:

個人而言,做技術還是管理都不是很重要,找到自己最大的價值才是最重要的不要被別人走過的路限制住,也不要被職業限制住,沒有誰可以定義你的發展

中國的官本位思考其實還是挺嚴重,很多人以為做管理就是當官,但是在軟體行業其實並不存在這一現象,目前大多數網際網路公司都是偏向扁平化管理,管理者的大家在工作中並沒有本質上的不同,而且管理者的工作更多的是偏向「打雜」(工程師視角),如果抱著這種心態去做管理,那麼我想說初衷就已經錯了,我先在這裡勸退,因為最終也可能會走向失敗,管理者更多的是要有利他精神,空悲和開放的心態,真正願意去幫助團隊成功,最終實現自己,通過成就他人來收穫成就感,關於技術管理的道理長篇大論說了很多,道理都很簡單,能不能走好管理路,還是要在「事上練」,自己感悟出來的道理才能真正的為自己所用

參考資料:

彼得德魯克 《卓有成效的管理者》 https://book.douban.com/subject/1322025/劉建國《知行:技術人的管理之路》 https://book.douban.com/subject/33463986/


今天(1月14日)《CTO說》系列直播特別請到了方雲智能CEO於人老師,教大家用技術人的方式去解決技術團隊的績效管理難題。

👇👇👇

掃下方二維碼立刻報名


🔍想要關注更多《CTO說》系列直播內容,歡迎關注CTO訓練營公眾號。


點擊「在看」,讓你更進一步↓↓↓

相關焦點

  • 如何成為一名優秀的技術 Leader?
    他對項目或產品的技術方向負責(準確地說是對結果負責),並作為跨團隊溝通的首選人。對於大中型團隊而言,Tech Leader 主要的職責包括:例如。我們將使用什麼技術,我們將如何交付項目,我們將使用哪些模式等。分析風險意味著降低風險:我們可以選擇某種方法,還是說有太多未知數。在承擔一定風險時,對項目的影響是什麼?例如。介紹您在會議上看到的新技術。很可能在你的團隊中有不同的經驗的同學。
  • 阿里技術Leader是如何帶兵打仗的?
    如果我團隊的同學在離開這個團隊五年或者十年後,回想起這段時間,會感慨:「我們當時的團隊多好啊,大家一起做了很多有意思的事情。」 那我這個技術 TL 的工作,就算做的出色了。招聘的第一原則是寧缺毋濫。這其實是非常危險的,因為一旦招聘了錯誤的人,對於 TL 需要耗費的管理時間會成倍增加,這些時間本來可以用來做更重要的時間。更危險的是,錯誤的人可能會對團隊整體產生負面的影響,例如需要其他人不斷地補位,或者和人不斷爭吵,消耗大家的精力。
  • 別再壘代碼了
    所以開發軟體的時候,會想盡辦法去節省資源,比如把內存分區分片,讓程序變得更優化,追求軟體的最佳實踐,要盡善盡美。  2016 年,各類業務需求不斷,人員不斷新增,項目經常趕工。  因為趕工,業務需求實現大多沒有編寫設計方案文檔,只能靠人工點檢代碼;跟業務的溝通成本高,開發人員理解需求不到位就直接寫代碼,導致常常要返工。團隊成員技術能力參差不齊,代碼質量也就無法保證。
  • 為什麼CTO、技術總監、架構師都不寫代碼,還這麼牛逼?
    老讀者知道,老K有過一段創業經歷,當時追隨我的老領導出來創業,我就是名義上的CTO,帶了7、8人的團隊,我還同時帶了兩個項目,每個項目裡我都貢獻了30%以上的代碼量。其實,當時的我,就是個高級程式設計師而已。小結一下,高級程式設計師的主要職責是:1,實現複雜功能,編寫核心代碼;2,處理線上bug,解決技術難題。
  • 人生第一行經典代碼,決定程式設計師的出身,更決定程式設計師的職業生涯
    入門語言與職業生涯在計算機編程領域,人生第一行經典代碼——"hello,world!",往往決定了程式設計師的出身,更決定了程式設計師的職業生涯。第一行代碼,決定的是未來程式設計師的入門程式語言。所以,換而言之,程式設計師的入門語言,決定了程式設計師的教育背景,也決定了未來編程路上能走多遠。
  • 整合零代碼+AI+雲原生技術,「速優雲」布局智慧教培和智慧社區
    速優雲團隊2020年5月組建於南京,目前專注於整合零代碼+AI+雲原生等技術,為各行業提供全價值鏈的SaaS產品和數智化轉型基礎設施及服務。目前覆蓋智慧校園智慧教培領域,下一步將布局智慧社區。速優雲團隊核心成員來自百度、字節、小米、京東等企業,另有多名成員畢業於南京大學、河海大學等知名高校。
  • 「行業」從一行代碼到如今的12億用戶,微信第 1 行代碼曝光!
    因為那時候的微信,才剛剛誕生於程式設計師敲寫的代碼中。 2010年11月23日的凌晨,廣州,一群年輕人在小黑屋裡敲下了一行行代碼。 這是微信後臺第一天提交的代碼。 從此,人們的溝通方式變了。 如今,微信已經有超過12億的用戶,是一款真正的「國民級」應用。
  • 微信第一行代碼曝光!
    因為那時候的微信,才剛剛誕生於程式設計師敲寫的代碼中。 2010年11月23日的凌晨,廣州,一群年輕人在小黑屋裡敲下了一行行代碼。 這是微信後臺第一天提交的代碼。 從此,人們的溝通方式變了。
  • 一名程式設計師的內心獨白:我很忙,但我的代碼還是很糟糕
    很多人覺得離開校園就不用再學習,殊不知進入社會才是更高級更複雜的學習,因為你要學習的東西不僅僅是幾本書、幾張試卷、幾道習題,更多的學習是融入在工作中,浸透在生活裡。我們常說太忙,於是把自己圈進在一方小天地裡,自得其樂,不知道外面的世界,天外有天人外有人。你知道嗎?
  • 【爆款】大同怎麼敲代碼價格
    大同怎麼敲代碼價格 ports: - containerPort: 3306 env: - name: SQL_ROOT_PASSWORD value: "123456" - name: SQL_DATABASE value: "myblog"
  • 被誤解是最省心的工作:每天代碼敲敲敲?程式設計師心聲:我倒希望是這樣!
    寫代碼只是程式設計師工作很少很少的一部分。 第一步,大部分的時候,程式設計師在:讀別人的代碼。 通常程式設計師們進入公司以後,不會是重頭開始一個項目,而是在已有代碼的基礎上進行維護或新功能的開發,所以必須「讀代碼」。
  • 就是街舞3》:四位花美男,我只會選這兩位做我的Leader
    不過,要說四位隊長之中,誰更具備成為一名好leader的潛質,我更看好小哇哥和王一博。01四位隊長表態發言時,張藝興,王嘉爾都表達了對冠軍的志在必得。輪到小哇哥時,他是這樣說的:我要挑選最優秀的舞者,陪伴他們殺出重圍。
  • 代碼改變我的命,我要用代碼改變100萬女性的命
    憑著出色的代碼能力,闖進了科技行業。二十多年的IT從業經驗,創辦了自己的科技公司,熟練運用7種程式語言,她成了出色的計算機專家,但是她要做得不止於此。 孤苦無依的女孩被命運無情的擺弄,卻從來沒有為自己的不公吶喊。但是,她在經濟獨立以後,卻以無人敢比的勇氣為全世界尚未獲得教育的女性呼喊。悽慘的童年經歷沒有將她拖下深淵,反而這種經歷給了她對抗命運的勇氣。
  • Top銷售到Team leader的成長之路!
    在這個過程中,數不清多少次,我在心裡問自己是否還要繼續?幸運的是我加入了韜威,遇見了amy,在無數個日夜無數個case 中,她教會我如何做一個獵頭,從技能到價值觀,為我打開了從獵的大門,奠定做獵頭的初衷和本心。
  • 【第1832期】從敲下一行JS代碼到這行代碼被執行,中間發生了什麼?
    正文從這開始~~我們每天都在寫JS,你是否想過,計算機是怎麼識別你的這一行代碼,並且執行相應指令?本篇文章為你講述從敲下一行JS代碼到這行代碼可以被執行算出正確的結果,都經歷了什麼。編譯學過計算器基礎的,即使學的不好,大概都知道計算機跟人能讀懂的語言是不一樣的,它只認識0101的二進位數。
  • 代碼你打算寫到幾歲?雷軍、張一鳴都曾寫過...
    1998年騰訊成立,剛開始,為了支撐公司運營,馬化騰除了寫騰訊本身的業務代碼,還接下許多外包項目。2018年在接受央視採訪時,馬化騰稱,因為當時 QQ 還沒起來,沒有投資,所以他們做了大量的系統繼承,包括幫其他網站做網頁等。"我很多年沒有寫代碼了,但做一些主要決策的時候,你要是寫過代碼,你就知道,主要是系統分析、決策、要做什麼,但是你要有技術底,否則不能做判斷。"
  • 誰說技術刻板,代碼營造浪漫
    聲明一下,以上圖片來源於網絡,網友公開發布的文章,如有侵權,請告知刪除。1、生成背景圖我先生成一個背景圖,上面是23*8的矩陣,每個小照片塊,我們用50*50的話,那我們要生成的背景大小就是1150*400。
  • 經歷過的都會覺得寧靜這樣的leader是最完美的leader
    但是,寧靜真的就是所有接受過社會毒打的人心裡最佳的那種leader,真的太完美了。別人說她多麼努力,自己從來不說我多麼努力了,我做的多麼好了,來給我投票吧,沒有,她回去在宿舍讓霏給她摳動作,默默一個人推掉大部分商演三個月都在長沙練習。所以,付出和收穫都是成正比的。寧靜組的舞臺好,不僅是成員配合好,也是包括寧靜自己,年齡在那裡放著,但是不划水,不說這個動作太技巧做不來我就不做了。都沒有。以身作則,該做的我都會做。這才是榜樣!
  • 《嗜血代碼》的啟發
    優秀的設計師和開發團隊中低預算能做出超乎想像的神作,但是一個差勁的團隊卻能把充足的預算的成品毀掉。魂類遊戲面對的是世界上最有遊戲經驗的一群遊戲玩家,如果不能讓這群自詡硬核動作遊戲玩家歡迎,大概這個開發團隊也做不成什麼好遊戲的。具有動作遊戲經驗的嗜血代碼團隊選擇了用自己的理解去拓荒黑魂類遊戲。但是很可惜的是,魂類遊戲玩家群體也是全天下最挑剔的玩家群體。
  • 會代碼的男生有多帥
    你不知道的事——會代碼的男生有多帥難過又沒我想放的歌!!!還是打開吧~~~愛你你們自己去搜!!!