天天看點

技術與上司的交彙點:軟體工程師的職業選擇

作者:InfoQ

作者 | Ben Linders, Shawna Martell, Peter Gillard-Moss, Brittany Woo

譯者 | 張衛濱

策劃 | 丁曉昀

引言

軟體工程師在其職業生涯中遲早會遇到轉入管理職位的階段。這可能是技術上司職位、團隊上司者、開發經理、(進階)架構師、員工+(staff+)工程師,或者是其他負責管理技術人員的職位。這些資深的技術人員都會問自己一個問題:我應該進入管理角色,還是繼續留在技術崗位呢?

進入管理崗位似乎就像是離開了技術領域,你不得不停止做自己擅長并樂意做的事情。轉到管理崗位可能會令人不适應。這會影響你與同僚的關系,這包括了其他的工程師和公司經理的關系。這可能會讓你思考一個問題:作為一個工程師,我是該這樣做,還是應該繼續留在技術崗位上?

在本次虛拟座談會中,我們将會讨論是什麼因素促使人們成為上司者以及他們是如何做到這一點的。我們還會探讨成為上司者是否意味着必須永遠離開技術領域,以及是否有辦法重回工程領域。

參與讨論會的成員:

  • Shawna Martell:Carta 的進階員工工程師(Senior Staff Engineer)
  • Peter Gillard-Moss:DeepL 的進階工程經理
  • Brittany Woods:樂高集團的進階工程經理

InfoQ:什麼因素促使你成為一個技術上司者?當你還是一名工程師的時候,是否有什麼事情讓你立志成為一名上司者,或者什麼事情讓你覺得自己已經做好了準備?

Shawna Martell:在大約 20 年前,當我剛開始從事技術工作時,我隻知道一種類型的上司角色,那就是管理人員。直到工作十年多之後,我才聽說“個人貢獻者(individual contributor,IC)職業軌道”,那時候我已經擔任過兩次管理人員了。如果那時候我知道還有其他選擇,我可能會選擇另一條道路。

管理是一種重要且有價值的上司方式。我不會假裝自己已經為管理或上司工作“做好了準備”。我要是這樣做,就是在你面前說大話而已。當我接到第一個管理職位時,我是非常猶豫的。最終說服我的是來自經理的鼓勵。這進一步說明優秀的管理者對任何組織來講都是至關重要的。

但是,管理和上司并不是一回事兒。作為進階員工工程師,我現在是一位上司者,而不是管理者。我現在依然感覺自己沒有準備好擔任進階員工工程師的上司角色,但同樣幸運的是,我身邊有很多人鼓勵和支援着我。

我之是以承擔上司職務,是因為我信任的人鼓勵我這麼做。我一直擔任上司職務,這是因為我真正熱愛這種工作。

上司者是組織者、啦啦隊長和具有遠見的人。他們利用自己的影響力讓周圍的人變得更好。

Peter Gillard-Moss:在這方面沒有明确的原因。早期,我認為這是職業發展的需要,而且我感覺自己能夠把這項工作做得很好(可以說是自負吧)。第三次我并不情願,但是有人看出了我的潛力,鼓勵我去做。

我前兩次轉為上司者并不成功。第三次我正準備放棄時,我遇到了一位好教練,他讓我得以扭轉了被動的局面。

Brittany Woods:對我來說,擔任首席工程師最有成就感的一點就在于培養身邊的人,不是從技術角度思考問題,而是從如何融入更大的願景來思考問題。在這個階段,我們已經開始制定路線圖并向進階上司層介紹和協調項目,是以至少在這方面,我已經為下一步做好了準備。

InfoQ:作為工程師,你所具備的哪些技能或素質有助于你成為一名管理者或技術上司者呢?或者,在這個過程中,你發展了哪些缺失的技能呢?

Shawna Martell:我的第一個角色是所謂的“混合角色”,擔任上司隻是我工作職責的一部分,也就是很多地方所說的技術主管經理。我仍然負責工程任務,但是我也有一些直屬的下屬。我知道這種類型的角色可能會引起争議,我也了解其中的原因。對我來說,我可以輕松地花費很多的時間做技術相關工作,直到我的頭銜發生變化。我對日常工作中的工單(ticket)和拉取請求非常熟悉,這是在人員管理工作中所不具備的。

