程序員的年齡天花板
我是一個(gè)老程序員了, 2014 年我不斷在思考一個(gè)問(wèn)題:程序員的年齡天花板到底是多少歲?
其他行業(yè)里的老將
農(nóng)村有一些老人 70 多歲了還能種地,不但能種小麥玉米,還能在自己房子后面種點(diǎn)白菜、蘿卜、西紅柿、豆角什么的,自給自足,不靠孩子贍養(yǎng)。
褚時(shí)健70多歲承包荒山開(kāi)始種橙,現(xiàn)在褚橙是知名品牌。
我們家不遠(yuǎn)處有個(gè)同仁堂,同仁堂里有中醫(yī)館,中醫(yī)館里都是老先生,太年輕的沒(méi)人看。
你看國(guó)家高級(jí)領(lǐng)導(dǎo)人,都沒(méi)個(gè)年輕的,60多歲就算少壯了……
老程序員啊
很多行業(yè)對(duì)年齡沒(méi)有特別限制,有的行業(yè)甚至是越老越吃香,可程序員呢,很多人都覺(jué)得是吃青春飯的,是“以色事人”的,年老色衰就會(huì)很悲哀。
果真如此?
國(guó)內(nèi)環(huán)境
國(guó)內(nèi)的 IT 公司,軟件開(kāi)發(fā)水平和意識(shí)整體較差,多數(shù)公司做出來(lái)的產(chǎn)品差強(qiáng)人意,上一幫子人做出一東西來(lái),再上一幫子人花一大把錢(qián)去推廣,就這么個(gè)現(xiàn)狀吧。這種現(xiàn)狀是 由逐利的急切性引起的,逐利的急切性又客觀上造成了對(duì)技術(shù)的短視,再往下推,自然就是對(duì)技術(shù)人員和技術(shù)能力的不重視,最后也就談不上人才的培養(yǎng)和技術(shù)的積 累了。
計(jì)算機(jī)軟件已經(jīng)成為整個(gè)社會(huì)發(fā)展的基礎(chǔ)支撐,各行各業(yè)都需要,各行各業(yè)也都需要開(kāi)發(fā)軟件的程序員。行業(yè)背景不同,對(duì)技術(shù)的看法自然會(huì)有不同。我前面概述的現(xiàn)狀,自然也有一些公司不在其列,但大多數(shù)是如此的,90%以上是醬紫:東西做出來(lái),錢(qián)賺到了,勝利,其它的,毛線。
在這樣一種心態(tài)和現(xiàn)實(shí)下,做東西的人,談不上多受重視,很多公司的老板覺(jué)得拉一幫子人就能把東西搞出來(lái),他認(rèn)為要做的東西根本就沒(méi)什么技術(shù)難度,網(wǎng) 上抄一抄,加班搞一搞,這么著就出來(lái)了。年輕人身體好,牽絆少,能拼能加班,可以彌補(bǔ)與老程序員在水平上的些許差距,為什么不用年輕人呢?是吧。你說(shuō)呢。 年輕人又便宜,一個(gè)老程序員的薪水可能可以雇好幾個(gè)年輕小伙子,三個(gè)臭皮匠能頂諸葛亮,我?guī)讉€(gè)人還干不過(guò)你一個(gè)么。
團(tuán)隊(duì)分類(lèi)
為了討論程序員的職業(yè)壽命,我們先得給公司或者團(tuán)隊(duì)分分類(lèi)。大概有這么三類(lèi):
-
外包型
-
項(xiàng)目型
-
產(chǎn)品型
咱們一一來(lái)說(shuō)一下吧。
外包型
什么是軟件外包呢?
來(lái)來(lái)來(lái),發(fā)揮剪報(bào)君的特長(zhǎng),看看百度百科的定義:
軟件外包就是企業(yè)為了專(zhuān)注核心競(jìng)爭(zhēng)力業(yè)務(wù)和降低軟件項(xiàng)目成本,將軟件項(xiàng)目中的全部或部分工作發(fā)包給提供外包服務(wù)的企業(yè)完成的軟件需求活動(dòng)。
看見(jiàn)了吧,大多數(shù)時(shí)候,軟件外包干的就是人家不愿意干的臟活、累活、低技術(shù)含量的活。我在“親愛(ài)的程序猿們?cè)趺凑夜ぷ?/a>”一文中已明確我的看法:有產(chǎn)品做,就不要做外包。
我見(jiàn)過(guò)的外包,有對(duì)歐美的,對(duì)日的,對(duì)華為的,這幾類(lèi)很多,前些年中國(guó)的勞動(dòng)力成本低,外包業(yè)務(wù)很發(fā)達(dá),現(xiàn)在印度成本更低并且軟件開(kāi)發(fā)規(guī)范程度更高,是比中國(guó)更受青睞的外包市場(chǎng)。
做軟件外包的缺點(diǎn)有幾個(gè):
-
技術(shù)積累缺少持續(xù)性
-
不穩(wěn)定
-
沒(méi)有話語(yǔ)權(quán)
專(zhuān)門(mén)做外包的公司,有活兒了你就干,沒(méi)活兒啦你可能就得滾蛋。這有什么可說(shuō)的呢,我不養(yǎng)閑人呢親。所以這是不穩(wěn)定。
對(duì)程序員來(lái)講,在外包類(lèi)公司,是最容易遭遇年齡坎兒的。因?yàn)楦傻幕顑杭夹g(shù)含量低(核心的人家自己干啦),個(gè)人的可替代性就強(qiáng),你一經(jīng)驗(yàn)豐富的老程序 員薪資又高,每月 20K、30K很常見(jiàn)啊,對(duì)老板來(lái)講養(yǎng)不起啊,肉疼心也疼,搞幾個(gè)年輕的吧,三千兩千都有人干,還也能干得了,你說(shuō)說(shuō),你一個(gè)人拿的錢(qián)能雇七八個(gè)年輕人, 你多危險(xiǎn)呢你。還有你事兒多,有老婆孩子,孩子學(xué)校不定什么事兒呢,晚上還得招呼孩子功課,加個(gè)班兒都不痛快,要你干么地吧。就算你技術(shù)很強(qiáng),可外包這種 性質(zhì),打一槍換個(gè)地方,活干完了就了事了,再?gòu)?qiáng)也沒(méi)你用武之地呀。再說(shuō)啦,留兩個(gè)強(qiáng)人就行了,要那么多凈浪費(fèi)公司銀子。
項(xiàng)目型
中國(guó)電信、中國(guó)移動(dòng)、中國(guó)聯(lián)通,電信三家公司,養(yǎng)活了數(shù)不盡的項(xiàng)目型公司和團(tuán)隊(duì)啊。還有一眾銀行、金融企業(yè)、政企,也養(yǎng)活了數(shù)不盡的項(xiàng)目型公司啊。
什么是項(xiàng)目型公司呢?就是以給人做項(xiàng)目為主業(yè)的公司,接到項(xiàng)目就開(kāi)工,有錢(qián)賺,比如你接人家電信的網(wǎng)上營(yíng)業(yè)廳,比如你接人家某某大型國(guó)企的政務(wù)信息 化,等等;接不到項(xiàng)目呢,就收縮規(guī)模,裁員……就這種啦。我見(jiàn)過(guò)很多,電信、金融、石油、電力、教育、政務(wù)、鐵路……,各行各業(yè)都需要這種項(xiàng)目型公司,用 自己公司的人,幫別人干項(xiàng)目,干出來(lái)活所有權(quán)不歸你公司,歸人家,可延續(xù)性很差,也不需要多少人來(lái)維護(hù),就是要維護(hù),留上一兩個(gè)核心的懂業(yè)務(wù)的就夠了,其 它人,鳥(niǎo)盡弓藏,沒(méi)項(xiàng)目了你就只好走人了吧。
項(xiàng)目型公司比外包型稍強(qiáng)一些,技術(shù)上可以自己選擇,也能夠在某個(gè)行業(yè)長(zhǎng)期積累經(jīng)驗(yàn),甚至你還有可能自己立山頭自己干。不過(guò)對(duì)于不能拉隊(duì)伍自己搞的普 通程序員來(lái)說(shuō),還是可持續(xù)性差一些,可替代性差一些。我就見(jiàn)過(guò)電信的項(xiàng)目,一個(gè)大項(xiàng)目拆成多個(gè)小項(xiàng)目,分給七八個(gè)小公司來(lái)搞,今天你搞著呢,下一期另外一 個(gè)小公司和對(duì)口主管關(guān)系好,把你替了……有些程序員會(huì)在出沒(méi)于電信一個(gè)大樓里的幾個(gè)公司之間跳來(lái)跳去……從這一點(diǎn)上講,程序員也不重要啊,公司也不重要 啊,這個(gè)公司不干還有那個(gè),這個(gè)程序員不干還有那個(gè),另外程序員的價(jià)值也不高啊,有個(gè)懂業(yè)務(wù)的,配幾個(gè)小年輕,事兒也就能搞成,你說(shuō)你老大不小的,怎么跟 年輕人拼呢……
產(chǎn)品型
毋庸置疑,做產(chǎn)品的公司是程序員最好的選擇。一個(gè)公司做了一個(gè)好產(chǎn)品,運(yùn)營(yíng)這個(gè)產(chǎn)品,產(chǎn)品會(huì)不斷迭代、更新,程序員會(huì)跟著這個(gè)產(chǎn)品一直往前走,公司 需要了解產(chǎn)品、了解業(yè)務(wù)、技術(shù)積累厚的人才,而要懂業(yè)務(wù)、懂產(chǎn)品、有積累,都需要時(shí)間,等你什么都了解差不多了,也就是個(gè)老程序員了不是。而且隨著你對(duì)產(chǎn) 品了解的越深,你的不可替代性就越高,價(jià)值就越能凸顯出來(lái)。當(dāng)你的不可替代性高時(shí),老板就要考慮替代的成本。什么都不懂的年輕后生,根本撼不動(dòng)你的地位。
做產(chǎn)品的公司有相當(dāng)數(shù)量,也有很多知名的,比如騰訊、百度、阿里、愛(ài)奇藝、PPTV等等,開(kāi)發(fā)人員也數(shù)量龐大,幾千到幾萬(wàn)人的都有,但是這樣的公司 所擁有的開(kāi)發(fā)人員總數(shù)量,與中國(guó)幾百萬(wàn)程序員群體相比,還不是一個(gè)數(shù)量級(jí)的呀。那更多的程序員在哪里呢?就在項(xiàng)目型公司、外包型公司。
程序員的價(jià)值所在
(注:我在“程序員保值的4個(gè)秘密”一文中討論了和這節(jié)類(lèi)似的問(wèn)題)
對(duì)于程序員來(lái)講,價(jià)值怎么體現(xiàn)?一個(gè)程序員的價(jià)值,就體現(xiàn)在他的稀缺性上。物以稀為貴么,亙古不變的道理。
“聞道有先后,術(shù)業(yè)有專(zhuān)攻”這句話很適用于程序員,直白點(diǎn)說(shuō),技術(shù)的精湛不是以年齡來(lái)評(píng)判的,有的朋友在上學(xué)時(shí)的技術(shù)水平已經(jīng)比工作十來(lái)年的高了,有工作十年的水平不如工作三年的,當(dāng)然也有很多程序員的技術(shù)水平是正比于年齡增長(zhǎng)的。
作為一個(gè)老程序員,只有你的技術(shù)能力正比于年齡,才是合格的,否則就必然越走越慢,慢慢掉隊(duì),最終就只能面臨被年輕人擠兌、淘汰的窘?jīng)r,結(jié)果就是被迫離開(kāi)程序員的隊(duì)伍。
程序員要想讓自己的價(jià)值持續(xù)增長(zhǎng),有這么幾個(gè)方向可供參考。
(一)選行業(yè)
在一個(gè)行業(yè)內(nèi)持續(xù)積累,對(duì)行業(yè)的理解到位,積累深厚,你的價(jià)值是巨大的。不信你去瀏覽招聘網(wǎng)站上的崗位需求,99%都要求相關(guān)行業(yè)背景。所以,選擇一個(gè)靠譜的、前景好的行業(yè)非常重要,只要這個(gè)行業(yè)能夠不斷發(fā)展、前進(jìn),你的積累就是有價(jià)值的,你自己就是不斷增值的。
(二)技術(shù)
程序員,業(yè)務(wù)積累是屠龍刀,技術(shù)積累是倚天劍,兩個(gè)都有,那就逢山開(kāi)路遇水搭橋沒(méi)有走不通的路了,你一定是先鋒部隊(duì)尖刀兵,到哪里都具有超強(qiáng)的攻擊性。
技術(shù)上最起碼的要求是技術(shù)水平和視野對(duì)得起年齡,如果有超越年齡的積累和犀利,那就沒(méi)話說(shuō)了,地球人已經(jīng)阻擋不了你前進(jìn)的步伐了。
就技術(shù)來(lái)講,假如你掌握了一門(mén)很難又很重要的技術(shù),那單單是這一點(diǎn),就很有價(jià)值。比如你熟悉 Windows 內(nèi)核或 Android 內(nèi)核,能夠熟練撰寫(xiě)各種驅(qū)動(dòng),那找個(gè)月薪五六十K的工作不成問(wèn)題。再比如你圖像處理算法很牛,再比如你視頻解碼算法很牛,……像這些特定領(lǐng)域的算法,我們 也叫它技術(shù)吧。如果你懂類(lèi)似的算法并能實(shí)現(xiàn)之,恭喜你,你已經(jīng)超越了 90% 的程序員了,你的重要性和價(jià)值將不可估量。
(三)產(chǎn)品意識(shí)
做產(chǎn)品也是講感覺(jué)的,當(dāng)然有時(shí)我們覺(jué)得對(duì)產(chǎn)品的把握是產(chǎn)品經(jīng)理的事兒,這么講對(duì),也不對(duì)。產(chǎn)品經(jīng)理雖然是不掛銜的 CEO ,但產(chǎn)品的最終實(shí)現(xiàn),是要靠程序員的,假如你對(duì)產(chǎn)品沒(méi)有熱情、沒(méi)有感覺(jué),無(wú)所謂好無(wú)所謂壞,那很難做到出色了。
我有一個(gè)很樸素的想法,一個(gè)程序員,要想做一個(gè)不那么糟糕的產(chǎn)品,一定要有愛(ài),就像天龍八部里的段譽(yù)哥哥,見(jiàn)到美女就愛(ài)得要死要活,對(duì)每一位妹妹的 愛(ài)都是發(fā)自真心的、都是熾烈的、都是讓人魂?duì)繅?mèng)縈的。惟其如此,你才能像張京兆(張敞,曾任京兆尹)為妻子畫(huà)眉那樣用心雕琢你的產(chǎn)品,對(duì)每一個(gè)細(xì)節(jié)都念茲 在茲直到完美。這是講我們程序員要愛(ài)產(chǎn)品,愛(ài)各種各樣的產(chǎn)品,是做出好產(chǎn)品的前提。
你愛(ài)你做的產(chǎn)品,打心眼里希望她好,就有了第一個(gè)前提了。那接下來(lái)就很容易進(jìn)入角色了,每做一個(gè)產(chǎn)品都會(huì)有積累,走心嘛,沒(méi)積累才奇怪。慢慢你就會(huì)培養(yǎng)出對(duì)產(chǎn)品的獨(dú)特感覺(jué),形成產(chǎn)品意識(shí),鶴立于程序員群里了。
再羅嗦一點(diǎn),業(yè)務(wù)積累是屠龍刀,技術(shù)積累是倚天劍,那產(chǎn)品意識(shí)就是張無(wú)忌了,由他來(lái)控制屠龍刀和倚天劍,那就能發(fā)揮無(wú)上威力了。
公司的招聘要求分析
在現(xiàn)實(shí)中,公司招聘程序員時(shí),多數(shù)時(shí)候會(huì)提到業(yè)務(wù)和技術(shù)方面的任職要求,我截取了兩則招聘信息,貼出來(lái)看看:
這是招聘 Android 開(kāi)發(fā)工程師的,職位要求里的第5點(diǎn),就是行業(yè)業(yè)務(wù)要求。1、2、3、4都是技術(shù)要求了。
再看一個(gè):
這個(gè)職位要求很硬很牛逼了,大部分都是技術(shù)方面的,不過(guò)第6點(diǎn),依然是行業(yè)業(yè)務(wù)相關(guān)的。
其實(shí)我比較中意的是一個(gè)人是否愛(ài)他喜歡他所做的事情,如果你愛(ài),泛愛(ài)眾,又是真愛(ài),那你就有了坐著火箭飛行的基礎(chǔ)了,如果沒(méi)有這一點(diǎn),嗯,頂多是做到稱(chēng)職而已。不過(guò)你翻遍招聘網(wǎng)站的招聘需求,這方面的要求都很少見(jiàn)到,原因大概是很難描述、量化,因?yàn)樗鼘?shí)在是一個(gè)軟指標(biāo)。
結(jié)論
我要亮出我的觀點(diǎn),評(píng)說(shuō)就任人了。
我的結(jié)論是:程序員的價(jià)值與年齡沒(méi)有直接關(guān)系,價(jià)值不會(huì)反比于年齡。作為軟件開(kāi)發(fā)人員,自己不要給自己在年齡上設(shè)限,很多事情我們沒(méi)做成,很多時(shí)候我們沒(méi)能取得更大的成就,都是因?yàn)槲覀兿冉o自己設(shè)置了限制,用這個(gè)限制禁錮了自己。
下面這張圖來(lái)自 cnbeta 的文章“2014年中國(guó)程序員調(diào)查報(bào)告”,他說(shuō)明了國(guó)內(nèi)程序員的年齡分布情況:
圖1 程序員年齡分布
誰(shuí)說(shuō)程序員干不過(guò)三十歲呢,圖1表明,30歲以上的程序員占比高達(dá) 48.62%,占整個(gè)程序員群里的將近一半。
2015年1月22日,我去參加 Qt 西安開(kāi)發(fā)應(yīng)用研討會(huì),有一哥們就是老程序員,40多了,寶刀正鋒利呢。
王江民30多歲寫(xiě)軟件,43歲搞出橫掃殺軟市場(chǎng)的江民殺毒。
我的老上司,40來(lái)歲了寫(xiě)直播流媒體協(xié)議,P2P的,傳輸效率高且穩(wěn)定。
……
年齡只是一個(gè)自然現(xiàn)象,而我們的經(jīng)驗(yàn)、認(rèn)知、能力、心智成熟度,在合理的情況下,都是隨著年齡增長(zhǎng)的,廉頗不老,黃忠能戰(zhàn),只要你走在正確的方向上有值得稱(chēng)道的積累,緣何不能橫刀立馬顧盼自雄耶。
國(guó)外的研究論文和結(jié)論
讓我們看一下國(guó)外牛人的研究吧:“ Is Programming Knowledge Related To Age?”。這個(gè)鏈接是英文的,pdf 版本,基于 Stack Overflow上的數(shù)據(jù)分析得出的結(jié)論。嫌 E 文難看的,來(lái)看個(gè)中文的:“程序員越老越博學(xué)嗎?”,該文引用了“Is Programming Knowledge Related To Age?”的數(shù)據(jù)和結(jié)論。
“Is Programming Knowledge Related To Age?”這篇論文的結(jié)論是:
-
程序員技術(shù)能力上升是可以到50歲或60歲的。
-
老程序員在獲取新技術(shù)上的能力并不比年輕的程序員差。
隨著年齡老去的,是我們的身體,而永葆年輕的,則是我們的心。心不老,青春在,寶刀寒光仍閃耀,依舊斬上將首級(jí)于萬(wàn)千敵陣中如兒戲爾。程序員,走自己的路,讓用年齡唱衰我們的人說(shuō)去吧。