非技術人羣成就10倍工程師:我學習到的最佳工程建議

當我致力於成爲一個10倍工程師時,我開始越來越多地反思人們提出的建議,希望藉此讓自己的工作能力快速提升。一般來講,我發現最好的建議往往來自那些跟我的工作內容——也就是軟件工程方面毫無關聯的人羣。

我很幸運(當然,有些朋友可能覺得這也是種負擔),能夠在某些關鍵系統當中擁有高影響力特權。但這項工作也自然給我帶來了不少自我懷疑甚至是焦慮情緒。隨着時間推移,我發現自己總在面臨類似的挑戰、寫下類似的想法,同時也講述着類似的故事作爲迴應。最有趣的一點是,真正與軟件質量相關的一切因素,似乎都與軟件本身沒啥關係。

1. “像我們這樣的人,是靠填補事物之間的縫隙來賺錢的。”

發言人:美國國家安全局(NSA)高級官員

發言背景:說起我是如何一步步進入美國國安局國務院辦公室的,這個故事可就長了。但其中最值得一提的,是一次堪稱瘋狂的會議,當時有不少非常重要、頭銜顯赫的人物出席,他們也提出了不少非常愚蠢的計算機安全相關建議。雖然這樣的情況後來又出現過不少次,但第一回當然給我留下了最最深刻的印象。我們本打算能跟高層領導來一次富有成效的交流,而不再在三方機構之間進行毫無意義的踢皮球式溝通。我記得會上有一位女士——沒錯,確實是位女士——在她的同事就國土安全部提出的問題做出錯誤甚至侮辱性的迴應之後,說出了這句話來緩和當時的局面。她顯然是想化解衝突,而且我覺得她非常認真地斟酌了自己的用詞和表達。雖然她說得比較隱晦,但其中透出的洞察力非常敏銳而且重要。不同事物之間的接縫最可能引發安全性與可靠性問題。除了文書往來之外,組織結構之間也有不少這樣的接縫。沒人能確定誰擁有什麼,或者由誰來負責某些不太可能進行適當監控的場景,乃至需要持續升級與維護的具體項目。這種縫隙是最讓人摸不着頭腦的所在,有時候問題可能很多年都得不到解決。因此,如果大家的工作是保障安全性或者可用性,那麼從接縫處入手往往能夠帶來最爲可觀的回報。

我如何調整自己的方法:我開始採用一種名爲100:10:1的創造性記錄方法,用以評估並改善軟件系統。

100:10:1背後的基本思路非常簡單:

  • 列舉出100件可能出錯的事物。
  • 在其中選出10項發生機率最高的事物並進行調查。
  • 找到其中最值得關注的1項核心問題。

數字本身並不重要。100:10:1背後的原理,在於我們會產生很多潛在的想法,這時候我們就得學會撈點乾貨,將那些不太直觀、但卻最爲重要的問題整理出來。隨着時間的推移,我們可以不斷深入研究那些發生機率最高的大事,而這份清單也會慢慢縮短。有些想法最終可能被證明是個錯誤,有些想法能夠與其它想法合併,有些則被排除在外——因爲已經有其他人負責接手……最後,餘下的就是大家都沒有注意到的接縫部分。

以這種方式解決問題,也讓我的團隊獲得了更出色的實際表現。一般來講,團隊工作當中最困難的部分就是引導人們提出那些最終可能被排除的想法。人們傾向於自我審查,即避免提出看似存在錯誤的觀點。我們會在心裏算一筆賬,看看誰在交流當中表現得最優秀。而一旦整個團隊都習慣了這種方式,那麼盲點就會出現。幸運的是,人類對概率這事理解得很差——非常非常差。明白了這一點,哪怕是高達95%的錯誤率,我也願意主動提出。因爲只要能發現一個關鍵問題,那麼之前被排除的所有“污點”都會被團隊成員所遺忘。我發現了一些被經驗豐富的工程師們所忽略的問題,並藉此很快成爲同事眼中的超級英雄。

當晉升爲團隊領導者時,這種作法的收益變得更加顯著。我們會討論很多與心理安全相關的話題,我努力引導大家暢所欲言,而且不加太多約束條件。對於我自己這樣一個敢於提出愚蠢問題,同時對各種聲音都有較強包容性的人來講,創造這樣一個大家相互糾正且積極辯論的環境並不是什麼難事。整個過程變得越來越健康,人們不再在心裏琢磨自己的表現,而是像我這位管理者一樣輕鬆愉快地提出自己的念頭。

