程序員的年齡天花板

作者:安曉輝(微信公衆號:程序視界)

時間:2015-09-09

地址:https://mp.weixin.qq.com/s?__biz=MzAxMzUzNzYyNA==&mid=209778460&idx=1&sn=8224ba859e476a08deeb0566656d2190&scene=21#wechat_redirect

 

(注:本文曾發表於《程序員》201508期A)

 

我是一個老程序員了, 2014 年我不斷在思考一個問題:程序員的年齡天花板到底是多少歲?

其他行業裏的老將

農村有一些老人 70 多歲了還能種地,不但能種小麥玉米,還能在自己房子後面種點白菜、蘿蔔、西紅柿、豆角什麼的,自給自足,不靠孩子贍養。

褚時健70多歲承包荒山開始種橙,現在褚橙是知名品牌。

我們家不遠處有個同仁堂,同仁堂裏有中醫館,中醫館裏都是老先生,太年輕的沒人看。

你看國家高級領導人,都沒個年輕的,60多歲就算少壯了……

老程序員啊

很多行業對年齡沒有特別限制,有的行業甚至越老越吃香,可程序員呢,很多人都覺得是吃青春飯的,是“以色事人”的,年老色衰就會很悲哀。

果真如此?

國內環境

國內的 IT 公司,軟件開發水平和意識整體較差,多數公司做出來的產品差強人意,上一幫子人做出一東西來,再上一幫子人花一大把錢去推廣,就這麼個現狀吧。這種現狀是由逐利的急切性引起的,逐利的急切性又客觀上造成了對技術的短視,再往下推,自然就是對技術人員和技術能力的不重視,最後也就談不上人才的培養和技術的積累了。

計算機軟件已經成爲整個社會發展的基礎支撐,各行各業都需要,各行各業也都需要開發軟件的程序員。行業背景不同,對技術的看法自然會有不同。我前面概述的現狀,自然也有一些公司不在其列,但大多數是如此的,90%以上是醬紫:東西做出來,錢賺到了,勝利,其它的,毛線。

在這樣一種心態和現實下,做東西的人,談不上多受重視,很多公司的老闆覺得拉一幫子人就能把東西搞出來,他認爲要做的東西根本就沒什麼技術難度,網上抄一抄,加班搞一搞,這麼着就出來了。年輕人身體好,牽絆少,能拼能加班,可以彌補與老程序員在水平上的些許差距,爲什麼不用年輕人呢?是吧。你說呢。年輕人又便宜,一個老程序員的薪水可能可以僱好幾個年輕小夥子,三個臭皮匠能頂諸葛亮,我幾個人還幹不過你一個麼。

團隊分類

爲了討論程序員的職業壽命,我們先得給公司或者團隊分分類。大概有這麼三類:

  • 外包型
  • 項目型
  • 產品型

外包型

什麼是軟件外包呢?

來來來,發揮剪報君的特長,看看百度百科的定義:

軟件外包是企業爲了專注核心競爭力業務和降低軟件項目成本,將軟件項目中的全部或部分工作發包給提供外包服務的企業完成的軟件需求活動。

看見了吧,大多數時候,軟件外包乾的就是人家不願意乾的髒活、累活、低技術含量的活。我在“親愛的程序猿們怎麼找工作”一文中已明確我的看法:有產品做,就不要做外包。

我見過的外包,有對歐美的,對日的,對華爲的,這幾類很多,前些年中國的勞動力成本低,外包業務很發達,現在印度成本更低並且軟件開發規範程度更高,是比中國更受青睞的外包市場。

做軟件外包的缺點有幾個:

  • 技術積累缺少持續性
  • 不穩定
  • 沒有話語權

專門做外包的公司,有活兒了你就幹,沒活兒啦你可能就得滾蛋。這有什麼可說的呢,我不養閒人呢親。所以這是不穩定。

對程序員來講,在外包類公司,是最容易遭遇年齡坎兒的。因爲乾的活兒技術含量低(核心的人家自己幹啦),個人的可替代性就強,你一經驗豐富的老程序員薪資又高,每月 20K、30K很常見啊,對老闆來講養不起啊,肉疼心也疼,搞幾個年輕的吧,三千兩千都有人幹,還也能幹得了,你說說,你一個人拿的錢能僱七八個年輕人,你多危險呢你。還有你事兒多,有老婆孩子,孩子學校不定什麼事兒呢,晚上還得招呼孩子功課,加個班兒都不痛快,要你幹麼地吧。就算你技術很強,可外包這種性質,打一槍換個地方,活幹完了就了事了,再強也沒你用武之地呀。再說啦,留兩個強人就行了,要那麼多淨浪費公司銀子。

