03.02 程序員如何靠技術度過中年危機?

lierenhuichang


這個世界本來就不是純技術的,人到中年就應該學會承擔責任和接受這個世界你改變不了的事情。

這個世界不會總存在一個父母老師一樣的角色,佈置作業給你做然後你做好了給你糖吃。不要指望這個世界會給你糖吃,不要指望這個世界會很公平地回報你的付出。你想對什麼事情負責任你自己做決定,同時你要知道哪些事情是你改變不了的所以不要去承擔責任。

這不是一個技術和管理之間做選擇的問題。這是一個心智成熟度的問題。

絕大部分人不能。悲觀點講,大部分8090後互聯網人(不僅僅是程序員)的職業生涯,可能比70後那幫老兵更短。

很長一段時間裡,我都在想,我們寫代碼的這幾年拿得多,是因為我們比那幫學生物學航天的聰明或者付出更多嗎?顯然不是,我們只是趕上歷史行程了而已,最近的一波歷史行程,說直白點,就是由智能手機和移動互聯網帶來的行業爆發式增長。

但 IT行業和其他行業一樣,也要受行業週期的影響,不幸,或者說對後來者不幸的是,這個行業從完全競爭階段發展到寡頭壟斷階段的速度比能源,機械等傳統行業快得多(一方面,這是技術進步帶來了市場效率的增加,另一方面,商學院的那幫人比過去更熟練了),阿里騰訊從差點要死的初創公司演化成全球市值前十的中國寡頭,花了不過十幾年時間。換句話說,十幾年裡就走完了傳統行業需要花幾十上百年才能完成的路。行業的細分領域,比如外賣,出行,只需幾年就能發展到寡頭壟斷乃至完全壟斷的地步。

過快的行業演化速度,首先帶來的就是行業更快進入壟斷成熟期和相關領域就業的過山車行情。比如前幾年安卓和IOS程序員就業十分容易,培訓班培訓半年出來就敢要一萬多的月薪,但隨著行業的集中度提高,大量初創公司死掉(比如O2O領域),招聘門檻明顯變高,職位也變少了。其次,互聯網行業推崇的破壞式創新,對從業人員,尤其是後來者來說是把雙刃劍。在一個領域裡辛苦耕耘多年,結果其他領域或者方向的破壞式創新就把你的多年的工作廢了甚至徹底爆掉(比如微信架空QQ,智能機顛覆功能機)。

能不能純靠技術渡過中年危機?那就要看你對歷史行程的把握了。如果你的技術方向不幸地被時代拋棄了,那不管個人怎麼努力都是沒有什麼大用的。想明白這點後我今年再次放棄鵝廠跑券商做我押寶的領域了,建議平時多花點時間去琢磨業務,琢磨行業和產業,不要只會低頭拉車,也要抬頭看路,畢竟資本可以相對容易地在一個行業進退,而人到中年是很難轉行的。


作為曾經的半個程序員,分享一下個人經歷。程序員會有中年危機,一個很大的因素來自:我們曾經引以為傲、賴以生存的開發技術會被淘汰。而學習新開發技術成本太高。看著快速崛起的年輕人,不免使人心生:廉頗老矣的感慨。但是如果眼光不僅僅侷限在開發技術上,可以做的空間就大了很多。

我一直在做數據分析相關的工作。作為一個83年的老男人,最慘的就是:當我進入職場的時候,數據分析遠遠沒有現在火熱,互聯網行業也遠沒有現在強大。我在職場起步階段學的還是SAS。大多數分析主題以商業分析為主,很少用算法。做過數據挖掘項目,也侷限在銀行的外呼,運營商的流失用戶挽留等特定領域。不但做的模型單一(其實就是邏輯迴歸),而且跟互聯網行業沒一毛錢關係。和現在全民all in機器學習的在校生比起來,簡直弱爆了。畢竟人家人手一本西瓜書,天天上kaggle撈代碼,張口隨機森林閉口SVM,scikit-learn各種起飛。兩下一對比,就顯得我各種土鱉。

學習新開發技術對在校生容易,可對中年職場人士真是太難了。業餘時間,回家帶寶寶、打掃衛生、陪孩子出去玩,已經把人累的筋疲力盡。在企業也很少實戰新數據的機會,畢竟大多數我們帶出來的系統已經穩定,除非投身新公司新部門,否則很少有新技術使用機會。問題是,有幾個中年人敢輕易換坑的。

感覺就像自己好不容易弓馬嫻熟,結果人家換了機關槍……

