大齡程序員出路

 

目錄

背景

 

路徑一:橫向發展成爲高階程序員,甚至技術專家

路徑二:轉型技術管理

路徑三:轉型產品經理

路徑四:轉型項目經理

路徑五:選擇創業

總結 

參考


 

背景

2020年春節冠狀病毒肆虐華夏大地,特別是湖北省武漢市尤爲嚴重,隨着疫情的不斷蔓延,友邦全力支持和神州兒女八方支援武漢,有俄羅斯,日本和一些東南亞國家相繼伸出援助之手,身在美國李開復,哈佛8劍客科學家等仁人志士愛國人士,相繼回國支援武漢。相信在不久將來國人一定能戰勝病毒,還武漢,中國,世界一個無病毒之武漢,中國,世界。

疫情持續肆虐,各大公司相繼多次出臺春節後職場人員推遲復工時間,畢竟人命關天 ,但是人也要吃飯,也要生活,公司更需要生存,所引各大網絡媒體相繼爆料復工後,相繼會出現裁員潮流,以求生存下來。

程序員就是吃青春飯的,HR在招聘時非常在意程序員的年齡,稍微大齡點的程序員直接都會pass。所以大齡程序員一旦離職找工作就會變得艱難,面對年齡很多程序員都表示束手無策。

 

假設你已經從事程序員這個工作有一段時間,對這個行業有了一定了解,也許你覺得你已經是這一領域的大牛,也許你覺得你還有很多不足,但是不管你當前的位置如何,你都面臨着一個同樣的問題:接下來自己該怎麼走?

換句話說,你要考慮的不是某個函數的代碼怎麼寫,也不是接下來一個項目流程圖怎麼畫,你要考慮的是,未來 10 年、20 年,你該何去何從。

這就是職業規劃,恭喜你,如果你能夠考慮到這個層面,意味着你開始認真思考自己的人生了,這是一個好的開始。

程序員的職業發展路徑並不單一,甚至要比其他職業有更多選擇,你可以選擇在程序員的道路上持續走下去,也可以轉到管理崗位,也可以選擇成爲產品經理或者項目經理,這些職業發展路徑都是程序員這個職業的延伸,你需要付出一些努力,也要接受一些改變,但是絕不是從零開始。

接下來,我們就分別介紹這些不同的發展路徑。

 

路徑一:橫向發展成爲高階程序員,甚至技術專家

 


成爲更高階的程序員,這是最直接的發展方向,也是大部分程序員的選擇,這就像是一個遊戲,通過不斷完成更有挑戰的任務,獲得級別的提升。

每個成熟公司都會有級別劃分,比如,剛招募的大學畢業生是「初級軟件工程師」,工作一兩年之後,會被提升爲「軟件工程師」,再工作幾年,會被提升爲「資深軟件工程師」,當能力和影響力進一步提升,成爲「首席軟件工程師」……我這裏只是舉了一個很粗略的層級晉升制度,實際上每個公司的層級數量要多得多。

這樣的晉升制度,是程序員職業生涯的一部分,但不是全部,等級制度只是爲了方便管理,一個「資深工程師」頭銜的工程師未必能力就比「軟件工程師」更高,這一點我們首先要有清晰認識。當然,我們應該努力提升自己,向更高級別邁進,因爲這樣我們在團隊中可以獲得更大的話語權,也可以獲得更多的薪水,但是,我們不要買櫝還珠忽略了關鍵,職業發展並不只是與資歷和金錢相關,更多的是關於你的能力和影響力,這很重要。

如果你身處成熟型公司,你需要去閱讀一下公司對各個級別程序員的職業要求,如果你找不到,就去找管事的 HR 要,公 司 HR 必須對每個級別的要求有一個明確定義,這種定義將指導你如何提高各方面的能力和影響力。

如果你身處創業型公司,或者你所在公司真的拿不出像樣的級別定義,那麼,可以參考下面的級別定義:

初級程序員,掌握基本的編程技能,但是需要別人的輔導才能完成給定的任務,不能獨立自主完成項目。程序員應該儘早超越這種狀態。
中級程序員,能夠獨立完成一個特定領域的項目,知道如何安排優先級,知道如何處理預料不到的情況,靠譜完成任務。 -
資深程序員,可以融會貫通各個領域,不光可以完成任務,還能夠影響一個團隊,幫助整個團隊完成任務。
首席程序員,不光可以影響一個團隊,還可以影響一個公司或者大部門,可以對程序員團隊的工程策略進行指導,保證整個大團隊都按照最合適的實踐方式前進。
合夥人級別程序員,這可能是程序員職業的頂點了,你的影響不只是一個公司範圍內,而是整個行業範圍內,你的工作是開闢新的領域。