項目型

中國電信、中國移動、中國聯通,電信三家公司,養活了數不盡的項目型公司和團隊啊。還有一衆銀行、金融企業、政企,也養活了數不盡的項目型公司啊。

什麼是項目型公司呢?就是以給人做項目爲主業的公司,接到項目就開工,有錢賺,比如你接人家電信的網上營業廳,比如你接人家某某大型國企的政務信息化,等等;接不到項目呢,就收縮規模,裁員……就這種啦。我見過很多,電信、金融、石油、電力、教育、政務、鐵路……,各行各業都需要這種項目型公司,用自己公司的人,幫別人幹項目,幹出來活所有權不歸你公司,歸人家,可延續性很差,也不需要多少人來維護,就是要維護,留上一兩個核心的懂業務的就夠了,其它人,鳥盡弓藏,沒項目了你就只好走人了吧。

項目型公司比外包型稍強一些,技術上可以自己選擇,也能夠在某個行業長期積累經驗,甚至你還有可能自己立山頭自己幹。不過對於不能拉隊伍自己搞的普通程序員來說,還是可持續性差一些,可替代性差一些。我就見過電信的項目,一個大項目拆成多個小項目,分給七八個小公司來搞,今天你搞着呢,下一期另外一個小公司和對口主管關係好,把你替了……有些程序員會在出沒於電信一個大樓裏的幾個公司之間跳來跳去……從這一點上講,程序員也不重要啊,公司也不重要啊,這個公司不幹還有那個,這個程序員不幹還有那個,另外程序員的價值也不高啊,有個懂業務的,配幾個小年輕,事兒也就能搞成,你說你老大不小的,怎麼跟年輕人拼呢……

產品型

毋庸置疑,做產品的公司是程序員最好的選擇。一個公司做了一個好產品,運營這個產品,產品會不斷迭代、更新,程序員會跟着這個產品一直往前走,公司需要了解產品、瞭解業務、技術積累厚的人才,而要懂業務、懂產品、有積累,都需要時間,等你什麼都瞭解差不多了,也就是個老程序員了不是。而且隨着你對產品瞭解的越深,你的不可替代性就越高,價值就越能凸顯出來。當你的不可替代性高時,老闆就要考慮替代的成本。什麼都不懂的年輕後生,根本撼不動你的地位。

做產品的公司有相當數量,也有很多知名的,比如騰訊、百度、阿里、愛奇藝、PPTV等等,開發人員也數量龐大,幾千到幾萬人的都有,但是這樣的公司所擁有的開發人員總數量,與中國幾百萬程序員羣體相比,還不是一個數量級的呀。那更多的程序員在哪裏呢?就在項目型公司、外包型公司。

程序員的價值所在

(注:我在“程序員保值的4個祕密”一文中討論了和這節類似的問題,回覆10015可查看該文章。)

對於程序員來講,價值怎麼體現?一個程序員的價值,就體現在他的稀缺性上。物以稀爲貴麼,亙古不變的道理。

“聞道有先後,術業有專攻”這句話很適用於程序員,直白點說,技術的精湛不是以年齡來評判的,有的朋友在上學時的技術水平已經比工作十來年的高了,有工作十年的水平不如工作三年的,當然也有很多程序員的技術水平是正比於年齡增長的。

作爲一個老程序員,只有你的技術能力正比於年齡,纔是合格的,否則就必然越走越慢,慢慢掉隊,最終就只能面臨被年輕人擠兌、淘汰的窘況,結果就是被迫離開程序員的隊伍。

程序員要想讓自己的價值持續增長,有這麼幾個方向可供參考。

(一)選行業

在一個行業內持續積累,對行業的理解到位,積累深厚,你的價值是巨大的。不信你去瀏覽招聘網站上的崗位需求,99%都要求相關行業背景。所以,選擇一個靠譜的、前景好的行業非常重要,只要這個行業能夠不斷髮展、前進,你的積累就是有價值的,你自己就是不斷增值的。

(二)技術

程序員,業務積累是屠龍刀,技術積累是倚天劍,兩個都有,那就逢山開路遇水搭橋沒有走不通的路了,你一定是先鋒部隊尖刀兵,到哪裏都具有超強的攻擊性。