在此之前,我唯一的管理經驗就是……每個員工隻能被一個人管理。我想我的經曆也是很多人進入管理職位的原因:我是一名出色的工程師,現在恰好有一個管理職位的空缺。在日常工作中,我已經在上司團隊并配置設定任務,是以順理成章地添加了人員管理的職責。

我所欠缺的是如何應對上司崗位上的人際挑戰。該如何幫助解決人際關系問題,而不僅僅是技術問題?我從我的經理身上尋求了很多的支援,而且讀了很多的書。對于新的管理者或有志于此的人,我現在推薦閱讀“Creating Magic: 10 Common Sense Leadership Strategies from a Life at Disney”和“The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change”。

在我第二次擔任管理者幾年後,我成為了一位期待大展宏圖的總監,我知道在總監的崗位上會涉及一些商業和金融方面的概念,而我的計算機科學碩士學位并不能幫助我了解這些概念。是以,我決定重返校園,讀取了 MBA。我并不認為每個上司者都需要去讀商學院,但我很高興我這麼做了。即便現在我重新回到了個人貢獻者的角色中,但是在讀 MBA 時學到的市場營銷、品牌塑造和金融方面的概念依然非常有價值。

Peter Gillard-Moss:偉大的工程師和上司者有三個共同點,即善于溝通、知道如何進行設計才能使事情簡單化,以及善于診斷問題。這其實就是工程師每天在代碼中都在做的事情。我怎樣才能使代碼的意圖清晰明了?如何確定某個方法帶來的價值與另一個方法帶來的價值保持獨立?如何從系統層面的錯誤行為快速排查出何處引發了該問題?

當成為一名管理者時,這些都會成為你的長處,進而帶來真正的優勢。你隻需要通過不同的視角運用它們即可。我們是否像處理代碼那樣明确傳達了我們的意圖?我們是否消除了歧義?團隊有明确的目标嗎?這種傳遞是一次性的,還是某種模式的一部分?

通常來講,我們缺少的是如何将這些技能與人類的行為結合起來。隻要有了好的答案,我們不需要說服計算機,隻需下達指令即可。但是,對于人類,情況卻并非如此。

Brittany Woods:我一直非常擅長溝通,能夠在企業内部建構良好的關系。作為上司者,這對我的日常工作是非常有幫助的,因為我每天都要與其他團隊或利益相關者建構良好的關系。

正如我之前提到的,我非常喜歡培養他人。當我還是一名工程師的時候,我發現自己經常教導别人如何做事,或者在與其他工程師的關系中擔任導師的角色。這也是進入上司角色後需要具備的一項重要技能,在我看來,這不再是你自己的事情,而是要學習如何幫助周圍的人和團隊成長。

InfoQ:作為技術上司者,你面臨過哪些挑戰,又是如何應對的呢?

Shawna Martell:冒名頂替者綜合症(imposter syndrome,這是一種心理狀況,特征是持續懷疑自己的能力或成就,并伴随着擔心被揭穿為騙子的恐懼,即便有事實證據證明自己一直在取得成功——譯者注)是我職業生涯中最大的障礙。它讓我對自己産生懷疑,而缺乏自信是難以掩飾的。我通過對他人坦誠一切來解決這個問題,而令人驚訝的是,我經常遇到有同樣困擾的人。

我非常敬佩的一些人居然也有冒名頂替者綜合症!知道自己并不孤單是一個巨大的資源,當你需要支援的時候,通過這個群體能夠讓一切都好起來。

Peter Gillard-Moss:作為技術上司者,你需要與其他學科的人協作,并将技術問題納入到工程之外的決策中。在很多組織的流程圖中,都将技術放在流程最後的一個名為“傳遞”的方框中。再加上與工程師打交道是你的舒适區……

