相關閱讀 |
>>> 技術話題—商業文明的嶄新時代 >>> | 簡體 傳統 |
運用一門程序設計語言對大多數程序員來說是小菜一碟,但是更上一層樓成為一名專家級的軟件開發者,恐怕目前還是大多數人的夢想。《程序員的思維修煉》一書中將程序員分為5個層級:新手,高級新手,勝任者,精通者,專家。根據作者的調查研究結果,在這5個層級中,大多數的程序員屬于高級新手。而且居于這個層級的程序員從入行1、2年的到工作10來年都大有人在。
身為一個程序員,如何才能盡快的突破自身的瓶頸,得到快速的提升那?這可真不是三言兩語可以說清楚。本人09年畢業投身軟件行業,2012年初離開工作了三年的公司A,加入了現在的公司B。算到現在呆在B公司也即將滿一年了。但是我敢說在B公司1年學到的東西,比在A公司3年加起來的總和還要多。 這么大的進步是源于我養成了較好的學習習慣,每天都保持汲取知識。這些習慣大都是同我身邊的同事身上偷來的。現在,我就把這些東西分享給大家,一起共勉。
我們無需摸著石頭過河,因為前人已經給我們總結了很多寶貴的經驗。
請將google作為你的搜索引擎。 這點放在第一條表明了它絕對是重中之重。當你嘗試使用google做一段時間的技術搜索后,你會發現百度是多么的低效和不靠譜。同樣一個技術關鍵字,google結果的匹配程度會遠高于百度。如果你說你英文能力差的話,那么請趕快補習英語。在我身邊我還沒發現一個很牛逼的程序員他的英文很差勁。外國人的技術文章大都很細膩,很有條理,并且注重由淺入深,覆蓋面廣。比如我前段時間想寫一篇關于Java泛型的文章,就搜到了oracle有一篇對java 泛型的完整講述,地址在這里。可以說看完這篇文章后,你再也不担心你會遺漏泛型中的知識點了。
學會對自己制定目標并執行。 有人說,我有目標,那就是1年精通xx語言。我說,這樣的目標等于沒有目標。制定目標必須要遵循SMART原則,那就是:
不可被驗證的目標只能說是口號,而喊口號又恰恰是中國人最擅長的。要建立起可驗證的目標,還需要對目標進行追蹤。在對目標進行追蹤驗證的過程中可以使用一些工具輔助,比如我使用的就是wunderList。
使用代碼托管網站管理你的代碼。 作為程序員,學習新東西時少不了寫一些代碼,demo。而后隨后就丟掉。這是一種不好的習慣。你應該學會管理你的代碼,讓它們成為你的寶貴財富。目前有很多免費的代碼托管網站,首推github。github是全球最大的源代碼托管網站,很多著名的開源框架都將其源代碼托管在上面,如Jquery,Junit,Ruby,Clojure等。在這里,你可以上傳你的源代碼分享給他人。也可以方便的查看他人的優秀源碼。如果你愿意,也可以成為一名志愿者,一起與他人開發一個開源項目。一切只需要一個git客戶端和一個github賬號就可以搞定。
使用日志對知識進行總結。一個不善于總結的程序員絕不是一個優秀程序員。SMART管理中有很重要的一條,那就是目標必須是可衡量的。而我們在學習技術的過程中,除了產出的code本身,日志也是一個重要的可衡量的產出物。你可以記下所犯的錯誤,以避免重犯,也可以記下自己的所得,梳理思路。推薦一款日志工具evernote。它支持幾乎所有的操作系統和mobile平臺,并可以方便的將日志同步到云端。對于一些日志你可以再加工一下發表到博客上,接受大家的檢閱,并擴大自己的影響力。另外,mind map也是不錯的梳理思路、回顧總結的好方式。比如我學習了正則表達式,就畫了一張mind map來記錄正則表達式的全部語法,以后如有遺忘只需看一下該圖表即可。
閱讀成為你的日常習慣。軟件工程是一種知識生產活動,前人的經驗的載體就是文字。作為IT人士,知識更迭是很頻繁的,不了解外面的世界很容易被遺棄。我們不僅要熱愛閱讀,還要讀好書,讀好文章。養成良好的閱讀習慣是每個程序員應當具備的素質之一。這里推薦一個網站,豆瓣讀書。上面有很多技術書籍的信息,書評等,可以成為你閱讀的一個參考。另外,鄙人也強烈推薦了一些好書,想看的可以訪問這里。
熟練使用各種快捷鍵。對于程序員來說,提高速度就意味著了生產率。提高了生產率,你就有了更多的時間去展開新的學習。熟練使用快捷鍵的好處不只是節省時間,而是將你的大腦從重復機械的勞動中解放出來,能夠關注到更重要的部分。大到操作系統,小到瀏覽器,都有自己各種各樣的快捷鍵。尤其對于程序員天天使用的IDE來說,掌握快捷鍵尤其重要。從現在開始,打印一份IDE的快捷鍵大全放在桌面上,每天都要熟悉其中的幾個,用不了一星期你就會發現你的編程效率至少會提升30%以上。別質疑,因為我就是這樣做的。
不積跬步,無以至千里。要想成為優秀程序員,光有一腔熱血是不夠的,一定要持之以恒,堅持不懈的持續學習。以此來與大家共勉。
網載 2014-07-12 16:24:12
稱謂:
内容: