運(yùn)用一門程序設(shè)計(jì)語言對大多數(shù)程序員來說是小菜一碟,但是更上一層樓成為一名專家級的軟件開發(fā)者矢赁,恐怕目前還是大多數(shù)人的夢想慌核。《程序員的思維修煉》一書中將程序員分為5個(gè)層級:新手,高級新手,勝任者,精通者,專家。根據(jù)作者的調(diào)查研究結(jié)果线得,在這5個(gè)層級中,大多數(shù)的程序員屬于高級新手徐伐。而且居于這個(gè)層級的程序員從入行1贯钩、2年的到工作10來年都大有人在。
身為一個(gè)程序員办素,如何才能盡快的突破自身的瓶頸角雷,得到快速的提升那?這可真不是三言兩語可以說清楚性穿。本人09年畢業(yè)投身軟件行業(yè)勺三,2012年初離開工作了三年的公司A,加入了現(xiàn)在的公司B需曾。算到現(xiàn)在呆在B公司也即將滿一年了吗坚。但是我敢說在B公司1年學(xué)到的東西,比在A公司3年加起來的總和還要多呆万。
這么大的進(jìn)步是源于我養(yǎng)成了較好的學(xué)習(xí)習(xí)慣商源,每天都保持汲取知識。這些習(xí)慣大都是同我身邊的同事身上偷來的∧奔酰現(xiàn)在牡彻,我就把這些東西分享給大家,一起共勉出爹。
我們無需摸著石頭過河庄吼,因?yàn)榍叭艘呀?jīng)給我們總結(jié)了很多寶貴的經(jīng)驗(yàn)。
請將google作為你的搜索引擎严就。 這點(diǎn)放在第一條表明了它絕對是重中之重总寻。當(dāng)你嘗試使用google做一段時(shí)間的技術(shù)搜索后,你會發(fā)現(xiàn)百度是多么的低效和不靠譜梢为。同樣一個(gè)技術(shù)關(guān)鍵字废菱,google結(jié)果的匹配程度會遠(yuǎn)高于百度。如果你說你英文能力差的話,那么請趕快補(bǔ)習(xí)英語抖誉。在我身邊我還沒發(fā)現(xiàn)一個(gè)很牛逼的程序員他的英文很差勁。外國人的技術(shù)文章大都很細(xì)膩衰倦,很有條理袒炉,并且注重由淺入深,覆蓋面廣樊零。比如我前段時(shí)間想寫一篇關(guān)于Java泛型的文章我磁,就搜到了oracle有一篇對java 泛型的完整講述,地址在這里孽文。可以說看完這篇文章后夺艰,你再也不擔(dān)心你會遺漏泛型中的知識點(diǎn)了芋哭。
-
學(xué)會對自己制定目標(biāo)并執(zhí)行。 有人說郁副,我有目標(biāo)减牺,那就是1年精通xx語言。我說存谎,這樣的目標(biāo)等于沒有目標(biāo)拔疚。制定目標(biāo)必須要遵循SMART原則,那就是:
- 目標(biāo)必須是具體的(Specific)
- 目標(biāo)必須是可以衡量的(Measurable)
- 目標(biāo)必須是可以達(dá)到的(Attainable)
- 目標(biāo)必須和其他目標(biāo)具有相關(guān)性(Relevant)
- 目標(biāo)必須具有明確的截止期限(Time-based)
不可被驗(yàn)證的目標(biāo)只能說是口號既荚,而喊口號又恰恰是中國人最擅長的稚失。要建立起可驗(yàn)證的目標(biāo),還需要對目標(biāo)進(jìn)行追蹤恰聘。在對目標(biāo)進(jìn)行追蹤驗(yàn)證的過程中可以使用一些工具輔助句各,比如我使用的就是wunderList。
使用代碼托管網(wǎng)站管理你的代碼晴叨。 作為程序員凿宾,學(xué)習(xí)新東西時(shí)少不了寫一些代碼,demo篙螟。而后隨后就丟掉菌湃。這是一種不好的習(xí)慣。你應(yīng)該學(xué)會管理你的代碼遍略,讓它們成為你的寶貴財(cái)富惧所。目前有很多免費(fèi)的代碼托管網(wǎng)站,首推github绪杏。github是全球最大的源代碼托管網(wǎng)站下愈,很多著名的開源框架都將其源代碼托管在上面,如Jquery,Junit,Ruby,Clojure等蕾久。在這里势似,你可以上傳你的源代碼分享給他人。也可以方便的查看他人的優(yōu)秀源碼僧著。如果你愿意履因,也可以成為一名志愿者,一起與他人開發(fā)一個(gè)開源項(xiàng)目盹愚。一切只需要一個(gè)git客戶端和一個(gè)github賬號就可以搞定栅迄。
使用日志對知識進(jìn)行總結(jié)。一個(gè)不善于總結(jié)的程序員絕不是一個(gè)優(yōu)秀程序員皆怕。SMART管理中有很重要的一條毅舆,那就是目標(biāo)必須是可衡量的西篓。而我們在學(xué)習(xí)技術(shù)的過程中,除了產(chǎn)出的code本身憋活,日志也是一個(gè)重要的可衡量的產(chǎn)出物岂津。你可以記下所犯的錯(cuò)誤,以避免重犯悦即,也可以記下自己的所得吮成,梳理思路。推薦一款日志工具evernote盐欺。它支持幾乎所有的操作系統(tǒng)和mobile平臺赁豆,并可以方便的將日志同步到云端。對于一些日志你可以再加工一下發(fā)表到博客上冗美,接受大家的檢閱魔种,并擴(kuò)大自己的影響力。另外粉洼,mind map也是不錯(cuò)的梳理思路节预、回顧總結(jié)的好方式。比如我學(xué)習(xí)了正則表達(dá)式属韧,就畫了一張mind map來記錄正則表達(dá)式的全部語法安拟,以后如有遺忘只需看一下該圖表即可。
閱讀成為你的日常習(xí)慣宵喂。軟件工程是一種知識生產(chǎn)活動糠赦,前人的經(jīng)驗(yàn)的載體就是文字。作為IT人士锅棕,知識更迭是很頻繁的拙泽,不了解外面的世界很容易被遺棄。我們不僅要熱愛閱讀裸燎,還要讀好書顾瞻,讀好文章。養(yǎng)成良好的閱讀習(xí)慣是每個(gè)程序員應(yīng)當(dāng)具備的素質(zhì)之一德绿。這里推薦一個(gè)網(wǎng)站荷荤,豆瓣讀書。上面有很多技術(shù)書籍的信息移稳,書評等蕴纳,可以成為你閱讀的一個(gè)參考。另外个粱,鄙人也強(qiáng)烈推薦了一些好書袱蚓,想看的可以訪問這里。
熟練使用各種快捷鍵几蜻。對于程序員來說喇潘,提高速度就意味著了生產(chǎn)率。提高了生產(chǎn)率梭稚,你就有了更多的時(shí)間去展開新的學(xué)習(xí)颖低。熟練使用快捷鍵的好處不只是節(jié)省時(shí)間,而是將你的大腦從重復(fù)機(jī)械的勞動中解放出來弧烤,能夠關(guān)注到更重要的部分忱屑。大到操作系統(tǒng),小到瀏覽器暇昂,都有自己各種各樣的快捷鍵莺戒。尤其對于程序員天天使用的IDE來說,掌握快捷鍵尤其重要急波。從現(xiàn)在開始从铲,打印一份IDE的快捷鍵大全放在桌面上,每天都要熟悉其中的幾個(gè)澄暮,用不了一星期你就會發(fā)現(xiàn)你的編程效率至少會提升30%以上名段。別質(zhì)疑,因?yàn)槲揖褪沁@樣做的泣懊。
不積跬步伸辟,無以至千里。要想成為優(yōu)秀程序員馍刮,光有一腔熱血是不夠的信夫,一定要持之以恒,堅(jiān)持不懈的持續(xù)學(xué)習(xí)卡啰。以此來與大家共勉静稻。