筆者接觸過(guò)很多程序員,他們中的一些人非常崇拜技術(shù)英雄,以為靠著學(xué)習(xí)技術(shù)成為某一方面的“大拿”,就可以獨(dú)步天下,就可以換來(lái)穩(wěn)定的生活和極高的薪水待遇。但這些人最終并沒(méi)有幾個(gè)一直堅(jiān)持做程序員,而留在程序員崗位上的人,也并沒(méi)有幾個(gè)成為所謂的技術(shù)英雄。他們?cè)诟冻隽藥啄甑膶氋F青春時(shí)光后卻發(fā)現(xiàn),表面上自己收入很高,甚至有人已經(jīng)有房有車有孩子,但自己正處于或接近一個(gè)非常尷尬的位置:每天從事著毫無(wú)創(chuàng)造性的重復(fù)性勞動(dòng),在對(duì)新技術(shù)的敏感度上,根本不能和公司里的年輕人相比,而距離公司的管理層,又有一段不小的距離。總體來(lái)看,其實(shí)自己所得甚少,自己的價(jià)值正在縮水。因?yàn)?,年輕時(shí)積累的技術(shù)已經(jīng)過(guò)時(shí),另一方面,公司的發(fā)展已經(jīng)漸入軌道,對(duì)于這些資深程序員而言,已經(jīng)很難出現(xiàn)特別好的提升機(jī)會(huì),因此薪水的提高額度也非常有限。
另一大遺憾是,很大一部分軟件公司所能提供的培訓(xùn)機(jī)會(huì),確實(shí)太少,所有新技術(shù)的學(xué)習(xí),只能靠員工自己利用業(yè)余時(shí)間摸索完成。很多公司在職位配置上也缺乏階梯式的技術(shù)分級(jí),一般只有工程師和項(xiàng)目主管兩級(jí)結(jié)構(gòu),再往上就是純管理階層。從程序員的角度來(lái)講,感覺(jué)做技術(shù)并沒(méi)有多少上升的空間。一些人悲觀地認(rèn)為:程序員的命運(yùn),似乎就是等公司把自己榨干了,然后被公司無(wú)情地拋棄。
為什么會(huì)造成如此被動(dòng)的局面呢?
具體來(lái)說(shuō),有些程序員在選擇程序員這一行當(dāng)?shù)臅r(shí)候,對(duì)自己的特點(diǎn)并沒(méi)有系統(tǒng)、準(zhǔn)確的認(rèn)識(shí),甚至有的人進(jìn)入IT行業(yè)完全是一個(gè)被動(dòng)選擇的結(jié)果。因?yàn)椋湓诰唧w的個(gè)體身上,能夠認(rèn)識(shí)并認(rèn)清自己,非常不容易。尤其是那些涉世不深的大學(xué)畢業(yè)生,對(duì)他們來(lái)說(shuō),面對(duì)與日俱增的就業(yè)壓力,能夠找到一份工作已經(jīng)非常不容易,更何況找到一份收入很體面的工作。因此,很多剛?cè)胄械某绦騿T,僅僅因?yàn)槟軌虻玫揭环菔杖敕€(wěn)定的工作,而選擇成為了程序員。當(dāng)然,這種情況并不能代表全部,但畢竟具有一定的代表性。
這樣的程序員經(jīng)過(guò)幾年的工作,自身的角色逐漸從學(xué)生向職業(yè)人轉(zhuǎn)變,從IT行業(yè)的門(mén)外漢向?qū)I(yè)人士轉(zhuǎn)變,隨著對(duì)自己的認(rèn)識(shí)的不斷深入,大部分人都會(huì)對(duì)自己是否適合做程序員產(chǎn)生一個(gè)清晰的判斷。而程序員的職業(yè)方向,應(yīng)該根據(jù)自身的實(shí)際情況來(lái)決定。在重新認(rèn)識(shí)自己之后,接下來(lái)選擇其實(shí)就不難了。
筆者認(rèn)為,程序員一類的技術(shù)人員至少有兩個(gè)較為直接的發(fā)展方向,一個(gè)是面向組織的管理,一個(gè)是面向技術(shù)的構(gòu)建。由此,程序員應(yīng)該針對(duì)自己在創(chuàng)新能力、溝通能力、協(xié)調(diào)能力等方面的具體表現(xiàn),理智地分析自己的優(yōu)勢(shì)和劣勢(shì),然后再根據(jù)分析評(píng)判的結(jié)果,并征詢專業(yè)人士或過(guò)來(lái)人的經(jīng)驗(yàn)作為參考,來(lái)選擇最合適的職業(yè)方向。
舉例來(lái)說(shuō),如果自己比較擅長(zhǎng)軟件項(xiàng)目開(kāi)發(fā)過(guò)程中的協(xié)調(diào)工作,有很強(qiáng)的溝通能力,那么,軟件開(kāi)發(fā)之外的工作,比如管理工作,你也完全可以去嘗試;如果自己仍然熱衷于技術(shù),仍然對(duì)軟件開(kāi)發(fā)過(guò)程中產(chǎn)生的成就感情有獨(dú)鐘,那么,可以嘗試著向技術(shù)專家的方向發(fā)展,當(dāng)然,要想成為技術(shù)專家,就要求你必須對(duì)技術(shù)和應(yīng)用具有更高層面的認(rèn)識(shí),能夠帶領(lǐng)一個(gè)團(tuán)隊(duì)攻克一些技術(shù)難關(guān),而不是像傳統(tǒng)行業(yè)里所謂的“熟練工”,只是簡(jiǎn)單地給別人分配分配工作;如果你已經(jīng)對(duì)程序員這份工作完全失去興趣,覺(jué)得這份工作已經(jīng)成為負(fù)擔(dān),那么,你一定要果斷地結(jié)束這種狀態(tài),就算這份工作給你帶來(lái)了很好的收入——因?yàn)楫?dāng)你的年齡增長(zhǎng)到一定程度,當(dāng)你的精力和體力都發(fā)生退步的時(shí)候,如果你每天還在應(yīng)付手中的工作,那時(shí)候你想改變這種狀態(tài),就沒(méi)有多少機(jī)會(huì)了。
為了避免有一天慘遭淘汰,程序員應(yīng)該主動(dòng)出擊,正確、客觀地面對(duì)這個(gè)行業(yè)的普遍特點(diǎn),放下包袱,重新認(rèn)識(shí)自己,既不能幼稚地存在幻想,也不能悲觀地放棄希望。在重新認(rèn)識(shí)自己之后,則要果斷地作出選擇,絕不能優(yōu)柔寡斷、猶豫不決。其實(shí)程序員要做的選擇并不復(fù)雜:要么留在“0”和“1”的世界里繼續(xù)深耕,要么選擇更適合自己特點(diǎn)的陣地。