幸運的是,30歲那年,一個前輩指點我,逐步走出了這種困局。他當時對我說的話,至今猶在耳邊:

“你思路要開闊點,一個項目成功可不僅僅是寫代碼這麼簡單。你也做過很多項目效益分析,你自己想想,有幾個項目是真的死於技術不行的。如果老闆期望過高呢?如果給的資源不夠呢?如果其他部門不配合你呢?你做精準營銷,人家一線銷售根本不鳥你,你怎麼精準?如果你能從結果出發,倒推做成項目需要什麼。用這些分析去影響業務部門,豈不是比別人挖好了坑,自己邊罵邊填更好?”

這段經歷直接影響了我後來的職業發展。確實,為什麼要一輩子做爬坑的那個,而不試著拿過挖坑的鍬呢?這就開啟了我轉變的第一步:擺脫接需求→做開發→交結果的被動思維,站在如何做成一個對企業有用的項目的角度思考問題。

上一個臺階看問題,就發現影響項目成功的因素有很多,技術只佔其中一部分。特別是銷售、市場、運營類項目。這些項目本質上還是要和人打交道。無論是做經營分析、做精準營銷、做個性化推送、最後還是要靠各部門通力合作。從做好項目的角度來看,還是有很多發揮餘空間的。

項目成功八要素

這個時候,開啟第二步思考:如果讓我自己來挖這個坑,我會怎麼挖?順著這個思路,我開始反覆覆盤自己經過的大大小小的項目。站在項目全局而非僅僅是分析建模的角度去覆盤問題。覆盤的時候經常會遇到信息不全的問題。很多信息被業務部門掌握。這時候就充分發揮自己愛好喝酒擼串的優勢,廣結善緣。有不懂的直接拉夥伴出來吃個飯討教,進步的速度還是很快的。

這樣我便慢慢走上管理道路。之後5年,我做的技術方面的東西越來越少,最後徹底轉向業務方向。等到我有了自己的團隊,就幾乎不怎麼碰代碼了。然而,我在項目裡承擔的責任一點都沒有減輕,因為除了技術以外,真的還有很多工作需要做的。

這裡大部分是軟實力,可這些軟實力能結結實實的為項目保駕護航

有些同學可能會說:這已經是管理工作了呀。確實如此。不過做技術出身的人做管理,會比業務線出身的人有一定優勢。我們瞭解技術實現的具體方式,純業務出身則把它看成一個黑箱。這樣我們能更準確的評估問題,找到靠譜的解決方案。而純業務出身的經理人,經常把項目拖到坑裡去。

比如這5年來,我服務的很多客戶是傳統行業,他們想搭上O2O、互聯網+、消費升級、新零售等新東西的順風車。然而,相當多傳統行業經理人缺少對技術的基本瞭解。就拿精準營銷類項目舉例。他們只能從結果,看到別人發了一個短信,做了一個推送,但完全不知道在這背後隱藏著多少東西。這就導致,他們會低估投入成本,高估了效果。最後做起項目來各種東施效顰。

而我參與項目時就發現:相當多的傳統企業,數據建設都很滯後;不同系統數據間缺乏關聯,基礎數據字段缺失嚴重;一線業務部門和總部脫節;尾大不掉、驕兵難馭的情況也很常見。我從不會急匆匆向客戶說:“用戶畫像系統一般有三層結構”“關聯分析常用Apriori算法”這些話。而是從最基礎的數據字段、採集流程入手,先摸清水到底有多深。在設計方案的時候,先考慮合作部門的利益,儘可能把其他部門拖下水。這樣項目的數據基礎很紮實,推進阻力相對小,分階段輸出成果。幾年下來,累積的口碑和經驗還是不少的。

在這種工作中,我也慢慢清晰了自己在團隊中定位。我主要負責和客戶站在一條戰壕,面對各方挑戰,諸如:“憑什麼這個項目值得投入300萬?這個項目能為公司創造多少業績?到底這樣驗證推薦系統效果?這次營銷新增業績多少?憑什麼說新增業績是系統的功勞不是銷售部的功勞?”掃清了這些障礙,客戶在公司裡有個更大的功績。項目的費用、時間、成果認證也就有了保障。剩下的交給更年輕,更有活力的小夥子們。現在我的團隊裡也有很年輕的做算法的小夥。他們比我懂得多,比我搞算法有熱情。幹活的時候他們打主力,我就打個輔助。然而我卻並不擔心被他們取代,大家合作的很愉快。

