昨天咱們討論了「學什麼」的問題,今天咱們來談一談「怎麼學」的問題。磨刀不誤砍柴工,咱們要提升學習效率,首先須要找到本身學習方法上的誤區。
一些常見的學習方法誤區
1)
資料導向型
如今就中止閱讀這篇文章,打開「你的電腦」,看看一你的硬盤上是否一個名爲「XX資料」的文件夾,我相信,這裏面必定保存着大量你精心收集的電腦教程、電子書、培訓材料、課程視頻等等。我敢打賭,絕大多數的IT人都會在本身的電腦上保存一個或者幾個這樣的文件夾,其中內容每每通過精心分類,數量在幾GB甚至幾十GB之巨。請再扭頭看一看你的書架,你所購買的各種計算機書籍、雜誌,是否已經把書架堆滿了?你買的書籍種類,是否已經涵蓋了從編程、Windows管理、Unix/Linux一直到美工和PhotoShop?
這是不少人都會經歷的一個「資料導向型」的學習誤區。你如今能夠仔細統計一下,你電腦中的資料和書架上的書籍,有多少是歷來沒有看過的?有多少是看過超過1/3的?又有多少是真正看完而且對你的技術和工做產生了實質性幫助的?
我這裏想提出一個概念,叫作「
有效學習時間」,意思是說
在學習所花費的全部時間中,對本身掌握新知識、大腦思考和學習新技術、動手操做而且積累經驗直接有關的時間。回顧咱們的學習習慣,當開始一項新知識或者新技術的學習時,咱們每每是從買書和在網上收集資料開始,據我統計,在學習時,
咱們有50%時間在收集資料、30%時間在整理資料、20%時間在翻看資料!也許這樣的數字有些誇張,可是你能夠回顧一些本身最近的學習過程,看一看是否知足這樣的80/20分佈,統計一下本身的「有效學習時間」是多少。
「有效學習時間」的多少,直接決定了你的學習結果和效率。有的人在IT行業沉浮多年,涉獵領域普遍,電子版的資料和各種的圖書「汗牛充棟」,可是經常以爲本身很是迷茫,不少技術都不夠精通和深刻。這時,須要從學習的基本效率和學習的有效時間上反思一下了。保存在硬盤和書架上的並不能直接成爲你的能力,
不是硬盤有多大,知識就有多豐富;也不是書架有多高,技術就有多牛。你須要大量的「有效學習時間」,把這些轉化爲本身的積累。我說的語言可能很是直白,甚至不給人留面子,但卻說的是一個樸實的道理。
2)
似懂非懂型
這種類型,換句話說,就是不求甚解。一些IT的概念和產品,每每是比較容易理解的,粗略的翻譯一下書,內心也許就知道個十之八九了。但是,IT技術和產品每每是跟特殊的環境和場景相關聯的,懂得概念,並不見得可以在應用上融會貫通。有些朋友看書很是快,不留意書中的細節,只是圂圇吞棗,一目十行,把一些大概的知識點和概念記住了,就覺得已經掌握了。
我寫的這些誤區,其實不少都是本身經歷過的。以「似懂非懂型」這個舉個例子,我講一個我本身經歷過的故事。剛畢業的時候在微軟的技術支持部門工做,起初是負責Office/Outlook產品的支持,後來逐漸開始接觸Exchange Server。當時書看了很多,各類試驗沒少作,客戶的問題也能大概的解決。後來曾經有一個機會,去面試Exchange產品的高端技術職位,本覺得本身對這個產品已經很是熟悉,但是沒想到被真正的專家一再考問,不少細節馬上變得模糊,對一些本身覺得很是清楚的模塊也沒有辦法說的太深刻。我想你們也許都有這樣的經歷,
認爲本身已經懂了,或者以爲這些不過重要,可是就是這些似懂非懂,或者你忽略的地方,在某個特殊時候會跳出來找你的麻煩。「出來混得,早晚要還」,這真是至理名言阿。似懂非懂,歸根結底仍是不懂。
所以,若是你認定要學好一門技術,就要抱着打破沙鍋問到底決心,不給本身的知識結構上留下漏洞。 資料導向型這個誤區說的是學習要有足夠的效率,要把握「有效學習時間」,似懂非懂型這個誤區,就是說學習的結果和質量,花費了足夠的有效學習時間,必須保證產出的結果是一個過硬的,經得住檢驗的知識結構。
3)
丟西瓜撿芝麻型
前面說了學習須要創建一個「經得住檢驗的知識結構」,這並不等於你須要對所學技術或者產品的每個細節都爛熟於心。過於關注細節,就犯了「丟西瓜撿芝麻」的錯誤了。有些人學Linux,要對每一個命令的參數都仔仔細細的背下來,有的人作Windows的網絡管理,卻非要花時間搞明白活動目錄的數據庫結構,甚至有人曾發email給我,說決心要把Exhcange的Database接口和物理結構給反向工程出來。
想一想前一篇blog中我引用莊子的話吧,「
吾生也有涯,而知也無涯,以有涯隨無涯,殆也」。在這些細節問題上死磕,無異與浪費生命啊。話又說回來,到底如何定義西瓜和芝麻?學習,到底須要學到什麼樣的深度?這其實也是一個很是難以把握的問題。咱們在前一篇blog討論了「心法」和「招式」,在具體的一項技術或者產品的學習過程當中,如何定義「西瓜」和「芝麻」呢?我是這樣理解的:
西瓜,就是宏觀層面的概念、方法、最佳實踐,一些短時間以內不會隨着產品的變化而變化的知識;一些能夠活學活用,體現產品設計思想的理念;它能夠是一些技術細節,前提是掌握這些細節是會對產品的設計、優化或者故障排除等方面發揮做用的。
芝麻,每每是一些須要機械性記憶的信息,或者一些被廠商封裝在「黑盒」中的部分。把Linux的命令悉數的背誦下來,並不能讓你成爲專家, 反向工程廠商的「黑盒」,也只會作一些徒勞無益的努力。
讀到這裏,可能讀者對「芝麻」和底層原理這類「心法」級別的學習會產生混淆,深刻地探究一個系統的內部,難道不是提升技術能力的方法嘛?其實,這是有區別的。我前文所提到的底層原理這類「心法」級別的知識,是指獨立於任何廠商產品的理論知識,是放之四海皆準的真理,是如今、將來,當前版本和之後N+1版本都用得着的知識;而我說的「芝麻」,是指特定產品的細節和被廠商有意封裝底層部分,是那種今天學完,明天就過時做廢的東西。好比說,學Windows,你能夠看操做系統的教材來得到「心法」,這樣的知識,即便微軟出了Windows 3000,你也用得上;可是若是你去反向工程ntoskrnl.exe,即便搞出了一個因此然,只要微軟發一個Service Pack,你掌握全部的東西就都變了,你也就陷入了丟西瓜撿芝麻的誤區了。不知道我這樣,是否是把這個問題說明白了。:-)
今天先寫到這裏,下篇預告:
一些有關「怎麼學」的建議
首先須要明確方向,不然即便學習方法再高效,也難免南轅北轍,背離本身的目標。關於學習方向的討論,請參見以前的一篇
文章。下面我來重點說一說有關「怎麼學」的建議。
1)如何查找和利用資源
2)關於買書和讀書
3)論壇的做用和提問的藝術
4)自學和On Job Training的區別(如何從他人學習)
5)學會喜歡英文和利用英文