六年軟件工程師生涯:我學到的五個慘痛教訓
譯文作者丨Jordan Cutler
編譯丨諾亞
出品 | 51CTO技術棧(微信號:blog51cto)
作為一名高級軟件工程師,我在迄今為止的職業(yè)生涯中領悟到了五大教訓。可以說,這五個教訓塑造了今天的我。當然,這些教訓僅僅基于我個人的經驗。您可能有過不同的經歷,我的分享只是為了避免一部分人重蹈我的覆轍!
1.教訓1:提出解決方法,而不單單是問題
當時我在一個團隊中擔任高級工程師職務,我們團隊依賴于另外兩個兄弟團隊提供的數(shù)據支持。
問題來了:我們從其中一個兄弟團隊獲取的數(shù)據響應速度極為緩慢,由于向他們請求數(shù)據需要500毫秒至4秒的時間,這就導致了客戶看到的加載時間長達3秒甚至更久。
那個團隊也意識到了這個問題的存在,但他們正忙于應對各種優(yōu)先級相當?shù)母偁幦蝿?。更糟的是,我沒有使情況得到任何改善。
我在團隊回顧會議和團隊溝通渠道中多次提及這一問題。單就指出問題而言,這并不是什么壞事。但我的態(tài)度傳達出的信息是:“這是你們團隊亟需解決的一個嚴重問題”,而不是“我們能否共同合作找出解決方案?”這樣的協(xié)作態(tài)度。
直到我的經理給出反饋后,我才意識到我當時這么做的問題。
我本可以安排與該團隊的一位負責人進行一對一交流,共同制定解決問題的計劃,而不是僅僅提出問題,讓任何人因問題而感到沮喪。盡管我的初衷是為了改進我們團隊及客戶體驗,但我本可以在解決問題的過程中采取一種方式,讓我們整個團隊都能在這個過程中感受到積極正面的影響。
比如像這樣:端點的性能問導致客戶的加載時間超過 3 秒。我很樂意與您合作共同解決這個問題。我能提供什么幫助嗎?
2.教訓2:干凈代碼并不是終極目標
作為一名初級工程師,我在代碼審查時極其嚴苛,堅決不讓任何在我看來“不夠美觀”的代碼進入生產環(huán)境。結果這讓我的一位同事對我相當不滿。
此事最終被上報給了我的上級經理,我們三人之間進行了一次對話并解決了問題,但這并非是一個令人愉快的局面。而且在這次事件之后,我并沒有吸取應有的教訓。
雖然我稍微有所收斂,但隨后又因為我的評論意見,與另一位同事產生了分歧。
我們在GitHub上進行了多輪來回評論,雙方關系因此變得緊張。
我當時詢問了我的上級應該怎么辦,他反問我:“如果你放棄一半的評論意見會怎樣?每一條評論都值得爭論嗎?”
我的回答是:“代碼可能會稍微不那么整潔。”
現(xiàn)在仔細想想:為了追求“代碼整潔”,是否值得犧牲你與同事之間的和諧關系呢?答案顯然是否定的。
于是,我開始對評論意見變得寬松。我減少了評論次數(shù),明確區(qū)分哪些是小瑕疵,并且大部分時候我都選擇批準,除非我有嚴重的疑慮或擔憂。
結果如何呢?我的關于小瑕疵的評論更容易被接受。我和同事之間建立了信任關系。他們不再感覺受到攻擊,而是覺得我們是在共同合作。
保持代碼整潔并非最終目的,協(xié)作才是。
3.教訓3:團隊產出大于個人產出
我有一個壞習慣,就是在從事主要項目時容易被我能做的代碼改進工作分散注意力。當然,適度地進行這種改進是可以接受的,畢竟在前進的過程中優(yōu)化事物是有必要的。
但我會承擔起一些完整的改進計劃,比如對于JavaScript代碼中的某些部分感到不滿意,進而決定將40多個文件轉換為TypeScript,并提交審查。
幸運的是,至少我所做的事情通常都是組織內部已經達成共識的改進計劃。然而,我沒有充分認識到更大的全局性問題。我提交審查的所有代碼不僅僅是占用了我的時間,同時也占用了隊友們審查的時間,并且對我們團隊來說,合并和部署未預先規(guī)劃的工作意味著額外的風險。
我當時本可以專注于推動團隊業(yè)務發(fā)展,例如:
* 向我的上級詢問他們的首要關注點,并集中精力解決這些問題;
* 尋找方法協(xié)助團隊完成任務;
* 處理客戶服務團隊轉交的bug報告。
那時,我過于專注于自己想做的事情,而忽視了團隊的高級別目標以及如何推動這些目標向前發(fā)展。
有幾件事讓我意識到這一點。我的一名指導對象,另一位高級工程師,在短短6個月內就獲得了晉升,原因就在于他具有這樣的專注力。
他能夠以極快的速度完成預期的工作,然后利用剩余時間來解決團隊及其合作伙伴(如客戶服務團隊)面臨的最大問題。
專注于團隊成果,而非個人成果。
4.教訓4:適應你的老板
盡管我們都希望能有一份與上司相處的萬能指南,但實際上唯一有效的指南是那些教你如何適應不同上司的方法。
在我的職業(yè)生涯中,我曾有過五位直屬上司,每次都需要針對具體情況做出適應。
舉例來說,當涉及到晉升或職業(yè)發(fā)展規(guī)劃時,有些上司會非常主動,明確告訴你需要做什么。而另一些上司可能由于工作繁忙,無法給予你那樣的關注。在這種情況下,我不得不主動為自己制定一份計劃,并尋求反饋意見。
5.教訓5:影響力不在于措辭
長期以來,我一直閱讀關于影響力和說服力的書籍,試圖找出如何措辭以增強自己的影響力。
我聽到過這樣的建議:“讓人們先答應一個小要求,這樣他們在面對你的下一個請求時就已經處于‘愿意答應’的心理狀態(tài)?!被蛘?,“使用‘你是否愿意考慮’而不是‘你能否’,因為人們希望他人認同自己思想開明,他們會把‘愿意考慮’與開放心態(tài)聯(lián)系起來?!?/p>
請注意,這些技巧確實有所幫助,并且在適當?shù)那闆r下我會運用它們。但在影響力方面,它們并不是最有效的手段。
最具影響力的舉動其實是建立人際關系。
我敢打賭,你不需要絞盡腦汁去思考如何向認識多年的好友提出請求,這是因為你們之間有著深厚的關系,朋友了解你的意圖并且愿意提供幫助。
當我意識到這一點后,我把重心從“措辭”轉移到了建立關系上。我開始與隊友定期進行一對一交流,更多地贊揚他們的優(yōu)秀工作,并抓住更多機會去支持他們。正是這種方式幫助我提升了影響力。
重點在于建立充滿信任的人際關系——這樣一來,你甚至無需擔心如何去提出請求。
6.小結
長話短說,簡單總結一下。
教訓1:提出解決方案,而不是問題。重點展示你如何支持需要幫助的團隊,即使只是作為顧問。
教訓2:整潔的代碼并不是最終目標。與團隊有效協(xié)作比確保每一行代碼盡可能干凈更重要。
教訓3:團隊成果 > 個人成果。你花時間做的事情應該與能給團隊帶來最大影響的事情直接相關。
教訓4:適應你的上級。每個老板的領導風格都會有所不同。了解如何適應其風格和目標,以實現(xiàn)最佳的集體成果。
教訓5:影響力與措辭無關。專注于建立以信任為基礎的關系。這比你如何選擇你的表達技巧更重要。
參考鏈接:
https://careercutler.substack.com/p/5-lessons-i-learned-the-hard-way