前天晚上,老婆和我偎在床上說悄悄話,大致的意思是所有她的同學(xué)都有房子了,有些還當(dāng)上了管理人員,并帶著少許調(diào)侃說我以后也就這樣了,1年10多萬,失業(yè)就會(huì)掉頭發(fā)。
我今年28,一個(gè)C++/Java程序員,跟大多數(shù)人一樣,天資平平,雖然愛學(xué)習(xí),但沒有上一個(gè)好大學(xué),工作這么幾年也沒有混上一個(gè)管理人員,有時(shí)候在自己看來,稍稍有些可悲。因?yàn)楣俦疚坏臍埩?農(nóng)耕文化,在中國搞技術(shù)歷來就是一個(gè)吃力不討好的事情。搞技術(shù)意味著被人管,薪酬低,上升通道窄,所以好多技術(shù)人員包括優(yōu)秀的總是希望能在一段時(shí)間以后轉(zhuǎn)型,可是管理也是一門學(xué)問,控制社會(huì)關(guān)系不一定比控制計(jì)算機(jī)簡單,所以彷徨且不時(shí)有受挫感。我也一樣,有時(shí)候一個(gè)人看書的人總會(huì)想自己的理想到底是什么?什么才會(huì)讓我覺得自己有存在價(jià)值?思來想去,我還是覺得自己是一個(gè)比較典型的程序員,喜歡寫程序,喜歡調(diào)試,喜歡幫助別人,這些都能帶給我快樂。既然認(rèn)定了這條路線,就堅(jiān)定地走下去,但只是想做技術(shù)人員還不夠。
我有過一位法國同事,技術(shù)人員40來歲,做測試寫文檔,放在中國來說是典型的失敗。有次看了他寫的詳細(xì)測試報(bào)告,我不敢相信Excel能做出這么NB的東西出來,在我的贊揚(yáng)之下他臉上蕩漾著滿足感。聽他說自己做了十多年技術(shù)人員,覺得自己挺適合干這個(gè),非常坦然,我有一種樸素的感動(dòng)。這根我看到國內(nèi)程序員普遍焦慮不一樣(當(dāng)然有社會(huì)保障因素),那就是專注于自己喜歡的,一直干下去。在興趣和嚴(yán)格要求自己產(chǎn)出物的導(dǎo)引下,一個(gè)你認(rèn)為不起眼的小事情也會(huì)讓人感覺莫大的驚喜。歲月會(huì)讓我們老去,但興趣,專業(yè)的心態(tài)不會(huì)。我更希望在幫傳代的過程中,用樸素的,職業(yè)的技術(shù)情節(jié)影響新生代程序員,推動(dòng)行業(yè)的整體進(jìn)步。
你到底想干什么?這是一個(gè)問題。我看到好多人工作幾年后還在今天groovy, 明天ruby,后天uml,然后是struts2,反正什么火跟什么。一天一天寶貴的時(shí)間再流逝,人也越來越焦慮,我不知道他們到底想要干什么,因?yàn)槠胀ㄈ耸呛茈y同時(shí)干好幾件事情的?;蛟S他們認(rèn)為這些新鮮簡單,學(xué)學(xué)就會(huì),但我認(rèn)為,不專業(yè)是技術(shù)人員最大的敵人。很久前我面試過一個(gè)開發(fā)人員,據(jù)說對(duì)struts非常精通,我就問 說說你怎么將jbpm集成到struts里面去,然后支支吾吾一大堆,貌似200+k的struts源代碼都沒有讀過(我試驗(yàn)過,擴(kuò)展webActionContext, 引用jbpmcontext,增加線程保護(hù),擴(kuò)展struts bean映射jbpm var)。就如同學(xué)groovy,但不知道它是通過什么樣的語法翻譯出來的(parser generator);學(xué)ruby,不知怎樣用C增加系統(tǒng)關(guān)聯(lián)性,總在技術(shù)的外圍打轉(zhuǎn),這樣下去,焦慮就是一種必然了。我的想法就是抓住一種最感興趣的,把它搞透,不要害怕哪一天這個(gè)技術(shù)被淘汰了,計(jì)算機(jī)越往下關(guān)聯(lián)越大,周期越長。即使有時(shí)候因?yàn)楣ぷ鞯男再|(zhì)讓我們?cè)谕鈬蜣D(zhuǎn),我們也應(yīng)該在興趣點(diǎn)上持續(xù)深入,專業(yè)一點(diǎn),更專業(yè)一點(diǎn),即可以探奇得到滿足感,也可以讓你時(shí)時(shí)充滿競爭力,說不定哪天就用上了。
計(jì)算機(jī)的基礎(chǔ)是編譯+操作系統(tǒng)+數(shù)學(xué),比如寫一個(gè)高效的多線程程序,寫一個(gè)調(diào)試器,寫一個(gè)腳本語言?;A(chǔ)的基礎(chǔ)是數(shù)學(xué),所以要想專業(yè)必須趁年輕能看進(jìn)去書的時(shí)候打好數(shù)學(xué)基礎(chǔ),即使不通透,也要知道概念。就拿我做的DSL的graphical editing來說,就包含解析幾何、線形代數(shù)、立體幾何、微積分、圖論(離散數(shù)學(xué))等學(xué)科,這還不包括DSL的Run/Debugger/Debuggee,Text Editing等。如果你做的工作感覺不到數(shù)學(xué)的存在,那很危險(xiǎn):)。曾經(jīng)有人說“計(jì)算機(jī)是數(shù)學(xué)的藝術(shù)”,一點(diǎn)不假。
但總是有些笨人比如我,小老頭了還在看數(shù)值計(jì)算,概率等數(shù)學(xué)書,看到ms, google的requirements都不敢投簡歷,但沒關(guān)系,只要能夠按照自己定的目標(biāo)逐步靠近,不斷學(xué)習(xí),不斷挑戰(zhàn)自我,肯定會(huì)有收獲,無論物質(zhì)上還是心理上。即使最終沒有在IT史留下名字的一撇,人生也沒有白活,因?yàn)槲以谧约赫局耐恋厣险J(rèn)真地來過。
愛就努力的去做吧,愿每個(gè)程序員都能有堅(jiān)強(qiáng)的信念和一片屬于自己的天空!