Categories
程式開發

我在 GitHub 當 CTO,這是我的團隊打造經驗


截止2019年底,GitHub匯聚了全球超過4000萬用戶,倉庫數量早已破億。無論是個人、組織還是企業開發者,都把這里當做技術的聖地,交流的殿堂。對於開發者而言,GitHub是一個涉及IT技術方方面面的平台,我們不禁好奇,在GitHub做工程師乃至CTO是一種怎樣的體驗?本文由GitHub CTO Jason Warner的一次演講整理而成,Jason Warner 主要負責 GitHub 的產品、工程、支持和安全部門。在加入 GitHub 之前,Warner 曾擔任雲計算供應商Heroku的工程副總裁、也曾在Canonical公司負責Ubuntu 桌面和 Ubuntu 手機的產品工程。

我在 GitHub 當 CTO,這是我的團隊打造經驗 1

GitHub CTO Jason Warner

如果說,建立起一支強大的工程團隊是一樁難事,那麼,要通過高速增長來成功地擴大團隊的規模,就幾乎是一件不可能的事了。 Warner 在FirstMark 年度首席技術官峰會上會上分享了十幾條關於如何擴大工程團隊規模的秘訣。

了解文化的真正含義

對許多高管來說,培養一種高生產力的企業文化是頭等大事,但企業文化的概念常常被誤解。人們經常簡單地認為,所謂文化,就是:公司冰箱裡面有為員工準備的飲料,或者為員工提供一張桌上足球桌以供娛樂,等等。為了讓員工們感到舒適,企業最終都會花錢的。但實際上,這樣的做法並沒有什麼用。因為文化不僅關乎於“感覺”,還關乎於責任和行為。作為領導者,你所做的任何事情以及可以容忍的一切,都將成為整個組織的標準。

我在 GitHub 當 CTO,這是我的團隊打造經驗 2

不要為技術所困

技術可以是一種不可思議的工具,能夠為你的企業助力,但它永遠不應該阻礙你,或阻止你做某些事。技術要做的是為你服務,而不是相反。

Warner 稱,“如果你發現自己受制於你所寫的技術,那麼在接下來的18 個月裡,你將會陷入痛苦的漩渦中。如果技術層面出了問題,你就會無法按照自己的意願組織團隊。”

確立使命與願景

領導層首先要做的事情之一是,為公司確立使命和願景,然後將其傳達給全體員工。在企業中的每個人,都應該知曉他們為什麼會在這家公司,他們在建設什麼,以及為誰服務;他們應該能夠理解並以一致的方式來講述這個使命和願景。

創建原則和實踐

Warner 將原則和實踐列入他的“不容協商”的清單中,堅持要求每個領導者都必須花時間將這些原則和實踐落實到位,以建立一支成功的團隊。

“當我進入一家沒有這些標準的組織時,我就會問他們,如果人們不知道自己應遵循什麼標準,那他們怎麼會有這些標準呢?你公司的原則表達了你的價值觀,而實踐正是這些原則的戰術實現。如果你能把這些寫下來,你就等於給了人們一個錨點,讓他們可以圍繞這個錨點去開展工作。”

了解背景

當談到創建原則和實踐時,Warner 建議,要創建足夠的流程來構建結構化的組織,而又不會造成太多的限制。但他又補充說,還要注意了解背景。當你考察有關其他組織成功的最佳實踐和方法時,請注意該組織的規模、有多新以及運作方式。要知道,對一家公司有效的方法,對你的公司來說可能未必管用。

為員工設定期望

不要將期望看成是員工需要遵循的規則,而是要把期望視為文化和實現的契合點。

Warner 解釋道,“如果我說,'我們要在某個時間點交付某個產品,但我們要竭盡全力去實現目標',這對我的員工來說很重要,但是,如果我們不想讓員工們因為精疲力盡而永遠無法完成任務,而這對我的團隊來說也很重要。你要做的就是,在你所做的事情和如何做這件事情上,找到一個適當的平衡點,這樣,才能讓你的員工長久留在你的身邊工作。”

衡量一切

除非你真正去衡量,否則,你永遠不會在某件事上做得更好。更重要的是,如果你什麼都不衡量的話,你永遠也不會知道自己究竟是否成功。而這正是技術和數據成為你得力助手的地方。