但是,作為技術上司者,你必須對品質、變更速度和可擴充性等問題負責,但是你卻無法直接控制這些問題,因為它們在很大程度上受其他領域同僚(如市場、産品、财務、設計等)決策的影響。我們可能會陷入這樣一個誤區:盲目地認為我們必須在這些限制下工作,并且僅在工程方面做出妥協。

解決這種問題的唯一辦法是将可見性引入到工程中,這樣其他人就可以和你合作,做出更好的決策。這并不意味着讨論技術債、整潔代碼、重構等等。這代表着,要了解什麼才是對他們重要的事情,并幫助他們了解實作目标所需的權衡。這意味着從你認為的正确事情開始,然後雙方協商該做出的妥協。

Alfred P Sloan 給年輕時的 Peter Drucker 的建議在這裡非常适合:“我對你的唯一訓示就是,把你認為正确的東西記下來。不要擔心我們的反應。不要擔心我們會喜歡這個還是不喜歡那個。最重要的是,不要擔心為了使你的結論得到接受可能需要做出的妥協。在這家公司中,每個主管都知道在沒有你的幫助下如何做出可以想到的妥協。但是,你必須先告訴他們什麼是正确的,否則他們無法做出正确的妥協。”

Brittany Woods:作為科技領域的女性,尤其是科技領域的女性上司者,總會遇到各種挑戰。我認為,在我的職業生涯中,我經常遇到的挑戰之一就是如何確定自己的聲音能夠被聽到。

我絕對無意為技術領域的所有女性代言,因為每個人都有自己的經曆。但對我而言,我注意到有些人有打斷對話或主導交流的傾向,尤其是當有女性試圖推動解決方案或想法的時候。

對此,我的補救措施是不斷提醒自己,我不僅可以在必要的時候堅持自己的觀點,像其他人那樣占據談話空間,而且還注意為其他人保留白間。如果我的團隊中有人難以發出自己的聲音,或者我知道他們想發表意見卻保持了相對安靜,我會直接了當地詢問他們,并為他們留出回答的空間,而不是讓其他人越俎代庖。

我希望有人也能夠為我采取這樣的小舉動,尤其是在我職業生涯的早期,現在我一定要為我的團隊成員做到這一點。是以,作為上司者,我一定會做到這一點,并且鼓勵其他的上司者在談話中注意傾聽他人的意見。

InfoQ:你是如何上司高績效技術團隊的?具體來說,你學到了哪些在團隊中有效和無效的東西呢?

Shawna Martell: 從管理的角度來思考這個問題,高績效團隊需要管理者為團隊成員提供兩樣東西:

保護他們的時間,確定他們能夠解決正确的問題;

讓其他人不要礙事,以便他們能夠解決問題。

高績效團隊有一個最大的優點,那就是他們通常能夠讓任何情況都會變得越來越好。這也是高績效團隊最難做的事情之一,因為你不可能讓他們做所有的事情。

高績效團隊的成員也是樂于助人的。他們希望讓周圍的人和環境都變得更好!這是非常好的事情,不過也可能成為一個挑戰,因為每個人都樂于助人,他們可能會被卷入很多的事情,他們有能力提供幫助,但是這并不意味着他們有義務這樣做。如何确定哪些事情值得他們花費時間和注意力呢?

這個問題的解決是一門藝術,而不是科學。作為管理者,你不能每小時都盯着你的團隊,確定他們的每分鐘都“正确”地度過。你也不能假定他們知道哪些請求可以被忽略,或者其他團隊能夠正确地珍惜他們的時間。

我發現最有效的方式是,采用對團隊中每個人最有效的方式來記錄他們的時間。無論是在每周的 1:1 會議上列出他們關注的事項或更新,還是維護一個顯示他們目前正在進行和即将開始的工單面闆,隻要有效都是可以的。團隊中難免會出現一些應該由其他人解決的問題,幫助他們盡快将這些事情從清單清單中移除。

如果你是高績效團隊的 IC 上司者,那麼在這方面不會有太大的差異。你可能比管理者更了解團隊的日常工作,保護團隊的時間依然是最高優先級的事情。

高績效團隊也會出現職業倦怠。如果他們的時間沒有得到很好的保護,那麼他們可能會為了應付太多的事情而疲于奔命。

