優秀程式設計師無他-善假於物也

黃博文發表於2013-03-27

  運用一門程式設計語言對大多數程式設計師來說是小菜一碟,但是更上一層樓成為一名專家級的軟體開發者,恐怕目前還是大多數人的夢想。《程式設計師的思維修煉》 一書中將程式設計師分為5個層級:新手,高階新手,勝任者,精通者,專家。根據作者的調查研究結果,在這5個層級中,大多數的程式設計師屬於高階新手。而且居於這個層級的程式設計師從入行1、2年的到工作10來年都大有人在。

  身為一個程式設計師,如何才能儘快的突破自身的瓶頸,得到快速的提升那?這可真不是三言兩語可以說清楚。本人09年畢業投身軟體行業,2012年初離開工作了三年的公司A,加入了現在的公司B。算到現在呆在B公司也即將滿一年了。但是我敢說在B公司1年學到的東西,比在A公司3年加起來的總和還要多。 這麼大的進步是源於我養成了較好的學習習慣,每天都保持汲取知識。這些習慣大都是同我身邊的同事身上偷來的。現在,我就把這些東西分享給大家,一起共勉。

  我們無需摸著石頭過河,因為前人已經給我們總結了很多寶貴的經驗。

  1. 請將google作為你的搜尋引擎。 這點放在第一條表明了它絕對是重中之重。當你嘗試使用google做一段時間的技術搜尋後,你會發現百度是多麼的低效和不靠譜。同樣一個技術關鍵字,google結果的匹配程度會遠高於百度。如果你說你英文能力差的話,那麼請趕快補習英語。在我身邊我還沒發現一個很牛逼的程式設計師他的英文很差勁。外國人的技術文章大都很細膩,很有條理,並且注重由淺入深,覆蓋面廣。比如我前段時間想寫一篇關於Java泛型的文章,就搜到了oracle有一篇對java 泛型的完整講述,地址在這裡。可以說看完這篇文章後,你再也不擔心你會遺漏泛型中的知識點了。

  2. 學會對自己制定目標並執行。 有人說,我有目標,那就是1年精通xx語言。我說,這樣的目標等於沒有目標。制定目標必須要遵循SMART原則,那就是:

    • 目標必須是具體的(Specific)
    • 目標必須是可以衡量的(Measurable)
    • 目標必須是可以達到的(Attainable)
    • 目標必須和其他目標具有相關性(Relevant)
    • 目標必須具有明確的截止期限(Time-based)

    不可被驗證的目標只能說是口號,而喊口號又恰恰是中國人最擅長的。要建立起可驗證的目標,還需要對目標進行追蹤。在對目標進行追蹤驗證的過程中可以使用一些工具輔助,比如我使用的就是wunderList

  3. 使用程式碼託管網站管理你的程式碼。 作為程式設計師,學習新東西時少不了寫一些程式碼,demo。而後隨後就丟掉。這是一種不好的習慣。你應該學會管理你的程式碼,讓它們成為你的寶貴財富。目前有很多免費的程式碼託管網站,首推githubgithub是全球最大的原始碼託管網站,很多著名的開源框架都將其原始碼託管在上面,如Jquery,Junit,Ruby,Clojure等。在這裡,你可以上傳你的原始碼分享給他人。也可以方便的檢視他人的優秀原始碼。如果你願意,也可以成為一名志願者,一起與他人開發一個開源專案。一切只需要一個git客戶端和一個github賬號就可以搞定。

  4. 使用日誌對知識進行總結。一個不善於總結的程式設計師絕不是一個優秀程式設計師。SMART管理中有很重要的一條,那就是目標必須是可衡量的。而我們在學習技術的過程中,除了產出的code本身,日誌也是一個重要的可衡量的產出物。你可以記下所犯的錯誤,以避免重犯,也可以記下自己的所得,梳理思路。推薦一款日誌工具evernote。它支援幾乎所有的作業系統和mobile平臺,並可以方便的將日誌同步到雲端。對於一些日誌你可以再加工一下發表到部落格上,接受大家的檢閱,並擴大自己的影響力。另外,mind map也是不錯的梳理思路、回顧總結的好方式。比如我學習了正規表示式,就畫了一張mind map來記錄正規表示式的全部語法,以後如有遺忘只需看一下該圖表即可。

  5. 閱讀成為你的日常習慣。軟體工程是一種知識生產活動,前人的經驗的載體就是文字。作為IT人士,知識更迭是很頻繁的,不瞭解外面的世界很容易被遺棄。我們不僅要熱愛閱讀,還要讀好書,讀好文章。養成良好的閱讀習慣是每個程式設計師應當具備的素質之一。這裡推薦一個網站,豆瓣讀書。上面有很多技術書籍的資訊,書評等,可以成為你閱讀的一個參考。另外,鄙人也強烈推薦了一些好書,想看的可以訪問這裡

  6. 熟練使用各種快捷鍵。對於程式設計師來說,提高速度就意味著了生產率。提高了生產率,你就有了更多的時間去展開新的學習。熟練使用快捷鍵的好處不只是節省時間,而是將你的大腦從重複機械的勞動中解放出來,能夠關注到更重要的部分。大到作業系統,小到瀏覽器,都有自己各種各樣的快捷鍵。尤其對於程式設計師天天使用的IDE來說,掌握快捷鍵尤其重要。從現在開始,列印一份IDE的快捷鍵大全放在桌面上,每天都要熟悉其中的幾個,用不了一星期你就會發現你的程式設計效率至少會提升30%以上。別質疑,因為我就是這樣做的。

  不積跬步,無以至千里。要想成為優秀程式設計師,光有一腔熱血是不夠的,一定要持之以恆,堅持不懈的持續學習。以此來與大家共勉。

相關文章