“這是一個非常重要的部分,但大多數組織,特別是早期組織都錯過了,”Warner 指出,“他們並不知道自己是否成功了,很多人之所以不知道,是因為他們沒有衡量任何事物的標準。因此,他們也就不知道如何識別是否成功,以及如何糾正。你應該進行幾分鐘、幾小時或幾天的實驗,這樣,你就會得到信息和知識來幫助你糾正錯誤。”

做你自己

作為領導者,建立信任的最有效的方法之一,就是學會真誠和示弱。承認自己有困難、擔憂和恐懼,你將會從團隊和同事那裡得到更多的迴旋餘地和信任。但是,如果一個人試圖達到完美或堅不可摧的境界,那麼,只需一次小小的失誤,一切都會崩潰。

在員工和組織之間找到平衡點

Warner 指出,如果領導者只能做一件事,那就應該是確切地了解他們希望從組織中得到什麼,並確保他們在員工和交付方面都能夠保持高度警惕。在日常工作中,領導者需要採用以下兩種模式之一:

  • 社會學家模式: 當需要為公司作出最佳決策時,領導者應該採取社會學家模式。

  • 心理學家模式: 當與員工一對一解決問題時,領導者應該採取心理學家模式。

“要尋求一個持續的平衡,你應該明確你在任何給定的時刻應該處於這些模式中的哪一種,”Warner 說,“我經常發現那些大型企業的領導者並不知道他們應該採用哪種模式,而這種困惑會影響到員工。”

做出針對性的招聘選擇

如果你打算為公司做點什麼,你要明白,有些事會被擱置一邊,無論是心照不宣的,還是明確地放棄。如果你引進更多的人,責任就會分散。所以,如果你要引進某個人的話,一定要有充分的理由。

Warner 還認為,大多數組織都應該將重點放在招聘雷厲風行的員工上。這意味著你應該尋找的是能夠向你請教的人,“我今天要怎樣才能做得更好呢?”——而不是整天坐在那裡等著別人告訴自己該做什麼的人。

現在就為自己找到合適的組織結構

任何組織結構都不可能百分之百有效。在構建組織結構時,你需要考慮的是,你正在優化的是什麼,以及下一組可交付的成果。然後圍繞這些進行組織。但完美的組織結構是可望而不可即的,總會有些什麼東西會讓你感到不很穩定,你必須接受這一點。

相信你的直覺

儘管有這麼多的數據和分析,但大多數領導力和創造成功的產品都是一門藝術。要做出正確的決定,在很大程度上依賴於直覺。你的經驗越多,你就越有可能做出正確的決定,因此,要相信你的直覺。

注意事項提示

Warner 在談到打造一支可擴大規模的工程團隊時,提出了幾個關鍵的注意事項。

應該做什麼

  • 不要使用太多的編程語言和框架。使用多個語言和框架來構建系統不是不可以,然而你並不需要 14 種不同的編程語言。選擇一種編譯語言和一種動態語言,然後堅持使用它們。

  • 考慮公司的市場聲譽。 Warner 表示,他喜歡和人事部門交談,因為他們往往比他更了解公司的聲譽。他們知道應聘者在說什麼,也清楚哪些員工要離職,以及離職的原因。

  • 將投訴轉化為解決方案。每當你收到反饋時,一定要問一些關於如何才能做得更好的問題。將反饋和批評轉變成學習的機會。

  • 每天都要將進步作為一個目標。在一天開始的時候,挑一件你想推進的事情,把它寫下來。然後在一天中努力去分享並完成這個目標。

  • 對同事要以人為本。每個人都有辦法更有效地與他人打交道。如果你正在和某人打交道,這要么是一次完全積極的交談,要么是完全消極的交談,但不太可能會是一次中立的交流。即使你在某些事情上存在分歧,也要盡量讓每一次交談都是積極、友好的。

不應該做什麼

  • 擔心工具重複使用。這一問題你可以在以後予以糾正。

  • 捲入炒作。要不惜一切的代價避開成熟度曲線(hype cycles),了解你的“北極星”,並忠於它。

  • 讓員工有“這不是我的工作”的想法。如果有人看到一列火車開過來將要撞到某人,他說“讓別人來處理吧”,這樣他們就失敗了。如果你看到有什麼事情將要發生,就要採取行動去處理。

作者介紹:

FirstMark,成立於 2008 年,是一家主要投資於早期階段技術類公司的風險投資機構,包括跨越整個新興媒體、廣告、遊戲、教育、雲計算、分析和基礎設備等方向。

原文鏈接:

https://medium.com/@FirstMark/githubs-cto-on-architecting-engineering-teams-that-scale-cb79dd6132ae