之後就發現,當找好自己的定位以後,就不會害怕新人的崛起。因為大家各有各的長處。總的來看,新人重技術,老人重結果。新人喜歡高精尖,老人喜歡穩重實。

  • 新人看PPT,都喜歡說:哇塞,這一頁好漂亮,用什麼排版工具畫的?老人看ppt,都先問這個是做給誰看的,想表達什麼。
  • 新人做分析,都喜歡先想:這個問題可以用個什麼模型。而老兵去做分析,都喜歡先看:你們的數據是從哪些系統產生的,產生數據需要什麼流程,有哪些字段,這些字段在業務上有什麼含義,基礎質量如何。

這是中年人的優勢。經歷多了以後,我們就不會急於炫耀技巧,而是認真的圍繞結果想過程。過程越細越好,每一個忽略的細節,都可能是日後爬不出的大坑。

然而,技術出身的往業務或者管理上走,也有特殊的缺點。性格可能是一個方面,好在我個性比較活潑,在這方面沒有很大阻礙。業務經驗是另一方面,做業務的人筆桿子很硬,嘴巴很鋒利,很多時候討論起來,你明明知道他在瞎扯,就是扯不過他。為此我也在不斷努力,比如上知乎寫文章也是練習筆桿子的方式之一。

可能有些同學會覺得這個過程太辛苦。然而,想要不被淘汰就是要辛苦啊。或者很辛苦的擠出時間學習新的技術,保持不被時代淘汰。或者很辛苦的克服能力短板,向綜合方向發展,往業務和管理上走。其實,大家細想一下,那些被中年危機淘汰的程序員,不正是趁著年輕進了大公司,做個螺絲釘,之後生活安逸,技術沒進步,業務沒長進的人嗎?

當然,還有其他很多方式可以走出程序員中年困局。就我身邊的朋友:

  • 有些和別人合夥創業做CTO去了
  • 有些在大企業混個技術管理崗安穩度日
  • 有些轉身做新入行的培訓(學會Java,走遍天下!)
  • 有些把BI分析部改成AI分析部,繼續在技術領域奮戰

總之保持努力,保持進步,總有好前途,與大家共勉。

關注我:私信回覆“架構資料”獲取往期Java高級架構資料、源碼、筆記、視頻

Dubbo、Redis、Netty、zookeeper、Spring cloud、分佈式、高併發等架構技術

帶你度過中年危機!!


java高級


下面根據我多年的工作經歷,給做IT的同行提一下醒:工作時一定要時刻問自己一個問題,40歲之後該怎麼辦?。作為IT行業的老兵,結合一些成功脫危成CTO,技術VP高管,創業老闆的朋友的經驗,我總結了4條建議:

第一:專注核心技術,做深做強:任何技術越來越簡單,就意味著會越來越傻瓜式

我有一個朋友做研發做了十多年,什麼都會,但什麼都不精。2014年看到IOS很火工資很高,一頭扎進IOS,不曾想剛搞了不到一年,IOS技術爛大街,工資大幅縮水,他繼續撐了一年,發現沒有什麼轉機,馬上投入到H5,誰知道2017年下半年,H5也開始被培訓公司大批速成了,導致H5程序員氾濫。現在他在公司呆了近一年多,壓力重重,一直做上層應用系統,手裡掌握的技術新畢業的大學生用個3年就能掌握了。那些年輕的程序員,能熬夜,能加班,無牽無掛,工資還低。所以公司也更傾向於用這些年輕人。之前公司效益不錯,所以老的一批程序員還能養著,現在效益下滑,難保不向他們這些年紀大的程序員“開刀”。
前幾天打電話說最近在研究人工智能,就想在人工智能方面深耕下去。他覺得人工智能需要算法,需要計算機核心技術,這是低層次程序員不具備,正好是他的強項。還好醒悟過來了,只是白白浪費了三年光陰。
IT行業中年危機為什麼會早到,主要是因為IT行業技術發展太快了。以前IT技術革新週期是四到六年,現在革新週期不到兩年,看看最新的IOS、Andorid、H5、VR ,有哪個能連續火三年的,基本兩年時間不是被新的技術革命,就是被培訓公司革命了。因為現在這些技術都太簡單了,程序員被市場牽著鼻子走。
回頭看看C、C++、操作系統、通信協議等等這些核心基礎,一直都沒有變。尤其是人工智能、模式識別這些核心的研究技術,真正變化的不多。只要涉及到算法、系統、硬件,計算機的技術就更新沒有那麼快了,這就是為什麼硬件工程師越老越值錢的原因,嵌入式工程師一直都很吃香的原因。