如果能對高績效團隊進行有效調配,并保護好他們的時間,他們就能取得成功。

Peter Gillard-Moss:最重要的是建立信任。隻要團隊相信你的意圖,相信你的判斷,相信你以他們的利益為重,那麼你就可以建立一支高績效團隊。

如果沒有信任,你發号施令,就會認為自己能夠看到結果。于是,你更加賣力地下達指令,期待取得更好的結果。但是,六個月後,你發現每次下達指令,團隊都會說:“嘿,拉倒吧,我們已經受夠了”。因為你是他們的上司,他們不想惹你生氣,也不太信任你,是以他們會采取“向上管理”的方式。這基本上意味着,他們會開始說你想聽的話,以讓你離開他們。因為你給他們帶來了痛苦,他們擔心如果告訴你真相,你可能會采取其他的行為讓事情變得更糟。一旦發生這種情況,就積重難返了。

Brittany Woods:在上司高績效的技術團隊時,我認為有兩件事是“最重要的”,那就是信任和透明。

我始終確定我的團隊成員都知道這一點,那就是我相信他們的專業技能,相信他們對業務的了解,相信他們會幫助我們為公司找到正确的解決方案。我們聘用工程師是因為我們相信他們的技能。如果硬性規定他們應遵循的解決方案步驟,或者更糟糕的是,給他們一個已解決問題的清單,讓他們在方框中打勾,這是對他們知識和經驗的侮辱。

在透明度方面,我確定與團隊成員分享我所能分享的一切。這無疑會建立起他們對我的信任,也能確定他們掌握所有必要的細節,進而做出最佳決策。站在我的立場上,我知道有些東西是不能分享的,但如果它不敏感,而且與團隊的工作密切相關,我就會與他們分享。

InfoQ: 有些工程師渴望獲得“員工+”職位,這樣他們既能保持技術方面優勢,又能承擔上司責任。你對“員工+”職位有什麼看法和經驗?

Shawna Martell:我擔任“員工+”工程師已經快三年了。當有 IC 工程師來找我談話,說他們正在考慮擔任“員工+”角色時,我都會很興奮。根據我的經驗,“員工+”角色是職業生涯中的一個範式轉變,不同于從“IC 軌道”到“管理軌道”的轉變。

我的進階員工角色通常被認為是“人員管理”職責和“工程”職責的混合體。我參與規劃、戰略和産品願景,這些都是我在擔任管理者時做過的事情,同時,我還參與架構、設計和實作(盡管與 IC 角色相比,我不會再做那麼多的實作相關的工作)。

我仍然會經常指導工程師和管理者,幫助他們成長,但我不寫績效考核,不做人數預算,也沒有直接下屬。

“員工+”職位并不适合所有人。很難找到這種整天寫大量代碼的職位。這種職位盡管存在,但根據我的經驗,它是比較少見的。對我來說,作為一名進階員工工程師,我所從事的上司工作是我夢寐以求的。我仍然要參與深層次的技術事項和問題的解決,但我也要努力推動願景和戰略的實作。

我建議所有想知道自己是否适合擔任“員工+”角色的人都去看一下 Will Larson 的“Staff Engineer”或staffeng.com。在我開始擔任員工工程師的那一周,我就閱讀了他的書,這本書讓我的轉變更加順利。

Peter Gillard-Moss: 每個上司者都會有所不同。人們的職業生涯也不是一成不變的。我們不是在工廠生産線上生産帶有指定特性的小部件。是以,必須慎重對待那些将人們推向僵化角色的流程。

同樣,團隊也是如此。績效的機關是團隊,而不是個人。這就需要建構合适的團隊和人才組合,讓人們能夠發揮各自的特長。某個團隊可能需要技術性更強的上司者。其他團隊可能需要更擅長管理利益相關者的人。另一個團隊則可能需要更敏銳的産品洞察力。