我發現,提前預設好這樣的場景會很有幫助:我比較傾向於考量極限情況,但卻很難對極端情況做出定義。結果就是,我轉而提出一些無關緊要的情況。在討論某個問題或者某種場景時,所有相關信息基本可以分爲三類:真實的信息、虛假的信息,以及真實但無關緊要的信息。我建立起了這樣一種文化——人們不再刻意迴避真實但無關緊要的信息,這使我們能夠從總體上做出更好的技術決策,因爲每一位團隊成員都能夠立足全局視角獲得更充分的依據。

2. “弄清人們希望你成爲哪方面的專家”

發言人: Leslie Ryan,我的TOEFL講師

發言背景:Leslie負責對我的英語教學能力進行認證。憑藉這項技能,我可以環遊世界,爲那些無法爲我支付工資或者提供簽證的小型非政府組織工作。在我第一次獨自站上講臺之前,他語重心長地向我傳授了這句箴言。令我印象深刻的是,在帶過的每一組學生準備首次站上講臺前,他都會提到這句話。可以想見,這絕對是我需要認真揣摩的金句。

Leslie向我們指出,我們未來面對的大多數外國學生都是專業人士。他們不需要我們傳授商業、法律、醫學或者經濟學知識。他們已經非常精通這些專業,他們只需要從我們這裏學習英語這門語言。他們希望能像使用母語一樣流利地使用英語,藉此補充自己的職業技能。我們應該成爲英語教學方面的專家,這也正是他們花錢聘請我們的原因所在。

來自技術人員的額外建議:“你沒有欺騙任何人,我們很瞭解你是個什麼樣的人”

發言人: Mikey Dickerson,美國國家統計局局長

發言背景:我和Mikey曾在白宮附近位於傑克遜廣場的Jackson Place總部進行過幾次會面。我已經不記得我們具體談過什麼,但我牢牢記得他說出這句話時的情景。Mikey有個習慣,就是用簡短有力的話語結束一段對話。對於很多人來說,那些令人不安、衝突激烈而且無休無止的誤解與傷害一直在內心縈繞,但又無法擺脫——最後,我們都習慣了。

我從沒想到自己也會陷入這種自我指責的情緒,但我當時確實感覺自己不太適合跟統計局的某些人一起工作。即使是在谷歌、Facebook、Twitter、網飛乃至亞馬遜這樣的科技巨頭,底層工程師在剛剛入職時都會出現這種不適應,更何況身處政府機關當中的我?

我覺得Mikey的這句話並沒有什麼太多的深意。他只是在表達當中陳述了真相:統計局方面很清楚,我絕對不是那種最頂尖的軟件工程師。他們清楚我在職業生涯中的位置、我的業務水平以及我的弱點。他們聘請了我,是因爲我似乎比較瞭解如何在政府環境中以可持續的方式完成技術工作。這,纔是他們想從我身上獲得的技能。

在對話當中,Mikey又告訴我,“根據你前三個月的工作情況,我打算向你支付全年的工資。即使你只幹了三個月的活,我也很樂意簽下這張支票。”

在那之後,我不再關心自己在哪裏還有問題和不足,我開始專注於儘可能多地從那些政府工作人員身上學習經驗。

我如何調整自己的方法:在與工程技術團隊合作時,我會認真思考Leslie的意見。大多數工程師們都急切希望證明自己的實力,卻沒有意識到其中不少技能正是團隊中其他成員的本職工作。軟件工程師們可能會突然表現得像個產品經理、設計師、方案編輯甚至銷售人員。然而,其他專業人士對這樣的狀況無所適從,他們不理解爲什麼這傢伙像發了瘋一樣要搞個“一人樂隊”。
當我發現自己渴望用自己的某種能力打動對方時,我會試着問自己,“我到底是靠什麼專業技能加入這個團隊的?”通過這個問題,我很快意識到自己急着炫耀的那些知識儲備,在真正投入大量時間與精力接受科班教育的職業人面前根本不值一提。接下來,我會選擇閉嘴聽他們講,而且效果總是出奇的好。

3. “在你能把事情做得更好之前,首先得避免把事情做得更糟”

發言人: 國家精神病聯盟(NAMI)團隊治療佈道者

