• 程序員的年齡天花板

    0
    程序員 .NET C/C++ Go Microsoft 10483 次瀏覽

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

    其他行業里的老將

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

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

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

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

    老程序員啊

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

        果真如此?

    國內環境

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

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

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

    團隊分類

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

    1. 外包型
    2. 項目型
    3. 產品型

        咱們一一來說一下吧。

    外包型

        什么是軟件外包呢?

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

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

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

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

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

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

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

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

    項目型

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

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

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

    產品型

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

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

    程序員的價值所在

        (注:我在“程序員保值的4個秘密”一文中討論了和這節類似的問題)

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

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

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

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

        (一)選行業

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

        (二)技術

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

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

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

        (三)產品意識

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

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

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

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

    公司的招聘要求分析

        在現實中,公司招聘程序員時,多數時候會提到業務和技術方面的任職要求,我截取了兩則招聘信息,貼出來看看:


        這是招聘 Android 開發工程師的,職位要求里的第5點,就是行業業務要求。1、2、3、4都是技術要求了。

        再看一個:


        這個職位要求很硬很牛逼了,大部分都是技術方面的,不過第6點,依然是行業業務相關的。


        其實我比較中意的是一個人是否愛他喜歡他所做的事情,如果你愛,泛愛眾,又是真愛,那你就有了坐著火箭飛行的基礎了,如果沒有這一點,嗯,頂多是做到稱職 而已。不過你翻遍招聘網站的招聘需求,這方面的要求都很少見到,原因大概是很難描述、量化,因為它實在是一個軟指標。


    結論

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

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

        下面這張圖來自 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歲的。
    • 老程序員在獲取新技術上的能力并不比年輕的程序員差。


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

    --------

    更多精彩文章,參看“漫談程序員”專欄。

    我開通了微信訂閱號“程序視界”,關注即可第一時間看到我的原創文章以及我推薦的精彩文章:

    程序視界


    來自:http://blog.csdn.net/foruok/article/details/41276631

    相似問題

    相關經驗

    相關資訊

    相關文檔

  • sesese色