要注意,並不是說在互聯網上吵吵的網紅就是這種級別,能達到這種級別的是 Linux 這種開創某個領域的人。
從上面的級別描述可以看出,每一個級別有兩個關鍵元素,一是「能力」,另一個是「影響力」,能力代表你一個人能做什麼,影響力代表了你能夠讓別人做什麼,以及你能夠影響多少人。

程序員段位的成長,其實就是提升自己「能力」和「影響力」的過程。根據上面級別能力和影響力的描述,你可以衡量你目前居於什麼級別,就知道自己下一步應該到什麼級別,對應發展自己相關的能力和影響力。比如,你此時只是「中級程序員」的水平,就應該有目的地培養自己影響其他人的能力,着眼點就是自己所在的團隊,不只是自己要做好,也要讓自己的組員能做得更好,當你達到這個目標,你才能升級爲「資深程序員」;當年你成爲「資深程序員」,你就需要考慮更進一步提升自己的知識儲備,影響一個大部門甚至整個公司。

坦白地說,並不是每個程序員都會攀到最高階程序員的級別,判斷自己是否適合沿着這條路一直走的方法很簡單,就是問自己一個問題:我願意從事編程工作到多大年紀?

對於這個問題,我個人的回答,還有很多工作到很高階程序員的回答,都是一樣的:我願意編程到退休。因爲我們有這樣的熱情、有這樣的信心,所以纔有動力在這條路上一直走下去。

不過,你的回答可能是「我只想編程到 30 歲」,或者「我會編程直到被提拔爲經理」,這樣的想法完全是沒問題的,畢竟認識自我、根據自我需求選擇不同的職業道路,是對自己的一種負責。接下來,我們就要介紹除了攀登程序員高峯之外的職業路徑。

路徑二:轉型技術管理


和其他任何職業一樣,程序員也是需要被管理的,而管理程序員的最佳人選,當然就是曾經從事過程序員工作的人,有這樣的需求存在,不少程序員轉型去成爲管理者也就不足爲奇了。此時此刻,你擡頭看一看你的直接上司,他很大概率就是從程序員轉過來的管理者。

我在創業公司的時候,擔任的是管理者的角色,其實我更願意當一個程序員,之所以去做管理,一個主要的原因,就是因爲我發現團隊並不是自然而然完美運轉的,這時候作爲經驗更豐富的我,就很自然覺得有責任站出來,把團隊塑造成更好的形態,這就是成爲管理者的初心。開始管理之後,我很快發現,管理的世界就是處理各種各樣意料不到的情況,很難安心下來自己編程,但是,如果把工作心態從「我要做好」改成「我要讓大家做好」,一切就很順暢。從結果看來,我作爲管理者做得還不錯,在兩年的時間裏,產品總是能夠按時上線,團隊也沒有一個人員流失。

一個程序員看自己是否適合成爲一個管理者,主要就看是否不滿足於只做好一個人的事,是否有帶領其他人取得更大成績的意願。

從程序員轉變爲管理者,決不是編程比其他程序員編得更好就行,自己做程序員,和管理程序員完全是兩碼事。目前行業還是普遍缺乏對管理能力的培訓,所以,一些公司會讓一些出色的程序員倉促成爲管理者,但是實際上他們沒有準備好,這樣給團隊和個人都會帶來很多問題。所以,如果要轉型成爲管理者,請先問自己這幾個問題:

我是否更願意處理瑣碎的管理工作,而不是長時間專注在編程上?
我是否更願意幫助別人完成任務,而不是事必躬親自己完成? -
我是否認爲只有團隊成功,纔是真的成功?
只有你對上面三個問題的回答全部都是肯定的,你才從態度和心理上做好了成爲管理者的準備,因爲成爲管理者之後,真的大部分時間都在處理瑣碎的工作,你沒有多少時間親自動手編程了,因爲總會發生各種各樣的意料之外的事情,處理這些事情纔是管理的常態;而且公司評判你工作是否做得好的標準,完全看你所領導的團隊的業績,你一個人編程能力如何已經不重要了,做程序員的時候,你的成功就是你自己的成功;當你成爲管理者的時候,你的成功必須是整個團隊的成功。