就個人而言,當有人具有真正的潛力時(無論是作為上司者還是 IC),我們的目标是為他們找到合适的機會,以提高他們的影響力并加快他們的學習速度。如果這意味着,對他們現在的職業生涯而言,保持更多的技術性是很重要的,那麼你該如何找到達成目标的方法?如何與他們現有的團隊合作,或者在其他地方尋找新的機會?

Brittany Woods: 我個人認為,為工程師建立健全的職業發展架構,與為那些有志成為員工上司者的人建立職業發展架構是一樣重要的。事實上,當較為進階的工程師表達對職業發展感興趣時,我總是建議他們審視一下自己的角色能給他們帶來哪些成就感。

正如之前提到的,我發現在人際交往方面,為他人提供幫助是一種成就感,而在技術方面,在更大的層面發揮價值則是另一種成就感。是以,我想問希望成長的工程師們一個問題:你是在培養他人中能夠找到成就感,還是在解決問題和親自動手寫代碼中能夠找到成就感?

在很多情況下,你越偏向于上司者的發展方向,就越遠離在日常工作中親手編寫代碼和實際解決問題。對于那些能夠在這方面找到成就感的人,我總是建議他們走工程發展的道路。

InfoQ:你有沒有特别想重返技術崗位的時候,如果有的話,你是如何處理的呢?

Shawna Martell:在我的職業生涯中,我曾兩次從人員管理崗位轉回個人貢獻者崗位,最近一次是離開總監崗位,到 Carta 擔任員工工程師的角色。

我曾經認為,我必須在技術角色和上司者角色之間做出選擇,但事實證明并非如此。直到我來到 Carta 工作,我才完全了解了這一點。我非常幸運能在這樣一家公司工作,它給了我自主權,讓我在設計新系統的同時,還能參與一些宏觀的事情,比如改革我們的面試流程或建立工程導師計劃。我知道這不是每個人都能享有的特權,我對此非常感激。

我們每個人在工作中找到的快樂和成就感都是不一樣的,重要的是了解這些東西對你來說是什麼。你可能會嘗試一些不太适合自己的工作,就像我一樣。我在每一次職業轉型中都學到了很多東西,每一次轉型都有助于我成為今天的自己,讓我能夠做着真正熱愛的工作。

Peter Gillard-Moss:是的,經常遇到這種情況。不過,我另辟蹊徑。例如,我非常相信 Genba 實踐(現場巡視——譯者注),是以我會花時間與工程師們在一起,觀察他們的實際工作。這能培養我的同理心和了解力,還能讓我體驗到親手實踐技術的快感。

Brittany Woods: 對我來說,我知道我走在正确的道路上,我還沒有感覺到“躁動(itch)”,也就是回到更加技術性的角色中。我認為在現階段,我已經能夠在保持技術性需求和個人項目之間取得平衡,在做自己喜歡的事情的同時保持技術技能的敏感度。

我明白有人想重新回到技術崗位上,我認識很多人,他們從上司者變成了個人貢獻者,然後又回到了上司者的位置。我認為,關鍵是要在對你重要的事情和能給你帶來快樂的事情之間取得平衡。随着時間的推移,這些能給你帶來快樂的事情會發生變化或轉變,這都是可以接受的。

結論

通常情況下,軟體工程師走上管理崗位,都是得到上級要求或鼓勵的,或者在職業生涯中出現了這樣的機會并感覺已經為這一步做好了準備。他們會利用自己已有的技能,如良好的溝通能力、建立人際關系的經驗、掌握如何進行設計以及能夠解決問題的能力。

人們在管理崗位上遇到的挑戰各不相同,比如冒名頂替綜合症、如何學會承擔責任、技術領域的女性聲音如何讓别人聽到等等。

上司者可以通過給予團隊足夠的時間和空間來開展工作,信任他們,并通過與他們分享自己所掌握的資訊來提高透明度,進而培養高績效的團隊。

在“員工+”職位上,你可以保持技術優勢,并承擔上司責任。“員工+”可能會成為進階軟體工程師職業生涯的下一步,也可能是在管理崗位上工作之後想重返技術崗位時可考慮的一個職位。

原文連結:技術與上司的交彙點:軟體工程師的職業選擇_管理/文化_InfoQ精選文章

繼續閱讀