天天看點

程式員高手是怎樣煉成的(轉)

程式員高手是怎樣煉成的?

作者:阿蒙

估計很多的朋友在很小的時候就看過奧斯特洛夫斯基同學的《鋼鐵是怎樣煉成的》,偶小時候在農村混,看的最多是各式各樣的牛屎以及長得極象牛屎的山頭,這些所謂的名著偶直到大學才有機會拜讀,但說實話,偶是個俗人,還是更喜歡看一些痞子寫的文字或帶COLOR的BOOKS。偶之是以寫這麼個主題,主要是太多的朋友給偶發EMAIL或在VCHOME.NET提問,偶其實也與大家一樣為生活而奔波,是以沒有時間一一作答,在這作一次回答,還望海涵。

高手是一個嘩衆取寵的詞彙,世上本來并沒有高手,說的人多了也就有了高手,我看程式員隻有老少之分,并無高低之分,比如偶就是一個老程式員,是以作為程式員,我們追求的應該是寫出有用有價值的軟體産品,呵呵,廢話少說,切入正題吧!

1.迷戀 + 熱情;

愛因斯坦同學說:興趣是最好的老師,這就是說一個人一旦對某事物有了濃厚的興趣,就會主動去求知、去探索、去實踐,并在求知、探索、實踐中産生愉快的情緒和體驗,并不斷地激發學習的動力,這種說法很美妙,衆所周知,程式員是一種有點乏味有點枯燥有點辛苦的技術工作,要能堅持下去,并能做得很好,沒有迷戀沒有熱情是很難很難的,偶就很迷戀,迷戀C++,迷戀computer,迷戀network,偶迷戀for、if、while、case等等就如同歌手迷戀五線譜的小蝌蚪一樣,我覺得程式代碼真是無所不能,簡簡單單的幾行代碼就能實作豐富多彩的功能,你難道不覺得很NB嗎?呵呵,是以,作為一名老程式員,我建議年輕的程式員們一定要對coding保持迷戀保持熱情,那樣我們才有可能做得更好。

2.在項目中磨練與成長;

很多朋友經常問:他看了很多書,也做了較多的練習,但感覺水準并沒有得到提高,這是為什麼?呵呵,我覺得每個人不同,有些程式員通過看書,也能學到很多東東,但我個人覺得最好的提高方法,還是要參與到某一項目中去鍛煉,從設計到開發到測試到維護一整套的磨練流程,項目是有周期的,有周期就有壓力,有壓力才能不分晝夜地去學習與實作,學習的效果也會很顯著與深刻。

3.數不勝數的加班;

偶這裡所講的加班并不單指工作上的OT(即overtime),而更多的是學習上的OT,偶認為程式員學習的黃金時間在畢業後的前三年,這三年你如果有一個好的環境好的團隊好的上司,再加上你的勤奮努力,三年後你将有一個質的飛躍,當然如果不幸,環境不好,團隊不好,上司不好,那就隻能靠你自已了,我的哲學是:人的一生70%靠自已,是以你要有堅持不懈的精神,保持一顆積極上進的心,偶的那三年基本上每天都在公司裡呆到22點,即使回宿舍也是看書學習,偶比較笨,但可貴的是偶知道“笨鳥先飛”、“勤能補拙”諸如此類的大道理。沒有人願意平平庸庸地度過這一生,你努力了,你就成功了。

4.正确的學習方法;

也有很多朋友問學習方法,這是很讓偶頭痛的問題,其實我之前的文章中也有總結我的學方法:“簡單總結一下我的學習方法,筆者是按以下的順序來學習的:C/C++ ――> SDK ――> MFC ――>COM/DCOM/ATL/COM+,當然這個順序的前提是你已經具備了一定的數學,資料結構及算法,作業系統等基礎知識,學好C++是很關鍵的,尤其要了解清楚OOP思想,養成以面向對象方法去思考問題解決問題的習慣;學習SDK的目的主要是了解Windows OS的内部機制比如記憶體管理,多任務及多線程等,特别要透徹地了解Windows的消息機制;有了前面的知識,學起MFC就容易了,有些網友經常與我聊,說他看了一年多的書,也寫一些程式,但對MFC還是一頭霧水,我想主要的原因還是學習不夠系統性,很多知識及經驗是循序漸進的,千萬不要幻想一步登天,要有持之以恒的學習及實踐精神。” 我并不敢說,我的方法是正确的,隻能說對我而言是合适的,作為老一輩的程式員,我們有幸學過與寫過很多純windows的程式,我依然記得當年用vc++1.5寫的程式,都是用SDK,要寫的代碼很多很多,那是個美好的年代,我懷念它。

5.失敗--->打擊--->努力--->成功--->成就感;

剛剛做程式員時,由于技術水準有限,經驗也欠缺,是以經常會犯一些錯誤,也寫了很多失敗的程式,然後被上司罵得狗血淋頭,那時非常地有挫折感,決定奮發圖強,後來慢慢地長大,能寫一些成功的程式,受到一些表揚,那成就感真是爽呆了!這種過程經曆得越多越好,我們的抗壓能力會不斷地提高,臉皮也會越來越厚,呵呵,是以,奉勸各位程式員如果你暫時遇到挫折與失敗,不要灰心喪氣,不要退縮,而要奮起直追,學好了,以後再去罵其它的初級程式員,呵呵,開玩笑的。

6.敢想+能說+會寫;

中國的教育體制造就了太多太多的五好青年,循規蹈矩,逆來順受,前怕狼後怕虎,缺乏創新意識,這個社會什麼都不缺,就缺敢想敢做的人。

能說對于程式員來講,确實是要求過高,但如果你想走上較高的層次,偶認為這一點是很重要的,是以我們需要尋找各種各樣的機會來鍛煉這方面的能力。

會寫就是能寫出漂亮的方案文檔,能針對不同的客戶寫出不同的文檔,比如技術文檔,商務文檔,銷售文檔等。

7.善于利用各種資源;

這一點不用多說了,現在的資源很豐富,善于運用各種幫助文檔,另外,網際網路上的資料應有盡有,要學會GOOGLE與使用。

8.細節決定高手。

老子說了:天下難事,必做于易;天下大事,必做于細。這句話精辟地指出了想成就一番大事業,必須從簡單的事情做起,從細微之處入手。随着現代社會分工的越來越細和專業化程度的越來越高,一個要求精細化的管理和生活時代已經到來,親愛的程式員朋友,請你注意了,程式設計越來越容易了,可惡的微軟與比哥一天到晚都在想如何讓我們變得更傻,越來越依賴于他們的工具,在未來,也許什麼人都能很容易地做個程式員,到那時,如何來評價你的能力?-----細節,這個行業,最終和最高的競争層面就是細節的競争。是以建議您把小事情做到位,養成良好的習慣,具體點說:就是寫好每一份注釋,在送出文檔之前要一而再再而三地檢查,代碼要簡潔幹淨,每一個算法都要高效,把胡子剃幹淨,别扣錯鈕扣,穿整潔的衣服,講話注意文明禮貌,紅燈停綠燈行,不随地丢垃圾.......呵呵,離題了。 

繼續閱讀