每個行業都有自身的核心技術庫,這種技術是需要沉澱和積累才能學會,這就需要IT人員能沉得下心來求發展。不能一味盯著前端,盯著應用開發,應用開發跟著客戶認知和需求來改變,客戶的認知越來越高,他的要求自然就更高更多了,所以IT行業就不斷要升級。

第二:走架構/管理路線:IT行業不缺程序員,缺既懂技術又懂管理的人

在IT行業,一定要看清楚,哪個職位入門門檻比較高,哪個職位需要時間和經驗積累,哪些崗位需要項目經驗,這是要提前做好思考。最近聯繫了一圈我的朋友和同學,發現在IT行業靠技術還混得挺好有兩種:一種是做構架師,另外一個是做管理。
做構架師那幾個朋友現在過得很爽,因為自己項目經驗豐富,計算機基礎紮實,且對軟件開發控制流程清晰,他們幹了幾年開發後轉為構架師,現在他們任務相對比較輕鬆,把系統構架佈局好,然後分配給程序員加班加點趕工去。
幾個中途轉做管理的幾個就不用說了,待遇很高,雖然壓力也不小的。因為他們既有技術又有管理經驗,公司基本給配股,年底分紅不少。
他們為什麼能成功,總結的一句話就是:工作不要僅吃著著碗裡,還有盯緊鍋裡。做程序開發的時候,他們平時有空就去參加一些技術沙龍或會議,經常參加一些最新行業分析會議和管理培訓。這樣他們在做好本職工作時,努力豐富了,同時也給自己帶來更寬廣的發展道路。

這個路線某種程度上是程序員這個行當中吃“經驗”飯的路線。架構/管理需要的不僅僅是瞭解技術,還要具備豐富的行業經驗,良好的溝通能力,全面的管理手段。這些都可以在一個程序員日常的工作中進行積累,從而完成一名程序員的轉型。

第三:轉行到關聯行業

IT開發和語言一樣,只是一項工具。必須要和其它業務行業結合才能夠產生價值。這就給了技術人員一個選擇,可以結合自己之前服務的行業進行轉行。比如,一個技術人員一直從事金融領域的技術開發,通過日常積累了解了不少金融知識。到時候就可以轉行為BA(Business Analyser)或者PM(Product Manager)。要知道,一個懂技術的BA或者PM是非常受企業歡迎的。
我就認識一個美女,因為受不了開發的高強度工作,轉行做了PM。她自身是計算機專業畢業,本身也做過開發。所以她在涉及產品的時候,充分知道哪些系統可以做,哪些系統做不了,能夠寫出“靠譜”的需求說明書(程序員們的最愛)。這樣她的產出就非常好,自然深的老闆的喜愛。

基於自己已有的優勢,再學一門手藝,從而跨門檻的跳到一個重視經驗的行業中。這簡直就是當前互聯網最喜歡的“降維打擊”嘛。如果你足夠努力,而且學習和溝通能力不錯,這也是一條挺好的道路,機會多,空間大,值得推薦。

第四:創業開個公司

這真的是一條最最艱難的道路。開公司和做副業不一樣,它考量的是一個人的綜合能力,需要應付的方方面面的問題數不勝數。我就覺得如果去創業很容易失敗。因為打工時候只要做好自己的事情即可,但創業的時候是什麼事情都要做!
當然,我身邊就有創業成功的例子,比如有些朋友來創業不是走投無路,而是實現自我價值。更不要提他自身的綜合能力也是非常棒的。這麼說吧,他不來創業也能夠在原來公司做的風生水起。所以這條路是推薦給那些非常優秀的人的,如果是工作中走投無路,創業基本上也是死路一條。

不管是上面哪一條,其實都需要大家提前做好自己的職業規劃,選擇一條最適合自己特點的道路,早佈局,早沉澱,早打算,早 …。總之,所有事情的準備越早越好,老祖宗不是說過嘛,凡事預則立,不預則廢。

如果你想更好了解,歡迎關注我,專注個人精進,每天與你分享


優秀創業手冊


為何程序員會出現中年危機

本人5年自由職業程序員一枚。2020年就30歲了,上有老下有小,但是我卻一點也不怕中年危機,因為我就算一段時間不工作也有穩定持續的收入。程序員年過30是無論思維敏捷程度還是體力都不如從前了,工資是越來越高,很多公司寧可招聘剛畢業的大學生也不願意聘用年紀大的程序員。除非那些技術大牛,但那些人只是少數,大部分都是普通人。家庭的支出又越來越大。那麼如何渡過程序員的中年危機呢?