發言背景:要說我爲什麼會在2014年夏天參加NAMI的朋友與家庭小組討論會……這方面背景真的太多太雜,本文裏就不具體說明了。總之,我當時欠下1萬4千美元的債務,而且心理上也已經徹底崩潰。但這句話拯救了我。在後來生活逐漸恢復正常時,我意識到自己被迫面對的那些麻煩,實際在日常生活中也隨處可見。換句話說說,問題本來就在,極端場景只是讓它們變得更明顯。

我如何調整自己的方法:作爲一名工程經理,我的大部分工作都是阻止真正優秀的人們實現自己的計劃。而這些計劃往往都有一個共通的開頭——“我一個週末就能自己搞定這事。”

如果你正在爲同事們做事,而且拒絕他們親自動手或者參與這個過程,那麼你慢慢就會失去助力,也會讓同事們越來越依賴你。這樣不好,就算推進速度更快,這樣還是不好。

不久之前,我們的團隊聘請了另一位工程師,他與我們的團隊進行了溝通,並提議把舊系統遷移到新系統當中。他剛剛在之前的團隊裏處理過這方面工作,很有信心在無需我們團隊幫助的情況下再整一遍。他覺得這是他的一大優勢,因爲我們不需要調整現有事務優先級,他也不需要我們的任何幫助。但我說不行。其實這事聽起來挺好的,這位工程師確實很有才華,我爲什麼要拒絕?

理由很簡單,如果其他人幫我們搞定了一切,那我們就不清楚新系統是如何工作的,這樣時間長了肯定要出問題,而最終損失很可能遠高於當前節省下的一點點時間。但其他團隊成員不這麼看,所以我做了妥協——繼續開會討論,交流遷移到新系統的具體步驟。如果聽起來確實很簡單,那我們就接受這位新成員的提議。

事實證明,我們的服務當中存在一些新系統還無法支持的需求。更糟糕的是,其中一些缺失部分其實不存在明確的解決方案。如果允許這位新工程師馬上動手,他肯定會在半途中卡住、直接放棄或者在不清楚背景的情況下替我們做出關鍵的架構決策。

爲他人謀往往起不到預想的效果。如果他們不瞭解你的架構,那麼情況會變得更糟。如果他們不瞭解你的維護方式,那麼情況會變得更糟。如果他們不瞭解你的需求和實現思路,那麼情況會變得更糟。如果他們不關心你之前使用或者構建的成果(畢竟整個過程他們都沒有參與),那麼情況還是會變得更糟。

所以,最好的辦法是補充現有成果,而非一拍腦袋直接搞一種顛覆性的解決方案。沒那麼好的事情。

4. “先向左,再轉右”

發言人: Jesse Teasley師傅

發言背景:我在大約16歲的時候遇到了Jesse師傅。他梳着長髮綹,教我怎麼使用中國的寶劍。他還向我介紹了不少中國的哲學思想,特別是道家思想。

我如何調整自己的方法:道家的核心概念之一,在於對立的和諧。簡單來說,道家承認人類傾向於二元思維:白色與黑色,右與左,軟與硬,好與壞等等。這是我們習慣的思維方式,但往往並不準確。大自然並不在乎這種嚴重的區分,所以二元意識的實用性也就值得商榷。雖然二分法確實能夠通過簡化讓某些複雜的思想變得容易理解,但一旦其核心模式無法匹配,也會使我們極易受到重大錯誤的影響。

道家很清楚,我們這種對二分法的傾向實際上是一種過度優化行爲。如果說在特定上下文中,軟是最理想的特徵,那麼我們就會試圖消除所有的硬元素。如果白色是最理想的,我們就去掉所有黑色。然而,這種極端狀態不僅無法實現,而且其理論也建立在一種與真實毫無關聯的二分基礎之上。這樣的思維後續又對佛教產生了影響,並最終演化出佛教中的禪宗分支。

道家認爲通向真理的道路,在於對二分法進行協調。由於人類不太可能徹底放棄簡單粗暴的二分觀念,因此我們在白色中塗上一點黑,在黑色中塗上一點白。這就構成了道家的象徵——陰陽。
我喜歡聽師傅講這些故事,他以一種務實可信的方式進行闡述,讓一切更貼近生活而非懸在半空。他過去常常提醒我,“要想打人,你得先把手臂收回來,然後才能向前推。如果不這麼做,你就打不出力道。”這就是同一事物中的對立和諧:通過相反的方式,實現正向增強。