技術上最起碼的要求是技術水平和視野對得起年齡,如果有超越年齡的積累和犀利,那就沒話說了,地球人已經阻擋不了你前進的步伐了。

就技術來講,假如你掌握了一門很難又很重要的技術,那單單是這一點,就很有價值。比如你熟悉 Windows 內核或 Android 內核,能夠熟練撰寫各種驅動,那找個月薪五六十K的工作不成問題。再比如你圖像處理算法很牛,再比如你視頻解碼算法很牛,……像這些特定領域的算法,我們也叫它技術吧。如果你懂類似的算法並能實現之,恭喜你,你已經超越了 90% 的程序員了,你的重要性和價值將不可估量。

(三)產品意識

做產品也是講感覺的,當然有時我們覺得對產品的把握是產品經理的事兒,這麼講對,也不對。產品經理雖然是不掛銜的 CEO ,但產品的最終實現,是要靠程序員的,假如你對產品沒有熱情、沒有感覺,無所謂好無所謂壞,那很難做到出色了。

我有一個很樸素的想法,一個程序員,要想做一個不那麼糟糕的產品,一定要有愛,就像天龍八部裏的段譽哥哥,見到美女就愛得要死要活,對每一位妹妹的愛都是發自真心的、都是熾烈的、都是讓人魂牽夢縈的。惟其如此,你才能像張京兆(張敞,曾任京兆尹)爲妻子畫眉那樣用心雕琢你的產品,對每一個細節都念茲在茲直到完美。這是講我們程序員要愛產品,愛各種各樣的產品,是做出好產品的前提。

你愛你做的產品,打心眼裏希望她好,就有了第一個前提了。那接下來就很容易進入角色了,每做一個產品都會有積累,走心嘛,沒積累才奇怪。慢慢你就會培養出對產品的獨特感覺,形成產品意識,鶴立於程序員羣裏了。

再羅嗦一點,業務積累是屠龍刀,技術積累是倚天劍,那產品意識就是張無忌了,由他來控制屠龍刀和倚天劍,那就能發揮無上威力了。

結論

我要亮出我的觀點,評說就任人了。

我的結論是:程序員的價值與年齡沒有直接關係,價值不會反比於年齡。作爲軟件開發人員,自己不要給自己在年齡上設限,很多事情我們沒做成,很多時候我們沒能取得更大的成就,都是因爲我們先給自己設置了限制,用這個限制禁錮了自己。

下面這張圖來自 cnbeta 的文章“2014年中國程序員調查報告”,他說明了國內程序員的年齡分佈情況:

 

圖1 程序員年齡分佈

 

誰說程序員幹不過三十歲呢,圖1表明,30歲以上的程序員佔比高達 48.62%,佔整個程序員羣裏的將近一半。

2015年1月22日,我去參加 Qt 西安開發應用研討會,有一哥們就是老程序員,40多了,寶刀正鋒利呢。

王江民30多歲寫軟件,43歲搞出橫掃殺軟市場的江民殺毒。

我的老上司,40來歲了寫直播流媒體協議,P2P的,傳輸效率高且穩定。

……

年齡只是一個自然現象,而我們的經驗、認知、能力、心智成熟度,在合理的情況下,都是隨着年齡增長的,廉頗不老,黃忠能戰,只要你走在正確的方向上有值得稱道的積累,緣何不能橫刀立馬顧盼自雄耶。

國外的研究論文和結論

讓我們看一下國外牛人的研究吧:“ Is Programming Knowledge Related To Age? ”。這個鏈接是英文的,pdf 版本,基於 Stack Overflow上的數據分析得出的結論。嫌 E 文難看的,來看箇中文的:“編程能力與編程年齡的關係”,該文引用了“Is Programming Knowledge Related To Age?”的數據和結論。

“Is Programming Knowledge Related To Age?”這篇論文的結論是:

  • 程序員技術能力上升是可以到50歲或60歲的。
  • 老程序員在獲取新技術上的能力並不比年輕的程序員差。

隨着年齡老去的,是我們的身體,而永葆年輕的,則是我們的心。心不老,青春在,寶刀寒光仍閃耀,依舊斬上將首級於萬千敵陣中如兒戲爾。程序員,走自己的路,讓用年齡唱衰我們的人說去吧。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章