增加自己的核心競爭力

技術是不斷更新的,前端技術更新的快,後端技術更新的慢,如果不堅持學習就會落後。所以要不斷更新自己的知識,增加自己的核心競爭力。大部分公司都是小公司,而且需要會的東西多但是不需要多精,多學習幾種語言和平臺的開發技術會在小公司中很吃香。如果是大公司需要的都是專而精,然而大公司對35歲以上的程序員會解聘或者內部轉崗,今年年初全國出現大批裁員潮,很多人失業。如果不是技術大牛在裁員潮中保住工作很難。所以需要更高緯度的思維。

更大的思維格局

一個人最重要的不是幾乎有多牛,技術會更新,會過時,所以要從思想格局層面思考問題。未來5到10年,每年我會積累些什麼不會被替代的東西。這才是最重要的。純粹的學習技術知識只是青春飯。本人個其他程序員不同,不在公司坐班,卻一直服務著客戶,給公司做一個項目要有持續的收入,不要做一錘子買賣,所以我選擇了繼續給公司做運營。這樣無論大環境怎麼變化,我都會有收入。運營就是用軟件打造一套系統,就算一段時間不工作,軟件也會替我工作,所以我更本不發愁收入問題。而這些都是別人不可替代的,多年積累下來的。


總結

現在的社會一二線城市房價高昂,如果家裡沒有積蓄,靠自己的一雙手買一套房子買一輛車真的很辛苦,再加上人到中年家庭支出增加,所以要從不同的角度思考問題。不斷的積累,在還沒到危機的時刻積累才能安穩的渡過危機時刻。


低吟淺笑


今年剛好40,一直在軟件行業有18年了,正在進入中年危機。

作為程序員,除了做算法的,很難有純核心技術。個人認為程序員的技術:一是技術的積累,瞭解更多的操作系統,編程語言,技術架構,平臺接口,設計思想等;二是代碼庫的積累,高度的複用性可以使軟件開發得更快;三是對業務的理解,項目做多了行業接觸多了大部分都是相通的。總結下來,所謂的技術還是靠經驗,但在國內IT公司節奏太快,大齡程序員(這裡指的是一線程序員,不是各種管理層)因各方面因素很難配合的加班導致很多公司並不願意要,一般超過35的就業就開始困難,超過40的就幾乎無人問津了。

最後說下我的情況,35歲的時候自己下來創業,到現在寫了4個軟件,成為了一名職業的共享軟件作者,有自己的工作室,收入跟上班差不多,好處是可以自己安排時間做自己喜歡的事情,不用朝九晚五,可以有更多的時間照顧家庭。


自由踐行




在機械行業內,還在單純靠畫圖為生的40歲中年人不多。同樣的,在互聯網行業內,40歲的人絕對不會僅僅靠敲代碼為生了。

對於公司來說,想找幾個敲代碼的人非常簡單,從學校或者培訓機構招聘就可以,無非就是工資高低罷了,但絕對不會招不到。而且這幫人年輕有活力,加班絕對沒有任何怨言。

但公司絕對不會聘用僅僅只會敲代碼的中年男子,且不說精力比不上年輕人,思維能力也比不上,關鍵工資高,還不願意加班。

所以單純靠技術想一直生存下去比較難,任何行業都是一樣。比如雷軍、馬化騰想一直靠敲代碼,肯定沒有現在的成就,他們能取得如今的成績靠的是技術以外的東西。

程序員想要度過中年危機,有以下幾條路。

1、增加領導力和決斷力,成為中層以上的幹部,而不是單純的敲代碼。

2、增加副業收入,等到副業收入超過主業,主業就變得可有可無。


用戶69240191446


能問出這問題 說明技術不咋地

所以還是趕緊另謀出路吧


avatasia


程序員不創業,不走管理崗,是不會有出路的。


鎰鑌


文章我沒看完,光是標題這樣回覆您。首先我已經43了,還在寫程序,但有可能我理解的程序與你不一樣。我理解的程序只是能更好的實現我想實現的業務,我更多的是側重業務。如果一個程序員一味的只談技術我覺得就如你所說得考慮40歲後的問題了。順便說下在國外好的程序員都是中年人。現在我寫程序就是一種享受……


fist3


抽菸喝酒喝啤酒,堅持熬夜,記得不要經常吃飯


分享到:


相關文章: