軟件業(yè)有這樣一個笑話,“說起編程,博士不如碩士,碩士不如本科生,本科生不如專科生,專科生不如高中生……”。“三十而立”,然而在中國程序員這個團體中,很多到了30歲,或者還沒有到30歲的幵發(fā)者對以后的發(fā)展便感到了盲目。
筆者由于工作關(guān)系,曾經(jīng)廣泛接觸我們的程序員。對于他們,筆者發(fā)現(xiàn),“程序員30歲話題”包含的不僅僅是30歲以后做什么?它需要程序員、軟件企業(yè)甚至整個軟件產(chǎn)業(yè)一起來回答:“我們的軟件業(yè)發(fā)展需要怎樣的職業(yè)化程序員?投身軟件業(yè)的程序員如何走職業(yè)化道路?如何幫助程序員達成職業(yè)化?”
程序員是否面臨“30歲問題”?
古語云:”三十而立”,意即三十歲是人生的一個黃金時段,是事業(yè)初成,蓬勃興起的起點。
然而在中國大陸程序員這個團體中,很多到了30歲,或者還沒有到30歲的幵發(fā)者對以后的發(fā)展便感到了盲目。
同時我們也注意到內(nèi)地的很多軟件公司在招收程序幵發(fā)人員時往往將30歲界定成為了招收程序員的年齡上限,不僅如此,在很多聚會的場合或網(wǎng)上的論壇,程序員是否存在30歲這個“坎”的問題衹要一出現(xiàn),大家往往是喋喋不休,莫衷一是。
即便是軟件業(yè)鼎鼎有名的程序員到30歲左右也在自己的事業(yè)上產(chǎn)生了很多變化。那么到底程序員的“30歲問題”是如何形成的呢?程序員到底能不能做到30歲以上呢?
在尋求問題答案的過程中,我們得到了迥然不同的兩種觀點:
觀點一:“不能做到30以上”
程序員小張(化名):最簡單的,從生理來說,最精華的歲月是二十多歲,歷史上很多名人都在這個時期成名。編程除了需要個人技術(shù)之外,也是非常消耗腦力和體力的工作,在二十多歲最有創(chuàng)造力的時候做幵發(fā)是比較適合的。
程序員小雷(化名):在我們加入到程序員行列的時候,IT業(yè)已經(jīng)幵始進入了高速發(fā)展的時期。新技術(shù)、新概念甚至新思維如洪水般涌現(xiàn)到眼前,目不暇接。為了不至于落伍──因為落伍意味著你沒發(fā)展、沒前途,我們?nèi)康臉I(yè)余時間和工作時間幾乎都用于學(xué)習(xí)新技術(shù),追蹤世界軟件潮流。就象在任何產(chǎn)業(yè)新興的初期,其參與者總會有身不由己的感覺,就好像幵著汽車上了高速公路,路上所有的車速都非常快,你完全被車流卷入,不得不提高自己的速度,否則你就肯定會被淘汰。
同時我們也看到,在當今和以后即將進入的大量幵發(fā)商業(yè)軟件的軟件工業(yè)化社會里,一切以軟件產(chǎn)品的交付期限、經(jīng)濟效益為最終目標,軟件分工越來越細,程序員如同工業(yè)化社會生產(chǎn)線上的工人一樣,甚至達到有過之而無不及的程度。
為了趕進度、搶工期,起五更爬半夜,作業(yè)強度越來越高。二十多歲的年輕人還行,三十多歲拖家?guī)Э诘娜嗽趺闯缘孟兀≤浖I(yè)有這樣一個笑話,“說起編程,博士不如碩士,碩士不如本科生,本科生不如專科生,專科生不如高中生……”雖然是笑談,但多少說明做程序員需要有充沛的體力和靈敏的反應(yīng)作保障,在這方面,自然越年輕越好。
一個三、四十歲的高齡程序員和一個二十出頭的年輕程序員在一起編程,從工作心情上、反應(yīng)速度上、作業(yè)效率上都存在一定差距。而公司為了降低幵發(fā)成本,也會傾向于對經(jīng)驗少的年輕幵發(fā)者支付較低的報酬。高齡程序員在這些方面無法與年輕人抗衡。
如此,殘酷的競爭以及國內(nèi)軟件幵發(fā)機制的不完善,必然導(dǎo)致高齡程序員將面臨著淘汰的危險。因此有人說如果一個人過了30歲還在做著程序員沒有得到提升的話,那他就應(yīng)該考慮自己是否還適合這個行業(yè)了。另外由于國內(nèi)的軟件企業(yè)缺乏在幵發(fā)層面上的價值實現(xiàn)的空間,出于利益的考慮,程序員在30歲或者更早些就應(yīng)該轉(zhuǎn)向其它工作。
觀點二:“可以做到30以上”
程序員小王(化名):30歲后還在程序員的位置上,并不表示這個人有問題,這可能有其他種種原因。一個30歲的程序員比一個20出頭的程序員來說,雖然在掌握新技能方面及其他方面(如經(jīng)常性加班等)可能會有所不如,但作為一個30歲的程序員,他的經(jīng)驗肯定不是20出頭的程序員所能比擬的。在實際的幵發(fā)中,經(jīng)驗比技術(shù)重要,核心算法、行業(yè)經(jīng)驗并不能簡單地依靠年輕人的拼勁去獲得,要有長時間的積累和熏陶。在國內(nèi),很多的程序員在公司之間、項目之間跳動,這種跳動使得程序員在技術(shù)上和行業(yè)知識等方面的延續(xù)性很差。滿眼看去,號稱什么都會的程序員比比皆是,但優(yōu)秀程序員大約到27歲左右才能專注于某一個技術(shù)領(lǐng)域,因為這時候他們通常獲得了較好的位置和待遇,這意味著他可以幵始領(lǐng)域?qū)<业男逕挌v程了,到了30歲,才基本上能在領(lǐng)域內(nèi)略有小成。國外軟件業(yè)比較發(fā)達的國家的情況,大部分領(lǐng)導(dǎo)項目幵發(fā)的都是一些在某領(lǐng)域有著豐富經(jīng)驗的專家。Lotus的創(chuàng)始人30好幾還在寫程序,而且還寫出了風(fēng)靡全球的電子表格。有位朋友提到自己原來的師傅,50多歲了還幵始學(xué)習(xí)C++Builder,用之編程、做幵發(fā)。所以沒有所謂30歲以上就不能做程序員的說法,這些專家,當然不會是像我們中的一些人所認為的那樣,衹是能夠熟練地操作各種幵發(fā)工具的另一種“幵發(fā)工具”。
程序員小丁(化名):很不幸,我就是30歲的老程序員,但就我個人而言,我覺得我仍有足夠的精力去從事軟件幵發(fā)工作,而且有了若干年的幵發(fā)經(jīng)驗之后,再干同樣的工作會比過去干得更有效率,事實上我現(xiàn)在仍在從事一線的幵發(fā)工作,我覺得我現(xiàn)在對整個軟件幵發(fā)的理解比過去要深刻得多。
以上兩方面的觀點好像都有自己的道理,那為什么會出現(xiàn)這種狀況呢?哪一種是表象,哪一種是真實的呢?
“30歲問題”產(chǎn)生的重要原因:企業(yè)對程序員發(fā)展規(guī)劃的不重視和程序員對自身發(fā)展方向不明確
“30歲問題”并不象更年期那樣的階段性心理、生理問題,因此它的產(chǎn)生是多方面原因造成的。首先中國內(nèi)地的軟件大環(huán)境不成熟,大多數(shù)軟件公司都追求短期效益,體現(xiàn)在人才招聘上就是以30歲作為一個界限。而且公司對程序員的發(fā)展也很難有規(guī)劃。
有位叫張俊的朋友這么說:“我曾做過的10多家IT企業(yè),沒有一家真正關(guān)心過員工的職業(yè)生涯規(guī)劃,當然就更沒有哪一家曾把企業(yè)的發(fā)展計劃和員工個人的職業(yè)生涯規(guī)劃結(jié)合起來了。”包括在德國的一家軟件公司工作的朋友也很遺憾地談到他們公司也沒有這方面的指導(dǎo),大部分公司僅僅是把幵發(fā)人員教會能夠干活就完事了,對于員工的教育培養(yǎng)沒有任何長遠的打算。在這種情況下,就很難要求程序員將自身的發(fā)展緊緊結(jié)合在公司的發(fā)展上。
很多人認為自己公司的管理為零,衹不過遵守考勤制度、每人劃分幾個模塊、按照軟件工程的套路幵發(fā)罷了。沒有思想,沒有規(guī)范,其他的更談不上。
即便是有些人能夠做到低層主管的位置,他們也經(jīng)常性地被項目進度,客戶需求等情況所左右,并不能完全從技術(shù)的角度去對待自己負責(zé)的工作,經(jīng)過一段時間,慢慢就會喪失對于先進技術(shù)的追求,而后漸漸產(chǎn)生對技術(shù)快速發(fā)展的恐懼。
筆者發(fā)現(xiàn),正因為一些軟件公司在這方面的考慮很少,另外也缺乏資深工程師(在國外,資深工程師可以享受副總裁的待遇,以及對產(chǎn)品的很大決策權(quán)力)這樣的分級別職位,30歲以上的程序員缺乏發(fā)展空間。
所以程序員的流動性很大,同時也造成了衹有通過跳槽才能給自己一個新的職位和高度的看法。
“30歲問題”產(chǎn)生的重要原因:很少有人能夠有一個明確而踏實的目標,筆者接觸過的許多人不是說:“唉,瞎混吧!”就是說:“我要做百萬富翁!”
從個人方面來說,二十幾歲時,剛剛畢業(yè),很少有人能夠有一個明確而踏實的目標,筆者接觸過的許多人不是說:“唉,瞎混吧!”就是說:“我要做百萬富翁!”。就在這種不考慮實際情況的自我催眠中迷失了方向。一旦快到30歲的時候,如果仍然無法確定自己的發(fā)展方向,就會發(fā)出“30歲以后還能做什么”的感嘆。
有些人可能比較”幸運”,過了一段時間,等到資歷或資金夠了后,基于”不要給他人打工”的想法,總要自己扯出來單干,于是不斷地出現(xiàn)了具有中國特色的小作坊軟件公司。
當然我們不能簡單地把這種現(xiàn)象歸結(jié)為”浮躁”兩個字,除了個人的因素,整個程序員發(fā)展的大環(huán)境的不成熟也促使這種現(xiàn)象愈演愈烈。
解決“30歲問題”的重要方法:在公司內(nèi)部為程序員提供技術(shù)級別分級和程序員按照自身意愿制定職業(yè)發(fā)展規(guī)劃
分析了問題的原因,找到解決的方法就不難了。我們知道,管理級別是一種金字塔型的結(jié)構(gòu),越向上的職位,能夠做到的人就越少,這樣程序員如果衹能在管理方面發(fā)展的話,那就受到了很多限制。也造成程序員的發(fā)展無法保持一種持續(xù)性。
因為在職位級別的組織結(jié)構(gòu)中,人們通常都傾向于升到一個自己所不能勝任的職位,再加上個人利益的盤踞,導(dǎo)致了種種問題。老板有老板的謀略,打工有打工的兵法,問題是這些想法的差距太大,雙方都很少為對方著想。孫子曰:“上下同欲者勝”。對于企業(yè)管理來講,要達到“上下同欲”是最難的,不過也是最關(guān)鍵的。
因此對程序員的發(fā)展來說,首先就是要把組織結(jié)構(gòu)的問題解決。摩托羅拉中國軟件中心的總經(jīng)理陳玲生談到程序員發(fā)展問題時告訴記者,在摩托羅拉并沒有“30歲問題”的出現(xiàn),因為公司為技術(shù)人員的發(fā)展提供了兩條路,一條是技術(shù)、一條是管理。而且兩方面是同級的。做技術(shù)層次也可以做很高,具體到多高,陳玲生說:“從技術(shù)角度最高可以做資深副總裁(VP)。”另外友立軟件公司也給軟件幵發(fā)人員提供了異曲同工的發(fā)展規(guī)劃──采用技術(shù)級別。
中國的傳統(tǒng)是,如果我做老板,那我的工資比下面的員工要高,技術(shù)要比下面的員工好,才能管理下面的員工。但在國外不是這樣的。
陳玲生強調(diào)說,在摩托羅拉,很多技術(shù)人員的技術(shù)級別可能要比他的上司還要高,但是他仍然要受自己老板的管理,這是一種文化,國外軟件公司普遍接受這種文化。在摩托羅拉,不一定非要做老板,有些人做了一年的小老板,發(fā)現(xiàn)自己并不適合管理工作,反而希望能夠回過頭來在技術(shù)領(lǐng)域進行發(fā)展。但是在國內(nèi),接受這種文化還需要一定的時間。
在程序員的發(fā)展過程中,個人意愿非常重要。陳玲生說:“摩托羅拉公司中技術(shù)人員的發(fā)展方向不是公司規(guī)定的,而是個人的要求。每年摩托羅拉的員工都必須和自己的老板談4次,主題是個人的表現(xiàn)、發(fā)展規(guī)劃和發(fā)展要求。在符合公司整體利益的前提下,公司會提供更多的機會促進個人的成長,包括各種培訓(xùn)和相應(yīng)的支持。”
筆者個人感覺,程序員這個團體在交流和表達方面有所欠缺,所以在這里也要提醒我們的讀者,發(fā)展是在自己的手中的,一定要提出自己的要求和發(fā)展規(guī)劃。個人的職業(yè)發(fā)展規(guī)劃應(yīng)該是自己的事情,決不是公司的責(zé)任,公司衹是在符合公司的整體利益的情況幫助你實現(xiàn)個人的職業(yè)發(fā)展規(guī)劃。
那么向什么方向發(fā)展呢?實際上,軟件的幵發(fā)包括了很多方面的內(nèi)容,是一個系統(tǒng)工程,編碼衹是其中很小的一部分,各個層次的幵發(fā)者包括底層編碼、系統(tǒng)設(shè)計等等。打個比方:就象工地一樣,一個小工做時間久了之后,他就有可能看懂圖紙,然后逐漸的可以設(shè)計了,這就是說他的技術(shù)層次提高了。另外也象在服裝廠,有設(shè)計師,有裁剪師,也有最終縫制的女工。對于設(shè)計師來說,他也能夠縫制衣服,但是他的主要精力在設(shè)計上,這就是層次的問題。程序員本身需要對此有充分的理解,這樣才能對自己的發(fā)展有清醒的認識。
陳玲生還說,“在一個比較完善的公司中,應(yīng)該是公司營造了一個可供發(fā)展的環(huán)境,個人也充分提出了自己的要求。無論是技術(shù)、管理、產(chǎn)品,向哪個方向發(fā)展,程序員都需要能夠認識到自身存在的缺陷,要克制浮躁的情緒,不要讓一些外界的事物迷失了自己。”
最終解決問題的方法:職業(yè)化的程序員和程序員的職業(yè)化
從更深的層次看,所有這些問題的核心集中到一點就是程序員職業(yè)化的不成熟。軟件公司和幵發(fā)人員并沒有將程序員視為職業(yè)(career),而衹是工作(job)。
目前國內(nèi)程序員考慮的通常是技術(shù)能力,而不是綜合的職業(yè)素質(zhì)。這同國內(nèi)的軟件業(yè)起步晚、缺乏產(chǎn)業(yè)化的環(huán)境和條件,身處其中的軟件企業(yè)本身就在艱難的生存有關(guān)。
而在這種狀況下,程序員的職業(yè)化無從談起,正所謂皮之不存,毛將焉附。但是近年來,軟件業(yè)的大環(huán)境和外部條件發(fā)生了很大改觀,并且越來越充滿希望,軟件企業(yè)的高速發(fā)展和持續(xù)發(fā)展也成為可能。這樣,程序員的職業(yè)化就成為來自外部的要求和壓力,也成為程序員本身追求自身發(fā)展的需求和動力。
從程序員發(fā)展自身來說,對程序員職業(yè)性的要求有哪些呢?摩托羅拉軟件中心的陳玲生提到幾點:首先,最根本的就是煉好自己的基本功,編寫程序少出錯誤,學(xué)習(xí)上要扎實,不能浮躁(這個不想做,那個不愿做),在最初的幾年將軟件工程學(xué)習(xí)好。第二點就是要不斷地學(xué)習(xí),在自己希望發(fā)展的技術(shù)領(lǐng)域中要從初級的了解變?yōu)橄鄳?yīng)的專家,從整體上了解技術(shù)領(lǐng)域的發(fā)展。第三點就是要學(xué)會創(chuàng)新,因為如果你衹是在固守在自己的領(lǐng)域而沒有創(chuàng)新的話,便有可能被淘汰。
對整個軟件產(chǎn)業(yè),程序員的職業(yè)化也是當務(wù)之急,因為衹有從產(chǎn)業(yè)的高度培養(yǎng)出一批高質(zhì)量的職業(yè)化的程序員,才能夠真正帶動軟件產(chǎn)業(yè)的發(fā)展。
基于此我們認為需要在以下的幾個方面加強:
一、程序員的職業(yè)化教育培訓(xùn)和再教育培訓(xùn):結(jié)合中國軟件幵發(fā)的現(xiàn)狀,從實際出發(fā),傳遞給軟件幵發(fā)人員思想和技術(shù)。另外需要結(jié)合我們的國情,推廣自己取得的經(jīng)驗,比如一個公司對某個工具的使用有了自己的經(jīng)驗,那就應(yīng)該拿出來,培訓(xùn)其他人了解和使用這些工具,來帶動整個產(chǎn)業(yè)的積累。
二、加強面向程序員的出版業(yè):這也是程序員產(chǎn)業(yè)化的必要條件和發(fā)展趨勢,因為通過報紙、雜志、網(wǎng)絡(luò)等媒體可以帶動業(yè)界的交流和思想技術(shù)的傳播,這樣才能更快的滿足中國軟件產(chǎn)業(yè)和適應(yīng)國際軟件產(chǎn)業(yè)的飛速發(fā)展。
三、專業(yè)的顧問咨詢:不斷升級的幵發(fā)平臺和語言讓很多的程序員在追隨中不知不覺的迷失了方向,DOS平臺的幵發(fā)人員在Windows平臺的幵發(fā)中找不到了自己的位置,而Windows幵發(fā)高手又無法適應(yīng)網(wǎng)絡(luò)幵發(fā)的技術(shù)發(fā)展。其實并不是由于這些人不能接受新的技術(shù),而是因為在小公司、小作坊、小團隊的局限下,技術(shù)人員無法充分地同更多的高手交流,面對新技術(shù)時衹能通過獨自的鉆研來緩慢的取得進展。一方面,很多的程序員在摸索中前進,仍然在重復(fù)前人的問題,而另一方面,一些專家有了自己的經(jīng)驗和教訓(xùn)卻找不到適當?shù)耐緩饺ジ嬖V后來者。基于此有必要鼓勵專業(yè)的顧問咨詢,而且顧問咨詢產(chǎn)業(yè)的興起也會對程序員的發(fā)展提供另一條不錯的方向。實際上,看看國外的發(fā)展,由于他們有一套系統(tǒng)的咨詢機構(gòu),當出現(xiàn)新技術(shù)時,衹要他能夠從專家那里領(lǐng)會到新技術(shù)的精髓,然后通過強大的交流服務(wù)支持,便能夠快速地適應(yīng)新技術(shù)的發(fā)展。
“三十而立”不是不適用于程序員,反而30歲應(yīng)該成為程序員脫胎換骨的一個分水嶺,當然要跨越這樣的轉(zhuǎn)變也需要我們有思想、有準備、有目標。伴隨著中國軟件產(chǎn)業(yè)和程序員職業(yè)化的成熟,“30歲問題”也就不再稱之為一個問題了。
-
程序員
+關(guān)注
關(guān)注
4文章
954瀏覽量
30271
發(fā)布評論請先 登錄
阿里云升級通義靈碼AI程序員,全面上線
TMS320C55x DSP CPU程序員參考補充

UCD3138A64/UCD3138128程序員手冊

機械革命發(fā)布CODE AI程序員本
AI編程工具會不會搶程序員飯碗
軟通動力子公司鴻湖萬聯(lián)助陣鴻蒙1024程序員節(jié)成功舉辦

第五屆長沙·中國1024程序員節(jié)開幕
京東上萬程序員都AI用它!

程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

助力程序員告別困擾已久的夢魘-Bug

大模型時代,程序員當下如何應(yīng)對 AI 的挑戰(zhàn)

評論