怎麼給程序員做職業規劃?

{"type":"doc","content":[{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"程序員的中年危機","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"程序員崗位是喫青春飯的嗎?如果不是,爲什麼行業裏一直在說35歲之後不好找工作?如果這個現象確實存在,管理者又能做點什麼呢?","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"工作上,我們很少看到有35歲以上的普通開發人員。看到的也都屬於技術+管理崗。我去網上查了下數據。獵聘的《2020程序員人才大數據洞察報告》顯示,48.84%的程序員年齡在25~30歲之間,16.83%的成員年齡在20~25歲之間,也就是說絕大多數程序皆是90後。35歲以上的程序員數量只佔程序員總數的不到10%。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#FF7021","name":"orange"}}],"text":"從數據上看,程序員們的“中年危機”絕對真實存在。","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","text":"爲什麼有這種現象?","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果要我回答,我認爲原因有兩個","attrs":{}}]},{"type":"numberedlist","attrs":{"start":1,"normalizeStart":1},"content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"很多程序員基礎底子並不好,在技術這條路上晉升的話,很容易到其天花板。工資漲到一定程度也上不去了,出去也找不到更高的薪資。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":2,"align":null,"origin":null},"content":[{"type":"text","text":"另一個原因是,技術有生命週期,有些可能幾年,十幾年。導致程序員需要持續去學習新技術,如果技術上無法保持更新,公司出現不穩定,就容易成爲公司的優化對象。","attrs":{}}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"歸根到底,是個人的性價比變低了。獵聘網的數據顯示,工作時長爲3~5年的程序員平均年薪爲17.89萬元,3年後,他們的薪水會增長至21.89萬元,5年後,他們的薪水會漲至24.21萬元,10年後,35歲左右的他們平均年薪漲至26.92萬元。","attrs":{}},{"type":"text","marks":[{"type":"color","attrs":{"color":"#FF7021","name":"orange"}}],"text":"新人與35歲程序員的年薪相差了9萬元,公司付出的成本絕對不少於10萬。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"27萬的平均年薪不算低了,你拿這麼多工資,就得創造比這更大的價值。創造不了,只能“降價”。所以圈子裏纔會有”程序員35歲之後,越老越不值錢“一說。而與之相對的,35歲這個年齡,正直上有老要養,下有小要養。需要用錢的時候。所以這是我們遲早要面臨的一個困境。","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"幫助員工成長,做好職業規劃","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們經常說要幫助員工成長,怎麼幫助?我覺得幫助其把職業規劃好,就是一個非常好的抓手。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我跟一些同事討論過未來規劃,這個事大家基本都想過,但都沒有想清楚。基本上都是走一步算一步。這不怪你,人的大腦就是這樣工作的。因爲未來還太遠,所以總是不着急。但我的經驗告訴我,越是重要的事情,越應該早做準備。","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","text":"程序員的職業規劃大概有這麼幾條路","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":5},"content":[{"type":"text","text":"1. 專注做技術,磨練自己的業務和技術。","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":5},"content":[{"type":"text","text":"2. 轉型做管理。一種是重技術+ 輕管理。一種是重管理,輕技術。","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":5},"content":[{"type":"text","text":"3. 轉型產品、運營、項目經理、銷售、講師等其他崗位。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不管選擇哪一條,核心都是一條。你有什麼地方是優於其他人的?","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"專注做技術","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果選擇你第一條,那你需要問自己,你在技術哪一方面優於其他人?對於走技術路線的,我建議在以下某一個方面先做到行業裏前2%","attrs":{}}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"基本功過硬。如果你能寫出的代碼比別人更好(無bug、易懂、易維護、可擴展等等)。我沒見過有人敢說完全沒bug。全世界bug最少的軟件:Tex。其創造者高德納出資懸賞找到bug的人,懸賞金額呈指數增加(2.56、5.12、10.24、20.48、40.96……)。最後只找出3個bug。不得不說,這世界確實存在天才。也因此,普通人要更加努力。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"經驗豐富,編碼效率高。我見過有着豐富工作經驗的人,有自己的代碼庫。別人寫一個功能模塊需要一天,他半小時就搞定了。有經驗不僅僅體現在業務上,也體現在解決問題的積累,編碼的積累等。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"懂業務。懂業務意味着你寫的代碼擴展性會更好。在於產品經理溝通時也會更通暢,甚至給產品經理提供更好的實現思路。另外要轉型其他崗位的話,懂業務是必須的。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"專注一門難度極高的領域。比如專注算法,做一個算法工程師。或者做架構,做一個架構師。這類崗位目前對公司非常重要,招錯了成本大,市場溢價會高,生命週期也會更長。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"通用底層能力:溝通能力、解決問題能力、執行力、工作態度等通用能力。很多人都小看了工作態度這項能力,一線管理者的工作狀態基本就是團隊工作狀態的縮影。","attrs":{}}]}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#FF7021","name":"orange"}}],"text":"如果你沒辦法在某一個領域裏做到前2%,那麼在多個領域裏做到前20%也非常不錯了。比如,你技術能力做到前20%,溝通能力也能做到前20%。那你就是前4%最會溝通的程序員。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"你要是覺得前2%很難,改成5%也行。問題在於我們沒辦法去考覈這些量化指標。其實我想表達意思是,專注技術必須要有明顯的競爭優勢,也就是你的長板。在團隊裏,能力太平均了很容易被優化掉。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"轉型管理","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果你選擇第二條做管理。那要提前做好準備。正常情況下,管理崗位是稀缺的,你需要付出很大的努力才能獲得。至少要先證明自己能夠勝任管理崗。一般早期加入創業公司,隨着公司發展起來的,更容易獲得管理崗位。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"小公司的技術能晉升的崗位並不多,常見的也就三級:小組長/研發Leader—— 技術總監—— CTO。有些公司技術總監就是CTO。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"小組長/研發Leader:一般管理3-5個人。主要工作:","attrs":{}}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"任務管理:評估工作量、定位開發流程、跟蹤項目進度。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"質量管理:代碼重構計劃、代碼複查、技術難點調研、制定研發方案。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"團隊技術能力提升:招聘面試、新人指導、技術分享、項目覆盤等。","attrs":{}}]}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"小組長的大部分時間其實還是在具體實現上,小部分時間會放在管理上。而且這些管理工作大部分也是和實際的工作有關。原來自己給自己拆解任務定工作量,現在要幫助組員拆解,原來自己做實現,現在需要學會分配一部分任務交給組員做。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"技術總監:一般管理人數在20+。主要工作:","attrs":{}}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"組建團隊:招聘面試,培養團隊小組長。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"設計組織架構:根據產品規劃崗位需求。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"設計平臺架構:根據產品選擇技術棧,解決軟件系統複雜度帶來的問題。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"項目管理:協調項目資源,提高項目效率,保證項目按時上線。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"組織文化:塑造企業文化、激活團隊活力、打造學習型組織氛圍。","attrs":{}}]}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從中可以看出,技術總監具體的編碼實現功能相對會少一些。與人和項目打交道的時間會更多。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"CTO:主要工作是用通過技術手段實現公司目標。具體工作偏向於管理,本身可能已經不寫代碼了。當然這也看公司大小,小公司CTO還要做技術總監的活。除了技術方面的一些前瞻性把控,CTO還需要參與商業決策,制定公司戰略,做好資源分配和績效考覈。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"另外,創業公司的CTO拿的薪資可能比技術總監低,但如果公司做成功,可以獲得不菲的未來收益。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從崗位職責上可以看出,小組長的管理難度並不算大,對大部分人來說,如果有晉升機會一定要去嘗試。對於大多數員工,能做到哪一步要靠自己。","attrs":{}},{"type":"text","marks":[{"type":"color","attrs":{"color":"#FF7021","name":"orange"}}],"text":"管理者要做的就是讓員工看清楚前面有哪些路。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當然,也有些人是不適合轉管理的。這個管理者自己一眼就能看出來。","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","text":"不適合轉管理崗的特徵","attrs":{}}]},{"type":"numberedlist","attrs":{"start":1,"normalizeStart":1},"content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"喜歡和機器打交道,不喜歡和人打交道。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":2,"align":null,"origin":null},"content":[{"type":"text","text":"更喜歡自己去實現功能業務,享受實現過程。","attrs":{}}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"世界上有沒有那種被管理工作耽誤的技術大牛?有,但很少很少。畢竟,個人能力有限,想做成大事就得與人溝通合作。懂點管理是不是更容易做成事?而且相比於專研技術,轉管理更容易。我建議每個程序員都應該到小組長的位置上先嚐試一下。如果你確實發現自己不適合,可以重新去鑽研技術,做一個某領域裏的技術大牛也可。只要你具備別人創造不了的價值,薪資是絕不會低的。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"初入管理者很容易犯一些錯誤,如果公司有條件,可以安排一些管理方面的工作給員工適應。比如做會議的主持人。下面是我總結的常見錯誤,可以給初入管理者做參考。","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","text":"初當管理者常犯的錯誤","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":5},"content":[{"type":"text","text":"一、難的事情都自己幹","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一般團隊裏組長在技術上是最厲害的,組長攻克技術難點,邏輯上是很合理的。但深思一下,如果每次都是組長做最難的任務,那組員還能得到成長嗎?","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":5},"content":[{"type":"text","text":"二、對組員要求很高","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我一直覺得對組員要求高是沒有錯的,有要求才有成長。但每個人的能力大小不同,做出的效果也必然不同。用自己的能力去要求所有人,這樣合理嗎?","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":5},"content":[{"type":"text","text":"三、組員遇到問題,自己動手給解決了","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"由於工作經驗淺,會遇到很多莫名其妙的問題。而這些問題在你看來可能很簡單,相比於教他原理,讓他解決,還不如自己動手,可能幾分鐘就搞定了。尤其是項目時間比較緊的時候,你自己任務還很多,哪裏有空教?好吧,仔細想想,這是組員請教的目的嗎?","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":5},"content":[{"type":"text","text":"四、不懂項目管理","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"雖然每個人都應該對自己的任務負責,你完全可以分配任務後就完全不管,等到驗收的時候在發現問題。延期了,你可以扣他們績效,但這是你想要的嗎?","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"人是有惰性的,如何發揮組員的主觀能動性,如何通過流程助推項目,這點也是組長需要思考的。","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":5},"content":[{"type":"text","text":"五、不會開除人","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"組長一般面試第一輪,就算面的不好,還有總監把關。但人招進來後,做得好不好,組長是感受最深的。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"要問自己,這個人做的好不好?能否培養?試用期表現如何?如果他沒能達到你的預期,你爲什麼不開除他呢?","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"轉型其他崗位","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果你選擇第三條路,想轉到其他崗位,那麼應該提前輪崗,去感受一下該崗位的核心能力是什麼?思維方式是怎樣?是否合適要試過才知道。在這一塊,管理者能夠的就是給予員工換崗的機會。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"總結,管理者需要幫助員工做規劃,幫助員工認識到前面有哪些路,需要哪些技能。還是那句話,","attrs":{}},{"type":"text","marks":[{"type":"color","attrs":{"color":"#FF7021","name":"orange"}}],"text":"越是重要的事情,越應該早做準備。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/ad/ad69aeb0b7dfe7db14d1ea0007bbff49.webp","alt":null,"title":"","style":[{"key":"width","value":"100%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章