“90后中年危機”提前到來,代碼還沒寫夠,就已中年,而且還危機
程序員中年危機這件事,背后涵蓋著大家滿滿的焦慮。
焦慮的來源從內看,是不斷增長的期望和現狀之間的差距;從外看,則是市場人才上的競爭導致的危機意識。
內部原因大家見仁見智,外部原因,通過在市場上的觀察來看,程序員的市場競爭確是更加激烈了:
1. 互聯網整個行業的人才儲備越來越充裕,相關專業的畢業生無論從數量還是質量上都不斷上升。根據教育部的統計,2016 年有高校畢業生 765 萬人,為歷年較高水平;而與編程相關的專業畢業人數達到了總人數的 8% 以上。
2. 互聯網行業的野蠻生長時期已經接近尾聲, 大型互聯網公司的基礎招聘需求逐漸萎縮。BAT 等巨頭企業 2016 年的校招需求數量均不足前兩年高峰時期的一半,與此相對的是對高端招聘的需求越來越旺盛。
3. 創業公司更是面臨大批死亡和被收購的困境。 共享單車從異軍突起到開始收割僅僅是 1 年半的時間。越來越短的行業周期很難繼續為基礎研發的工程師提供穩定大量的崗位需求。而創業公司的大規模倒閉也戳破了行業中的薪酬泡沫。
4. 科技的發展并不一定意味著崗位的增加,相反,有時也會意味著崗位的減少。 以測試為例,曾經測試都是以手動測試為主,而如今一二線互聯網公司已鮮少見到手動測試,大多都是開發自動化測試工具的測試開發,因而對員工素質的要求大幅度提高,而數量需求則大幅度減少。
在這樣的市場競爭背景下,被「淘汰」,迎來中年危機,似乎更加「容易」了。
那么,如同這個提問背后的訴求:程序員要做到什么才能讓自己10年之后,盡量不迎來或者安穩渡過自己的「中年危機」?
人才顧問和高端獵頭們,他們總結出以下四點可以努力的方向:
- 拓寬業務場景;
- 把握職場節奏;
- 訓練復合技能;
- 保持緊密溝通。
一、拓寬業務場景
我們會在很多場合聽到對「精鉆」這個詞語的推崇,包括在職場上,我們常常聽到前輩教導我們對待工作要精益求精,但事實上,在某一方面做到大牛是一條可取的道路,卻不是職業發展的必經道路。
尤其是對于那些未來的職業發展規劃是進入明星創業團隊擔任技術負責人的程序員來說,在之前的積累過程中尋找機會盡量多地接觸各類業務場景并尋找解決方案,可能是一條更可行的路徑。
這里的業務場景分為大業務場景,也分為小業務場景。大業務場景即不同的細分行業,如電商、內容、視頻、共享平臺等等。我們建議程序員們在進行工作選擇的時候不要被自己原先所屬的細分領域太過限制,認為自己原來在電商公司以后也必須在電商公司。事實上,多去嘗試不同領域的公司,去了解不同領域的公司在技術實現上有什么異同,對于程序員更深入地理解技術是很有幫助的。
尤其是當今行業發展日新月異,某一細分領域很難在一個人 15-20 年的職業生涯中一直處于蓬勃發展的狀態,如果之后又出現了新的細分市場,復合背景積累的經驗會幫助程序員快速切入到新的細分市場。
而小業務場景則是指同一個技術在同一家公司的不同業務范疇。例如算法方向,可以分為排序、推薦、NLP、圖像識別和用戶行為研究等,攻堅某一領域是一條發展路徑,但橫跨不是一個領域也是一條發展路徑。這就需要程序員自己把握機會,不斷跳出舒適區去承擔新的業務和需求。
比如一位程序員老鳥,他之前在 BAT 某公司任職 6 年,擔任算法方向的程序員。由于之前 6 年公司業務增長很快,他在不同的研發 team 都參與過項目,因此在廣告、排序、推薦、NLP和用戶行為研究領域都有一定經驗,但卻沒有深入的研究。對此他自己也在跳槽的時候表示過擔憂:「業務在哪兒需要就打到哪兒,什么都會一點,什么都不精。」
然而沒想到的是,這樣的背景非常受中小型互聯網公司的歡迎。在經過了幾家面試之后,最終陳先生拿到了一家已經 D 輪融資的公司算法負責人的 offer,薪水也比之前有了大幅度提高。
如果沒有這樣的機會,也可以做到在某一方面非常精通,然后對其他方面有所了解,將自身培養成「T字型」人才。
二、把握職場節奏
在職場上有一個時間標準:3 年。 3 年時間,一定要在工作內容和職級上有一個質的變化,這個變化可以通過升職得到,也可以通過跳槽達成目標。
初入職場的 3 年,主要的工作內容就是夯實基礎,此時基本處于「完成上級交付的任務」這樣的階段。但在這個過程中,員工不能僅僅完成任務了事,而是要不斷思考為什么上級要布置這個任務,這個需求是怎么來的,用于解決什么問題,有沒有更好的解決方案等等。
之后的 3 年,也就是職業生涯的 3-5 年,作為程序員,需要達到一個小 leader 的層級,即帶領一個小團隊(可以僅僅有幾個人)負責某一個某塊或是功能的研發,此時在上個階段積累的經驗和關于解決方案的各種想法的作用便凸顯出來。而此時作為小團隊負責人的角色,程序員更多地需要關注上下游的邏輯,能夠形成完整的邏輯鏈條。
工作經驗的 5-8 年,此時程序員已經進階成了技術負責人,可以獨立負責某一個產品的研發,可以成功地推動產品從 0-1 的階段,此時更多需要關注的便是跨部門之間的合作與溝通,確保研發行程的按時交付。與此同時,更多地關注一些產品設計方面的內容,會對進一步的晉升很有幫助。
后一個階段,即工作 10 年以上,此時達到研發總監或是更高的職位會是一個比較理想的狀態,而對于這個層次的要求,是對于整個行業能有比較清晰深入的判斷,能夠感知未來技術發展的方向并為公司提前布局。
三、訓練復合技能
除了編程之外,程序員要盡量培養一些其他方面的技能,例如演講、寫作等等。這樣做一方面可以為程序員提供一些兼職機會,如主講技術相關的直播課程、參考文章或書籍的撰寫等。類似的機會在提供報酬的同時也會增加員工的知名度和行業影響力,更有甚者,在社交媒體上發表了相關文章之后,吸引了一批志同道合的同行,開始合伙創業,有了更大的機遇。
就算沒有這些額外的收益,復合技能的人才在公司內部也會受到青睞。
比如某知名互聯網企業的程序員張先生,由于他在面試時給 HR 看了自己在知乎等技術論壇上的文章,因此入職之后 HR 邀請他參與公司每周五下午的技術分享會并作為主講人之一。
剛開始張先生還很猶豫,畢竟本身的工作內容已經很繁多,很怕接了這個任務之后力有未逮,反而影響了自己的開發進度。但后來因為同事的鼓勵和 HR 的反復邀請,張先生還是答應成為主講人,并且利用每周末的時間準備講座材料。
因為在技術分享會上的良好表現,入職后不久,張先生被上級重用并在一年后得到了升職。
四、保持緊密溝通
有些程序員認為自己做的是技術性工作,只要寫好代碼就可以了。這是錯誤的認知。根據以往服務候選人的經驗來看,那些有意識在工作之余關注行業動態,積攢人脈資源,并且樂于與同行溝通的程序員,往往在職業發展的路上走得更遠。
一方面,程序員可以通過這些方式隨時評估自己在市場上的價值和優勢,當行業和技術的風向發生轉變時,及時對自身查漏補缺,避免被時代拋棄。另一方面,人脈資源的積累,有時也能對自己下一次換工作起到雪中送炭的作用。
可見,行業信息、公司動態的互通有無對于職業發展有著至關重要的影響,準確地把握行業動態有助于員工抓住一些轉瞬即逝的機會。
而對于信息的獲取,自己的朋友、前同事、靠譜的獵頭、職業顧問等,這些都是可以利用的資源,同時也可以參加一些展覽、峰會等線下活動。尤其對于那些自己感興趣的技術方向,盡量積累一些人脈資源,一次有效的內推往往比海投簡歷更有效果。
人無遠慮必有近憂,有危機意識當然很好,但是成長更加忌諱的是冥思苦想,停滯不前!