職業階梯/晉升Career Ladders / Promotions
我如何知道我何時準備好作為軟體工程師進入下一個級別/晉升?當我感覺自己停留在當前水平時我該怎麼辦?
source : https://levelupsoftwareengineering.substack.com/p/career-ladders-promotions?
嘿朋友們👋熱烈歡迎自上一期以來我們的3048位最新讀者🎉很榮幸您選擇花時間和我一起學習。我希望這些文章能為您提昇軟體工程技能和職業生涯提供巨大的價值 — Caleb Mellas,升級軟體工程
在我們進入正題之前,我只想說:你的工程師水準與你身為人的價值無關。
它也與您編寫了多少行程式碼無關。有時,中級工程師比高級工程師編寫更多的程式碼。
它甚至與多年的經驗沒有直接關係。
這與以下方面有關:
- 心態
- 責任
- 技術專長和溝通
- 你如何處理問題
- 領導能力
- 你的影響範圍
是的,高級工程師的收入確實比初級工程師高得多。是的,在你的職業生涯中優化金錢實際上是完全可以的。
只要確保你睜大眼睛並意識到擔任高級+角色並不總是意味著更多的編碼。他們更多的是影響他人和擴大範圍,而不是編寫團隊中最多/最好的程式碼。
好吧,讓我們開始吧
初級工程師Junior engineer
什麼是初級工程師?
初級工程師擁有0–3年的開發經驗。他們通常是剛從大學畢業、自學成才或剛從訓練營出來的人。
他們應該精通一種或兩種語言/框架,並且能夠有方向地建立中小型功能。
在這個級別,工程師主要專注於提高編碼能力並加快工程最佳實踐的步伐。
他們可能會做這樣的事情:
- 透過向遺留程式碼添加缺少的測試來改進現有程式碼庫
- 將舊功能遷移到新框架或元件
- 添加到現有的 api
- 與高級工程師合作處理大型項目
初級工程師需要團隊中其他高級工程師的指導,以確保他們成功,並繼續升級
每個團隊都應該有一個或兩個大三學生。
中級工程師Mid-Level Engineer
什麼是中級工程師?
中級工程師通常擁有3–5年的經驗。
他們應該精通 2–3 種語言/框架,並且能夠在其他工程師需要的指導下建立新功能。
在這個級別,工程師主要專注於增加語言、框架和編碼模式的知識深度,以及開始貢獻和擁有更大的專案。
他們可能會做這樣的事情:
- 為新功能建立一組新的 API、服務和資料庫表
- 為團隊的風格指南貢獻高品質的組件
- 重構並最佳化舊查詢、遺留程式碼或修復複雜的錯誤
他們仍然需要團隊中高級工程師的指導,但他們將能夠自己解決更多事情,甚至為初級工程師提供支援。
資深工程師Senior Engineer
好吧,現在我在努力實現這一目標的過程中問自己多年的問題是:
什麼是高階工程師?我怎樣才能成為其中一員?
高級工程師通常具有5年以上的經驗。他們在多個大型專案中證明了自己的知識深度和熟練程度。他們已經掌握了多種語言,如果他們需要學習新技術或框架,他們很快就能做到。
他們培養了深厚的解決問題的能力以及跨語言的工程知識和經驗。
他們在溝通、專案管理、系統設計和架構經驗、文件計劃以及幫助團隊升級的指導方面表現出色。
在這個層面上,工程師傾向於專注於成為“功能或系統的所有者”,並對其有專業的端到端理解。他們是該領域的“首選”工程師。
他們應該能夠:
- 計劃、研究、分解並成功完成一個大型項目
- 識別並修復複雜系統中的問題
- 領導一個由多個貢獻者參與的項目,包括編寫技術規格、幫助確定衝刺優先事項和規劃、概述測試計劃等。
- 進行、有幫助且及時的程式碼審查
- 提供指導、技術面試、入職培訓、文件 — — 幫助團隊升級的事情
- 成功處理多個優先事項或項目
- 成為其產品領域的力量倍增器
他們還幫助制定設計標準並塑造良好的工程文化和實踐。
主管工程師Staff Engineer
什麼是專職工程師?
普通工程師比高級工程師稀有得多。
他們是你聽過的 Meta 或 Netflix 的 L6 級及以上工程師,年薪超過 40 萬美元。
那我們為什麼不都成為專職工程師呢?
哈哈,如果這就像當軟體工程師 8 到 15 年一樣容易的話 — — 我們可能都會達到那個水平 — — 但這並不那麼容易。
需要極度專注、指導、培訓和真正的動力才能繼續升級到員工層級。
好吧……那麼高階工程師是什麼樣子的呢?很高興你問了。
在新創公司,工程師通常負責影響和技術上領導多個團隊。
在較大的組織中,他們可能會組成一個包含 10–25 名工程師的較大團隊。
他們與工程經理和產品經理密切合作,共同擁有整個團隊和各種專案的工程文化、技術解決方案和系統的成功。
他們與高級工程師的主要區別在於擴大了影響力和範圍。
在這個級別,工程師致力於處理大型、非常複雜和重要的技術和業務系統的解決方案。
他們為組織中的所有其他工程師設定了標準。
以下是高級+/職員級工程師應該了解的 7 個特徵:
- 交付和建模最高品質的工作
- 圍繞測試、部署、監控、擴展等方面的最佳實踐影響組織的文化。
- 發現技術或組織系統中的痛點或弱點,並提出並領導解決方案
- 領導具有明確可交付成果和可能跨越多年的里程碑的複雜項目
- 利用設計、產品、安全、資料科學領域的跨職能領導者來實現團隊目標/項目
- 提供強而有力的口頭和書面技術/業務溝通
- 提供指導、技術面試、入職培訓、文件 — — 幫助團隊升級的事情
普通工程師實際上可能比高級工程師編寫的程式碼少,但他們的影響力和工作範圍會大得多。
他們經常與工程經理合作,以擁有跨團隊和專案的工程文化、技術解決方案和系統的成功。
他們是力量倍增者、技術所有者和工程文化導師。
但我怎麼才能達到新的水平呢?我感覺被困住了。
不知道如何在職業生涯中達到新的水平?試試這三件事。
1/ 在你的腦中進行下一個層次的操作。
當我還是一名高一學生,試圖升上高二時,我不知道如何到達那裡。
我試圖“成為更好的開發人員”,但這對我來說太模糊了…
我終於和我的經理坐下來討論了對我在下一個級別上的表現的期望。
我在心裡想著我已經升職了。
我開始研究我們談論的一切。
在更高層次上思考改變了我的行為,並最終使我成為團隊中更值得信賴和尊重的成員。
在我的思想、行動中達到更高的水平,然後告訴我的經理和其他人我想為此努力,這是我獲得晉升的關鍵。
不幸的是,沒有人只是在進行促銷活動。您必須明確表示您想為此努力,並與您的經理和其他人合作完成它。
按照這種方法,當晉升時,人們應該說:“等等,他們還不是高級 2 級嗎?”
2/ 思考“如果我是我的經理,我想知道什麼?”
這就是所謂的向上管理。
對於希望成為技術主管的我來說,這是一個巨大的解鎖。
我坐下來思考如果由我來管理我會是什麼樣子。
- 我需要知道什麼?
- 我會建議自己改進什麼?
- 我在哪裡做經理希望看到的看不見的工作?
這開始了我的思想和行為的轉變。
- 我開始幫助團隊圍繞衝刺和專案目標團結起來
- 我開始提供要點更新,直到大量文字段落。
- 我擔任自己的專案經理,而不是將其留給我的 EM 或 PM
- 當事情偏離正軌時,我會向專案提供最新信息,因為我知道他們希望了解如何幫助專案重回正軌。
這種新的思維方式最終對我的成長產生了巨大的影響。
那一年我的績效考核結果超出了預期。
3/ 與比你高 1–2 級的人交往。
讓你達到當前水平的東西不會讓你達到下一個水平。
這就是為什麼花時間與比你高 1–2 級的人相處是如此重要。
他們會向你展示一種不同類型的思維和行動,當你陷入日常工作的苦差事時,很難看到這些思維和行動。
- 您將了解他們如何思考並確定工作的優先順序。
- 您將了解您不知道的架構會議。
- 您將了解企業重點解決的難題。
- 您將了解他們正在思考和合作的 RFC。
- 有時,您會發現增加更多價值的最佳方法不是更多編碼,而是幫助指導其他希望提升水平的人
您是與您相處時間最多的 5 個人的總和。
確保其中一些位於您之前。
提醒:我們都從某個地方開始
哇,太多了。
只是提醒一下,在我自己的旅程中,我的資歷越高,我就越意識到軟體工程是一個無盡的前沿。J
是的,我知道更多 — — 但我也在研究更複雜的問題和專案。
我們都從某個地方開始,每天都以各種方式升級 1%。 🚀 無論你身在何處,都要繼續前進。
好了,這就是本週的全部內容。這個有幫助嗎?
附:您的工程之旅處於哪個階段?
我很想聽聽你的消息。未來一兩年你想在哪裡?
請在評論中告訴我
直到下週
每天在LinkedIn 上關注我Catch me daily on LinkedInLinkedIn,我會談論軟體工程、新創公司以及工程軟技能成長的所有內容。
— — 迦勒– Caleb
附:如果您覺得本文有幫助,請不要忘記按讚、留言並與他人分享!