我們都知道,假設這東西就是用來被推翻的;但在此之前,我們首先得做出一個假設。相信大家都有感覺,做假設並不容易。道家認爲在找到相反的問題解決途徑之前,先不要採取任何行動。換言之,在使用二分法看待問題時,要承認自己想到的一切都只是假設。

5. “思考也是工作”

發言人: 佚名

發言背景:我總是把這句話跟一位年長的女士聯繫在一起。我最後一次見她,是在讀大學的時候參加一場冬至派對。很難相信,當時我其實沒什麼機會跟她交談,基本根本就不認識她。好吧,我承認,我記不起來這句話是在哪聽到的了,目前想想最靠譜的來源還是她。

我如何調整自己的方法:在個人層面,這句話讓我能更坦然地安排一點自己的時間。我爲什麼要離開辦公室出去散步?因爲思考也是工作。

但它也影響到我管理工程團隊的具體方式。在傳統的辦公環境當中,我常常會告訴團隊成員:如果現在是下午2點,而且你已經完成了今天的工作,那麼沒其它情況的話就早點回家吧。這不是在賣人情,而是讓員工把精力儲存起來。這樣,我們有必要時就能稍微調用一點精力,例如凌晨3點時打電話過去安排點任務。緊急情況總會發生,而且無法準確做出預測。如果大家今天早早回家,放鬆精神並和家人共享了美好時光,那麼這些積蓄起來的精力一定能在日後發揮作用。
我真的很難這麼簡單的道理還得專門列出一條。但很多人都接受過類似的訓練,認爲只要沒看見員工在工作,管理層就會認爲這幫傢伙是跑去偷懶了。

我認爲我的角色既是經理又是執行官。我的工作是將手底下的工程師們賣給我們所效力的這家公司。組織結構的本質在於過度優化,也就是說其終極目標在於讓我們所有的員工都達到無以復加的極高生產力。而要實現這個目標,就必須得有一套經過明確定義的方法與流程,並具備高生產力模式能夠在不同部門間輕鬆複製。

但是,只要稍微翻翻研究資料,大家就會發現這種方式根本指導不了理想的團隊建設或者長期運作。高效的團隊更需要信任。當然,我不是說決策或者指標跟蹤框架沒有意義——它們很有意義,但使用流程代替信任的作法還有另一個名字,“官僚主義”。首先得存在信任,然後KPI、OKR、SLO這類字眼的才能發揮作用。

但隨着時間的推移,信任水平又會自然降低。意大利研究人員Cristiano Castelfranchi與Rino Falcone提出了一種信任模型,他們認爲可觀察性並不是成功的決定性因素。根據他們的理論,模糊而成功的實體,在可信任程度方面甚至不如直觀而失敗的實體。如果我們能夠快速高效地從失敗中走出來,那信任度就會上升;但如果我們一直悄無聲息地奪取一個又一個勝利,則在他人眼中將蛻變爲未知與可疑的綜合體。這就解釋了所謂的服務恢復悖論,即當服務供應商在失敗之後重新恢復服務後,消費者們反而會表現出更強的信任感。

因此,我們必須不斷提醒組織,提醒其僱用了很多自己非常瞭解的員工。雖然在剛剛入職時,組織覺得自己很清楚這幫人的底細,但隨着時間的推移,如果觀察不到員工的直接價值,信任度就會降低,而官僚主義影響也將佔據領導層的思維主體。正因爲如此,人們纔會放棄本來可以享受的假期,在下午2點忙完的時候回家,或者在凌晨看到郵件時選擇不予理會——他們發現了問題的本質,能觀察到的工作結果要比實際工作價值更重要。

很明顯,這會創造出一種讓每個人都越來越消極的文化。員工倦怠、組織效率下降、糟糕的表現令信任度受損、組織官僚作風橫行……我生命中的轉折點,就是我意識到這些問題的那一天。就在這天,我發現想要建立起偉大的工程團隊,我並不需要成爲世界上最頂尖的工程師,而需要擅長推銷自己的團隊成員並把實際情況準確傳達給上頭。我需要讓管理層感覺能真切觀察到團隊的運作,從而保持上下級間的高信任度並杜絕官僚主義佔據上風。

原文鏈接:

https://medium.com/@bellmar/all-the-best-engineering-advice-i-stole-from-non-technical-people-eb7f90ca2f5f

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章