五年程式設計師人生的點點滴滴

發表於2012-06-21

來源:zhan jia

和大家一樣,我也是一名普通的程式設計師,很快工作五年了。現在依然記得大學時軟體工程老師曾說過的一句話,大概是這樣的:“工作五年之後,就基本可以分出大家的區別了”,這句話大概有兩層意思,第一,大家都基本確定了自己的工作或職業方向;第二,一個人的能力如何基本已經確定了。先拋開這句話的真理性,至少它本身是有些道理的,當然隨著時間的遷移,當初的五年時間對於現在可能已經不太準確了。但這句話一直陪伴著我,每過一段時間,我就會想起這句話,因為自己很想知道五年之後自己是什麼樣子,總告誡自己一定要找準方向,要努力學習,讓自己在合適的時間能有質的飛躍,能夠在同行同輩之中脫穎而出,在工作或事業上形成一個轉折點。願望總是美好的,而正因為有了美好的願望,人類才能夠不斷向前走。

讀高二時開始接觸電腦(那時用計算機這詞也太過專業了吧),偶爾跟著同學去網咖泡泡江湖,論壇形式的遊戲,那時要是能打到只凶猛的老虎那可真是令人羨慕忌妒恨啊…。也是那時第一次聽了劉若英的《後來》,而且網咖經常放這首歌,直到現在,一聽到《後來》就會勾起我的回憶,那感覺挺好!江湖,很俠氣的詞兒,估計現在的年輕人都不知道曾經有款如此簡單低階的遊戲了,呵!從那時起,我算是真正的接觸了電腦,接著學聊Q、聽音樂、玩CS…。還好自己一向比較能剋制自己,以致於最終基本不影響考大學。

報考大學的時候,許多人都是糊里糊塗的報,專業名看起來順眼就基本差不多了。但那時我卻有著明確的報考方向,那就是計算機專業,在那時我似乎就已經知道程式設計是怎麼回事兒了,雖然我真的是沒接觸過。

Careers - Road Sign

上了大學,讀的是自己喜歡的電腦科學與技術專業。

入門的程式語言是C語言,接觸了之後挺喜歡它,那時覺得它簡單易學,似乎能夠解決好多問題。

第二門程式語言是Java,經過一段時間的學習發現,Java程式碼之優雅、結構清晰等優點深深的吸引著我。

C++自學過一個月左右,ASP瞭解了一些,C語言和Java都開過課程,那時Java在我心中絕對是第一語言。

大三第二學期開始接觸J2EE,後來基本上每天都會學習相關的技術知識。在老師和師兄的明師指路之下,開始自學了HTML、JavaScript、CSS、XML、DTD、XML Schema、MySQL、Jsp、JSTL、Sitemesh、Spring、Struts、Hibernate、EJB、CVS、Jcreator、MyEclipse等技術與工具。畢業設計與幾個同學開發了一個小系統,畢業設計文件還把軟體工程的幾個步驟給整了一遍,結果還像模像樣搞得挺自滿的。

就這樣,我帶著一顆對程式設計的熱情與好奇心,慢慢的踏上了程式設計師之路。

工作後,先後從事了金融行業、電信行業,工作內容經歷了寫程式碼(SSH、JSF、ExtJs、單點登入、Eclipse外掛開發、GWT開發…)、Linux日常命令使用、安裝配置Linux、基於Linux安裝MySQL/Oracle及維護、應用系統部署及維護、技術溝通、需求調研、技術管理、工作分配與進度跟蹤、專案管理、招聘等(不分先後),一路走來,真是五花八門啊,相信大多數前輩和同輩們都是如此走過來的吧!

軟體這個行業,都說是業務是靈魂,技術是手段,技術不太重要,業務才是最重要的。也許,這就是軟體行業在浮躁而極富特色的中國被糟蹋的結果吧。

但我個人始終認為,作為一家軟體企業,技術永遠是最重要的,技術才是軟體企業真正的靈魂,我反對那些不重視技術的軟體企業(雖然你們也是受害者,但卻是你們把中國程式設計師給害的)。

下面總結點自己的工作經驗:

1、沒有解決不了的技術問題,關鍵是時間與方法

2、不要說沒時間,時間真的是擠出來的

3、Bug是永遠改不完的,關鍵是要修復嚴重的、影響業務的、顯眼的Bug

4、隨著專案的開發,接觸專案的人越來越多,專案程式碼越來越亂,風格五花八門,潛在的Bug越來越多,以致於誰都不想去維護了

5、很多程式設計師寫程式碼不負責任,寫程式碼的水平暫且不說,更令人髮指的是,程式碼測試都沒過自己那一關,總想留著讓別人去測試,那個汗…

6、喜歡技術的程式設計師太少了,都想著三五年後轉管理,趕緊擺脫技術圈

7、浮躁,簡單的註釋、命名、程式碼風格、程式碼重構、程式碼測試、業務理解都沒做好,就想著做有挑戰性的工作、想著轉管理,懷著這種心態的兄弟們,你們真能把其他事做好?

8、專案經理很多,但大多經驗不足,基本工作是瞭解需求並做初步分析,簡單的工作計劃,工作分配,進度跟蹤,對系統發表幾個觀點、提幾個問題。這些是必要的,但我覺得有很大的不足,專案經理應該更多的參與到專案的整個過程當中。讓程式設計師開發系統,永遠是從實現功能的角度去思考問題,這一點恰恰是開發系統的重傷,因為客戶關注的是業務流程。程式設計師總把問題複雜化,如系統功能強大、支援N多種場景、介面內容豐富等等。沒錯,作為程式設計師,我們更多的是想展現並充分發揮自己的能力,但客戶想要的確是簡單易用、清晰而實用的系統。所以我想說的是,程式設計師重在功能實現,而客戶關注的是結果,專案經理應該多從客戶或使用者的角度去參與專案,這樣做出來的系統才能夠符合客戶的要求,程式設計師才能少加班,因為業務流程清晰、簡化實現,從而減少返工的確能夠節省很多時間。

技術,將會一直陪伴著我,無論將來我處在哪個崗位上,因為我學習技術的出發點是興趣,有時候自己想想甚至不知道為什麼,反正就是喜歡。

程式設計師之路才剛剛起步,路還很遠,但絕沒有捷徑,只有腳踏實地,一步一個腳印,程式設計師人生才會更美好!

寫文章對我來說挺難的,想當年讀高中的時候,還曾經語文考了倒數第一,所幸的是僅此一次。那時每次寫作文的時候,我只寫議論文,而且只會“總-分-總”,什麼名言警句、典故之類的,都是瞎編,純粹就為了湊篇幅。所以,這篇文章也花了幾個小時的時間,時間雖長,內容卻有限,但總而言之總結能令人反思與進步!

 

相關文章