千萬不要因爲覺得「當經理賺得更多」或者「當經理就是人上人」就去做管理者,沒有做好必要的心理準備,你會失望的。

上面說的還只是成爲管理者的態度,只是進入這個新角色的敲門磚,並沒有涉及管理能力。管理學有很多公開課程,更多在實踐中去學習,不過,有一條管理的精髓請記住:沒有放之四海而皆準的管理方法,管理的奧義就是具體情況具體分析,不同的場景用不同的管理方法。

路徑三:轉型產品經理


雷軍在小米的第一定位不是 CEO,而是首席產品經理,從馬雲的名言,「成功的企業一定是靠產品、服務的完整體系」可以看出,在互聯網行業,產品經理的作用是非常重要的。雷軍本人也是程序員出身,但是他很快不滿足於只是實現別人給的需求,而是要自己親自來定義產品應該如何表現,很顯然他找準了自己應該走的道路。

判斷自己是否適合成爲產品經理,就看自己是否不滿足於別人設計出的產品,對於怎麼設計產品有自己的認識。

產品經理的職責是定義產品需求,在我國 IT 圈中,流傳着很多產品經理和程序員水火不容的故事,這些故事並非意味着這是相剋的兩種崗位,這些衝突是因爲兩個位置上的人互相不理解。從這個意義上說,程序員轉型爲產品經理具有天然的優勢,因爲他們更懂技術人員的思維,在和程序員的交流溝通中,更能照顧到程序員的體會。

業界曾有這樣一個故事,產品經理和程序員打起來了,因爲產品經理給 iOS 程序員提了一個功能需求「識別手機殼的顏色」,這樣缺乏技術常識的需求,很容易激怒程序員,從而引發衝突。而一個有程序員經歷的產品經理,具備基本的技術思維,絕不會犯這種錯誤。

如果要轉型爲產品經理,思維方式必須完成下列轉變:

程序員關注的是「怎麼做」,產品經理需要回答「爲什麼要這麼做」;
程序員追求技術的卓越,產品經理要把給用戶帶來的價值放在首位;
程序員看到的是具體實現方式,產品經理看到的是市場的風向。 坦白地說,適合當產品經理的人是少數,在你選擇轉型爲產品經理之前,需要看自己是否能夠完成上述的思維轉變。


路徑四:轉型項目經理


項目經理和產品經理的責任不同,雖然在我國有些企業中,這兩個角色很可能落在一個人身上,但是這並不是一個合理的做法,因爲產品經理負責「做什麼」,項目經理負責「以什麼進度做」,如果一個人身兼兩職,相當於一個人既當裁判又當球員,會制定出不合理的計劃進度,也更容易和程序員產生衝突。

程序員轉型爲項目經理,需要具備這些方面的能力:

組織會議的能力;
協調多方進度的能力;
編寫工作進度報告的能力。
我在微軟工作的時候,有一個美國同事做項目經理做得很出色,後來我們知道她還是斯坦福畢業,在大學學的也是計算機科學,我們就很詫異,問她爲什麼不選擇程序員職業而選擇當項目經理,她的回答是:「我就是喜歡把事情安排得井井有條啊。」這句話給我的印象特別深,如果一個人要判斷自己是否適合當項目經理,主要就看是否有意願把團隊的工作安排得井井有條。

如果你有很大的熱情把團隊的工作組織起來,而對於深入鑽研技術沒有多大興趣,那項目經理是一個不錯的轉型選擇。

路徑五:選擇創業

基本上算是重新起航,重新設定自己的目標,要有做回初心的心態。

直接選擇創業,切換的更加徹底,直接從打工者變成了老闆,同時身上擔負的壓力也會變大。而且創業屬於低概率的事件,成功與否需要具備天時地利人和,裏面還摻雜着運氣的成分,所以能走通這條路的少之又少。絕大部分還是繼續回到自己以前擅長做的崗位上來,繼續發光發熱。創業風險屬於最高的,也是最難轉型的。

程序員都有老去的那一天,提前給自己的做好鋪墊,是每一個程序員都要去想去做的事情。繼續玩轉編程人生還是做個華麗轉身,就看大家如何去做了。

總結 

鐵打的能力流水的職場,只有不斷的提升自己技能,並且居安思危,做到自律,自愛,自信,自強,就永遠不會有職業天花板,人生不在給自己設限。

參考

http://www.imooc.com/article/279518

https://blog.csdn.net/weixin_43570367/article/details/103913267

發佈了38 篇原創文章 · 獲贊 25 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章