1. 程式人生 > >IT人的學習方法論(全)

IT人的學習方法論(全)

1 學習的方向

07年的時候曾經講過一節Webcast,名叫《使您成為Windows專家的一些學習習慣》。直到最近,還經常收到聽眾關於這一節課反饋和心得的電子郵件,可見學習方法論是大家非常關心的問題。因此,我的Blog就從討論學習開始吧。 IT是一個需要活到老,學到老的行當。在摩爾定律的推動下,技術領域的革新和提高每天都在發生,這使得IT領域的工作者必須不斷的學習,才能緊跟技術的腳步。與此同時,IT人大多都是“熱愛學習”的好同志,IT的細分領域非常廣泛,從CPU電路設計到PhotoShop磨皮大法,無一不是IT人感興趣而希望學習的東西。在外部“摩爾定律”和內心“求知慾望”的雙重推動下,IT人在學習之路“上下而求索”。然而,我們仍舊面臨很多困惑,“學什麼”、“怎麼學”、“學了有什麼用”,不斷的陷入一些學習誤區,感覺學習的非常辛苦,但是自己的水平和能力卻提高的非常有限。在“IT人的學習方法論”這個Blog系列中,我會跟大家共同探討一些技術學習方面的誤區,IT知識學習的要點和建議。 心法與招式
莊子說“吾生也有涯,而知也無涯,以有涯隨無涯,殆也”。莊老先生的意思是,生命是有限的,而知識是無限的,用有限的生命去追求無限的知識,必定會把自己給累死。有人說這句話是讀書無用論的經典詮釋,而我覺得,針對IT領域知識的學習,這個描述再恰當不過了。我們需要對所學的知識有個選擇,絕對不能採取“人有多大膽,地有多大產”的死磕到底態度,而是要選擇去學那些比較用得上的,而放棄那些不太可能用上的。所以,我們首先需要討論的是關於“學什麼”的問題。 每個人都有自己工作的領域,需要的知識結構也不一樣,但是事情總是存在一些共性的東西,對於IT的學習來說,把握“心法與招式”的平衡,是至關重要的。 所謂心法,就是理論基礎知識,是底層的原理性知識,是那些跟特定的廠家無關的跨平臺共性知識;所謂招式
,就是應用層面的技能,配置、操作和除錯的步驟,跟具體的軟體或者硬體緊密關聯的特殊知識。IT行業的工作領域雖然千差萬別,但是在知識的學習上,都存在心法與招式的區別,比如說:
IT工作領域 心法 招式
系統管理員 作業系統的基礎知識
程式的結構和執行原理
目錄服務,Web,郵件等系統的基本知識
糾錯排錯的思路和技能
活動目錄下DNS的配置
SendMail系統的架設和管理
用PHP與MySQL架設電子商務網站
Windows的叢集配置
網路管理員 TCP/IP;RFC
網路安全的基礎知識
網路設計和規劃能力
路由器的具體配置命令
特定網管軟體的使用
一些網路診斷工具
資料庫管理員 關係型資料庫的原理和設計
SQL查詢語句和程式設計
資料庫設計與應用平臺的結合
SQL Server或者MySQL的操作
與特定程式設計平臺相關的資料庫指令
特定資料庫產品的維護或者調優
圖形美工設計人員 色彩的原理
顏色搭配的技巧
設計能力和表現能力
“PhotoShop”磨皮大法等
Flash動畫製作或者程式設計
DreamWaver網頁設計
可能大家已經應注意到了,我之前說的是“把握心法與招式的平衡”,其實關鍵一點在於平衡。IT是一個理論聯絡實際的行當,既沒有獨立於應用的理論,也沒有缺乏理論支援的應用。從學習的角度來說,兩者應該相輔相成,互為支援。如何做到平衡?我嘗試從一個IT人的成長和學習路徑說起: 1)菜鳥上路。 這是在校學生和剛畢業1-2年的IT人所經歷的一個階段。概括地說,就是“什麼都不懂,什麼都想學,精力旺盛,求知慾超強”的一個階段。在這個階段,需要牢記這兩句話:“學以致用”和“興趣是最好的老師”。在校學生往往對老師講授的“心法”類基礎知識毫無興趣(過不了多久就會後悔,沒辦法,人總是在不斷後悔中成長的),而對書店中諸如“21天精通XXX技術”這一類的“招式”充滿激情。這一點是可以理解的,但是需要把握一個度,切忌在應用層面涉獵過多,淺嘗輒止。可以在興趣的導向下涉足一些領域,做一些“招式”的學習和實踐,但是需要時刻牢記,不要為“招式”上的小有成就而沾沾自喜和止步不前,而是需要通過這樣的學習和實踐來明確自己擅長的方向和領域。菜鳥上路以“招式”的學習為主,通過學習、收穫、反饋和思考,來擴大自己的知識面,為自己找出擅長的方向。找到方向了,菜鳥才真的上路了。 2)初出茅廬。 在開始工作的頭兩三年,處在一個初出茅廬的階段。不同於學校的象牙塔環境,在工作中,有來自各個方面的壓力,有實際操作中的磨練,也有來自同事及“師傅”的指導。對於所從事的工作,往往會經歷新奇-〉挑戰-〉得心應手-〉逐漸厭倦這樣的一個“心路歷程”。在公司裡,“三人心,必有我師”,跟周圍同事和資深員工的交流,會使“招式”方面的應用技能快速提高,甚至在某各領域達到獨當一面的成果。某各領域應用和操作水平的獨當一面,並不代表整體技術能力的綜合水平。這個階段的學習,要在聯絡到實際應用的前提下,對所工作領域的“心法”類知識做一個深入的理論學習甚至是補課。系統管理員這時應該把《作業系統原理》翻出來仔細的讀一讀,網路管理員應該看《TCP/IP協議》,這樣才能觸類旁通,對具體工作有更好的指導。初出茅廬階段以“心法”的學習為主,這樣才能打下紮實的基礎,在技術道路上實現可持續發展。 3)小試牛刀。 再工作幾年,你的名片上可能已經印著“高階工程師”甚至“技術主管”的頭銜,此時切忌在你熟悉的領域“自掃門前雪”,“坐井觀天”。IT是一個需要綜合知識的領域,此時不妨學些一些自己不熟悉,但是卻跟自己目前或者未來的工作有關的平臺或者系統,多做一些實踐操作,做一些試驗,動動手。論語上說,“學而不思則罔,思而不學則殆”,IT人也要拳不離手,曲不離口。工作小有成就後,要學習一些新的“招式”,讓自己時刻保持良好的狀態,堅決避免思路和操作能力的僵化。 4)遊刃有餘。 此時你可能已經是“首席工程師”,“技術總監”或“架構師”。對於技術方面的問題,往往在公司內有著“一語定乾坤”的決定效能力。而這一階段的學習要求往往也更高,不僅要打破平臺的限制,也要站在更高的高度,從“整合”的角度出發,把各個IT領域聯絡在一起,需要有總攬全域性的能力和視野。此時,初出茅廬時學習的“心法”(提高你的能力),和小試牛刀階段不斷補充的“招式”(開闊你的視野),都將在這個階段厚積薄發。此時的學習,不僅僅侷限在特定領域的一招一式,而是要融會貫通,把“各門各派”的心法為我所用,總結提煉自己的思維方式和決斷能力。 5)手中無劍。 這是一個你我都在追求的狀態。金庸筆下的獨孤求敗,一生用過五種不同的劍,分別為無名利劍、紫薇軟劍、玄鐵重劍、木劍乃至無劍。這五種不同的劍,事實上代表了獨孤求敗劍學的五個不同境界。“自此精修,漸進於無劍勝有劍之境”,說的是在積累、經驗和知識上的深度達到一定境界後的自如應對。 從這個簡單的成長學習路徑,我們可以清楚地看到,IT領域的理論知識和操作技能實現輔相承的,在學習過程中需要很好的平衡。這樣才能把握好學習的“度”,不再只是的汪洋大海迷失方向。

2 學習的誤區

昨天我們討論了“學什麼”的問題,今天我們來談一談“怎麼學”的問題。磨刀不誤砍柴工,我們要提高學習效率,首先需要找到自己學習方法上的誤區。 一些常見的學習方法誤區 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)學會喜歡英文和利用英文

3 高效學習的建議

一些有關“怎麼學”的建議 首先需要明確方向,否則即使學習方法再高效,也不免南轅北轍,背離自己的目標。關於學習方向的討論,請參見之前的一篇文章。下面我來重點說一說有關“怎麼學”的建議。 IT技術,不是一個通過“閉關修煉”就能練成絕世武功的學科,在學習的過程中,除了主觀上的刻苦努力之外,還需要講究正確方法。我下面所寫的幾點,其實都圍繞著一個核心的思路,就是---學習需要“不斷地與高手過招”。IT技術的時效性和應用性非常強,你的學習資源、環境、平臺,都需要“與時俱進”,都需要能夠“代表先進生產力”,這樣的學習,才能夠使你站在巨人的肩膀上,達到事半功倍之效果。 有人可能會疑問,我身處二線城市、工作是三流單位,畢業在四流學校,“學習的資源、環境、平臺”都非常的普通,如何做到像我說的“站在巨人的肩膀上呢”?其實事在人為,我們需要學會尋找可以幫助自己的巨人,下面的建議一定會對你有幫助。 1)如何查詢和利用資源 百度和Google,應該是大家首要的資訊來源。但是,這些來源都是被動的,搜尋引擎不會自動的把好東西送到你面前,它的前提是你自己必須知道關鍵字。另外,還有一些渠道,是可以主動地把最新的資訊推送給你的,比如Blog,比如RSS訂閱等等Web2.0的溝通方式。對於被動的搜尋,要掌握好方法,提高效率。對於主動性的資訊獲取,要選擇最權威最高階的資訊來源。這樣才能讓自己站在巨人的肩膀上,看得更遠。 如果你讀過前一篇文章,已經認識到了“資料導向型”的誤區,就應該不會被搜尋引擎和海量的資訊所左右。百度Google都有相應的高階查詢指令,你需要好好的掌握這些,提高自己的效率。對於主動性的資訊來源,選擇你所在領域的最頂尖公司、研究機構、專家群體,訂閱他們的Newsletter,讀他們的Blog,訪問他們的論壇,訂RSS,長期的關注這些資訊,並且思考這些資訊背後所傳遞的技術趨勢和思想。 現在大家接觸的資訊量非常大,對於海量的資訊,一種處理方法是泛讀,目的是幫助自己獲取新知,把握大方向,知道世界上發生了什麼,不至於落伍;另一種處理方法,就是精讀,深入地瞭解來龍去脈,必要時再去查詢一些相關的資料,把這部分內容融入到自己的知識體系中。 2)關於買書和讀書 書不在多,而在於精。一本書的成本不在於它的售價,而在於你讀這本書所花的時間(機會成本)。完整的讀完一本書,通常需要兩週到一個月的時間,對於你所付出的時間成本,好書會給你帶來超值的回報,令你茅塞頓開;而平庸的書,僅僅是給你留下了一個模糊的印象而已,過不了多久就全忘了。 買書要買高手寫的書。分享一些個人買書的小技巧。我買書的時候,一般選擇署名為“某某-著”的書,而對一些“某某-主編”或者“某某-編譯”的書敬而遠之。一本書的作者,越少越好。一個人寫一本書,跟十個人寫一本書,效果是截然相反的。一本好書,是作者觀點和思考的結晶,讀這樣的書,也就是一個與高手進行“面對面”交流的過程,是一個瞭解高手思維和思想方法的過程。 不要買太多操作技能型的書。一方面這類書籍良莠不齊,另一方面,對於一項技術或者產品的操作,最直接最權威的,就是廠商釋出的幫助文件和白皮書。購買太多這類大部頭的“XXX操作大全”,會佔用你大量的時間成本,得不償失。提高技能,除了讀書,另一個重要的方式就是做實驗,這個我在後面的章節會詳細的寫。 另外我想再多說一句的就是關於翻譯過來的外版書籍。目前出版界的翻譯質量參差不齊,讀這一類的書,可以先看一看網上的讀者評論,對於翻譯的實在不靠譜的書,寧可去讀原版。還是那句話,一本書的成本不在於它的售價,而在於你讀這本書所花的時間(機會成本)。你買一本翻譯質量太差的書,大量的時間都花在了猜測譯者的意圖之上,不僅浪費時間,而且對學習和讀書過程中思維的連貫性也大受影響。 3)論壇的作用和提問的藝術 論壇是一個“獲得”與“給予”的地方。在論壇上花時間,要多看精華,少發水貼;提問要提得簡明扼要,易於解答;回貼要回的清清楚楚,把好人做到底。論壇之中藏龍臥虎,是一個與高手過招的好地方。一些建議: 首先是關於提問。學問學問,要學要問,只有把你的問題問出來了,才能得到別人的指點。但是,不要不經過大腦就提問,提問的目的是獲得啟發,而不是解決現有的困境。一個好的問題是可回答的、有延伸性、有啟發性的;不好的問題則過於關注細節、跟特定環境相關,沒有代表性,也無法回答。提出一個好的問題,會吸引他人解答,並引起一系列的討論,這對開闊自己的思路,獲得新的觀點和想法,都是大有好處的。 第二個建議是關於交流,論壇中每一個ID背後,都是一個個活生生的人。這是結交同道中人的好地方,不妨經常維持一些線上交流和線下活動,對進入特定的技術圈子,瞭解業界的情況,甚至找工作,都大有好處。 第三,有交流就有收穫,在索取的同時,也別忘了奉獻。心存感激,幫助他人。不僅是在論壇中應該堅持的習慣,也是為人處事的一個原則。 第四,控制時間。不要被論壇中的積分和等級所左右,不要花太多的時間,以至於顧此失彼,忽略了更重要的東西。 4)自學和On Job Training的區別(如何從他人學習) 自學是比較辛苦的。首先是不要自學那些自己眼前用不著,今後也不一定用得著的偏門技術,這一點在之前討論“學什麼”的文章中已經有所涉及,不再贅述。自學要避免“看書-做題-上機”這樣的中學生式的迴圈,而是要與人交流。IT技術歸根結底還是為人服務的,你可以與這個技術的使用者交流,看看他們想要的是什麼;你可以與懂行的高手交流,看看人家的想法。 所謂On Job Training,就是一邊工作,一邊學習自己工作需要的技術,我們通常叫“趕鴨子上架”。有機會被趕上架的鴨子是幸福的,因為你身邊有大量的學習資源可以參考,有高手可以請教。 不管是自學,還是On Job Training,都需要懂得如何從他人身上學習。有些時候,高手一句話,抵得上你看一個星期的書。因此要調整好心態,抱著三人行必有我師的態度,杜絕“文人相輕”的惡習,善用“提問的藝術”,多給自己爭取與高手過招的機會。要學會關注細節,高手的一句話,一個想法,甚至打命令做實驗時候的一個小習慣,可能都有你值得學習的地方。觀察-思考-總結-提問,按照這樣的順序來向高手學習。 5)看書與做實驗 實驗是必須要做的。做實驗要講究效率,有一套自己的工具和平臺,不要每次都從下載軟體,安裝Windows Server或者搭建開發平臺開始。要搞清楚實驗的目的,是為了驗證想法、測試可行性,還是僅僅把書上的步驟跑一遍。我不建議跟著書本上已有的試驗或者步驟來做,書上已經把實驗的步驟和結果都寫清楚了,自己再做一遍,並沒有什麼太多的收穫。我建議自己給自己提出需求,像做一個小專案一樣,設計一個實驗並且實現之。做大實驗比做小實驗收穫要大,做實驗可以“左右互博”,左手提出要求,右手來實施,自己模擬真實的企業場景,可以把複雜的要求簡單化,去掉表面的東西,只留核心的,讓自己通過實驗來實現。這其實非常有趣,也是技術的樂趣之所在。 其實,企業裡面,在給客戶做專案的時候,也經常會先做這樣的概念驗證和可行性分析試驗,我們叫做PoC(Proof of Concept)。其實,這個關鍵是Concept,找對Concept了,不管試驗成功與否,都是大有收穫的。這個Concept,可以是當前最新的一些技術的應用,或者頂尖公司推出的解決方案中的核心思想,或者國外流行的一些趨勢等等。你把這些東西拿來,去掉表面的東西,把它的核心看清楚了,然後自己做一個實驗去實現它,這個過程中,你可能還會遇到很多問題,請教很多高手,或者查閱很多資料,這不正是我們追求的與高手過招的機會嗎?這不比看一本“XXX操作大全”要有效得多嗎? 6)學會喜歡英文和利用英文 大量的創新理念、新觀點、新技術發源於西方,英語是獲得這些觀點的第一渠道。計算機英語並不難,只是一個習慣的問題。一定要養成讀英語的習慣。心理學家們研究過,養成一個習慣,你只需要短短的21天時間,關鍵是要堅持。也許英語有詞彙量的問題,需要積累和更多的時間,那麼好吧,給自己50天時間,堅持再堅持,我敢跟你打賭,到第51天,你會發現看英語的技術資料也不過如此。50天的堅持換來一個受益終生的習慣,值得。 7)當老師是檢驗學習效果的最好辦法 你怎麼知道自己對一項技術或者產品已經掌握了?很簡單,當一次老師。給你的朋友,同事,論壇裡的網友,上一節課。如果你能清晰地把這個知識教會別人,能夠回答聽眾提出的問題,甚至在教書的過程中靈感閃現,對技術的理解更進一層。那麼,就學的八九不離十了。其實,舉辦一些這樣的小規模講課和交流活動,是技術圈子結識朋友,傳遞知識的好辦法。 小結一下,學習的平臺很重要,周圍的環境很重要。不要閉門造車,要與高手過招。其實,就這麼簡單。

4 一些重要的能力

獨立思考的能力和獲得觀點的能力 我們已經談過了學什麼學習的誤區怎麼學的問題。學習的目標和結果之一,就是知識的積累和能力的提高。其中,對於IT人來說,有兩種能力非常重要,一種是獨立思考的能力,另一種是獲得觀點的能力。 先說獨立思考。目前的各類IT媒體、網站、部落格很多,大量的資訊撲面而來,很多人被一些“流行的”、“大眾的”、“別人都在做的”、“看上去很酷”的觀點或者行為所左右,做一些盲目的事情。舉一些身邊的例子: *)考證熱潮---XX公司的認證通過後是金飯碗,看了別人的學習和考試歷程後,立刻熱血沸騰,義無反顧地加入考證大軍。 *)排錯能力差---只知道按照手冊操作,不知道故障出現後如何抽絲剝繭的解決它。 *)盲目的技術崇拜---前些年C++熱,市面上大量的C++圖書,於是乎認定C++是學程式設計的不二法門,一頭扎進去就出不來了。 *)盲目的偶像崇拜---看了XX大牛發的XYZ技術學習筆記和心路歷程後,立刻也如法炮製,毫不猶豫地跟進。 獨立思考很重要,可以讓你做出正確的判斷和選擇,能夠可以審時度勢,把握好大局。如何做到獨立思考,你需要: 1)積累。見多才能識廣,讀萬卷書,行萬里路,有了一定的積累,看問題和思考也會隨著更加的深入。 2)你需要開始思考。不要做被動的資訊接收者,要停下來想想為什麼。從對方的角度想為什麼,自己的角度想為什麼,從全域性的角度想為什麼。把獨立思考作為一種習慣,每當你感覺自己即將頭腦發熱時,請提醒自己靜下心來,多思考一些為什麼。 3)要了解自己,知己才能知彼。獨立思考的獨立二字,是基於人的自我認識的前提下的。所以你一定要了解自己,才能夠把自己跟周圍獨立開來,才可能進行獨立的思考。照一照鏡子,從自己的性格、習慣、能力、經歷、環境等等全方位的給自己畫一個像。 有個叫Allen Galbraith的老外總結了培養獨立思考能力的十個竅門,經過獨立思考後,我覺得挺靠譜的,引用如下: *)有疑問就發問。不要害怕問問題,即便是別人都沒問過的問題。 *)經驗比權威更重要。如果有專家、權威人士要讓你相信什麼和你的實際經驗向抵觸的東西,不要被他們嚇倒。 *)理解對方的意圖。別人找你談話的意圖是什麼?他們對你所說的話有沒有什麼背後的原因? *)不要覺得你必須隨大流。 *)相信自己的感覺。如果你覺得不對頭,很可能真的有什麼不對的地方。 *)保持冷靜。保持冷靜和客觀可以讓你頭腦更清醒。 *)積累事實。事實是驗證真理的唯一標準。 *)從不同的角度看問題。每個事物都有其多面性,嘗試從不同的角度去認識問題解決問題。 *)設身處地。瞭解對方的處境才能更好的瞭解對方的想法。 *)勇敢。鼓勵自己站起來說我不同意。不要害怕,經過磨練才能成長。 這十條裡面,我選幾個來說一說:保持冷靜是我們尤其缺乏的,不要頭腦發熱;瞭解對方的意圖,需要你換位思考;相信自己的感覺,前提是你必須認識自己,否則沒感覺。(您在讀我的部落格時,也不妨思考一下,作者為什麼這樣寫,為什麼要反覆強調一些觀點,哪些對我是有幫助的,哪些觀點可能還不夠成熟,等等) 我們再說說獲得觀點的能力。不要等著別人把“十大訣竅”“六大趨勢”寫好了放在你面前,你需要自己獲得這些觀點。在獨立思考的基礎之上,你可以將自己的所思所想彙總提煉成為自己的觀點,進而用來影響他人。中學寫議論文的時候,老師常教我們要善於“提煉觀點”,這是一種洞察力,一種深入事物或問題的能力。如何才能“獲得觀點”?你需要: 1)基礎紮實。厚積才能薄發,武林高手從來都是先積累了渾厚的內力,然後才可能一夜之間練成絕世武功的(參考張無忌練習乾坤大那多)。所以話又繞回我第一篇文章寫的內容了,基礎知識真的很重要。搞Windows的一定要懂作業系統、搞開發的一定要熟演算法、搞網路的必須把協議倒背如流。 2)善於總結。總結可以使你擺脫皮毛,抓住要領。有些時候表面的東西很複雜,比如一些產品,功能狂多,架構暴複雜。這個時候你需要把複雜問題簡單化,總結提煉之。透過現象看本質。 你可以不會一門技術,但是擁有“獲得觀點”的能力,其實也就代表“打通任都二脈”了。你可以自信的對別人說:“這項技術我現在不熟悉,但是請給我一個很短的時間,我看一下之後,告訴你我的想法”。這句話傳達了兩個層面的意思,第一、你學一樣陌生東西很快可以抓住要點,第二、你馬上能把所學內容轉化為自己的想法來與人交流。(有點像慕容復同學的以彼之道,還施彼身阿,呵呵,我大概武俠片看得太多了) 今天先寫到這裡。

5 也談IT的創新

也談IT的創新 Innovation是一個有魔力的詞彙。很多IT公司的使命和願景中,就把創新放在一個至關重要的位置。國外的頂尖的商學院,已經把“商業創新”作為一門課程向MBA學生講授,從企業戰略、組織結構、人事激勵等層次來驅動企業的全方位創新。這是一門非常系統化和複雜的理論。今天,我們只從個人的角度出發,來談一談如何把創新作為一種習慣的思維方式和工作目標。 創新是資訊科技得以發展的根本,不管是網管,還是研發,做IT的人,都要以創新作為自己的目標。“創新”這個詞是美籍奧地利經濟學家Schumpeter在他的《經濟發展理論》(1912年!)一書中提出的一個經濟學概念。他把創新活動歸結為五種形式: 1)生產新產品或提供一種產品的新質量; 2)採用一種新的生產方法、新技術或新工藝; 3)開拓新市場; 4)獲得一種原材料或半成品的新的供給來源; 5)實行新的企業組織方式或管理方法。 Schumpeter老先生在寫這段話的時候,還沒有計算機,也沒有IT行業。創新在IT行業體現在軟硬體技術的進步,也更體現在對滿足使用者需求,挖掘使用者需求這些方面。 有關創新的一些誤區 1)創新不是一個口號,而是一種思維方式。創新停留在口頭是沒有用的,創新一定是縝密的思考加上敏銳的把握機會的結果。因此我之前非常強調獨立思考的重要性,這樣可以使你不僅是一個資訊和知識的接受者,而是成為想法和觀點的創造者,可以通過自己的思考進行再加工和再創造。 2)創新不僅僅侷限於技術的進步和推進。這裡還包括商業模式創新,對使用者需求的挖掘,甚至是“創造一個新的市場”。比如最近火爆的“開心網”,我相信它的後臺技術並不是前所未有,獨一無二的;它的成功在於對使用者內心深處的需求的滿足。IT行業已經有太多的技術發明創造,但是真正在市場上取得成功的,絕大多數都是站在使用者需求的角度出發的創新。(Schumpeter創新形式的第三種:開拓新市場) 3)創新並不等於發明,你很難從無到有的創造一個新的東西。技術的演進有它的規律,在選擇創新方向時,要制定切實可行的目標,避免“眼高手低”。這樣的例子比比皆是,例如那個號稱使用漢字程式設計的“某語言”。創新的要求要遠遠高於發明,不僅僅要求在技術上突破,更需要切合實際,有“市場”。“技術上的與眾不同的聰明勁(創造性)不等於技術創新”。 4)現代社會,資訊行業的創新不是“閉關修煉”就可以“參透”的。閉關修煉七七四十九天,能開發出超越Windows的作業系統嘛?不能,七七四十九年也做不到。這不在於時間長短和技術強弱,而是在於創新需要一個外部環境。這個外部環境給你提供技術的趨勢、客戶的需求,甚至經濟、文化等等綜合性的資訊,沒有這些,自能是孤芳自賞。 IT創新的來源和建議 1)西方的成功經驗,全球智慧結合中國特色。現在是全球化的時代,我們不能抱著“師夷長技以制夷”這樣帶有殖民地色彩的偏執思想,但是我們也必須認識到在IT技術領域,我國跟西方世界的差距。從CPU設計到網際網路應用,無一不是發源和發展於西方國家,認識到差距,才能真正的開始創新,而不是滿足於“閉門造車”的快樂。學習需要“站在巨人的肩膀”,這也是創新的必要條件。就個人實踐而言,還是眼界和境界的問題,見識越廣,自然思考越深入。但我們還在研發手寫輸入板時,也許微軟的研究院正在測試下一代的“自然使用者介面”;但我們還在奮力追趕大型計算機的執行速度時,“雲端計算”的概念已經走出實驗室,投入生產應用。你也許無法複製國外成功經驗,但是知道別人在幹什麼,會為你指明方向,少走彎路。 2)關注Disruptive Technology。Disruptive Technology(破壞性技術)是相對於Sustaining Technology(維持性技術)而言的,比如數碼相機對於膠片相機,比如光碟對於軟碟機,比如ADSL對於56K Modem。前者的出現,註定會讓後者成為明日黃花。真正的Disruptive Technology,在它產生破壞性作用之前,也許只是一個備受爭議的新玩意,能否“吹盡黃沙始見金”,就看你的眼力和洞察力了,我承認我唐僧,但我還要重複,眼界和境界真的很重要,要站在巨人的肩膀上。。。阿彌陀佛。。。 3)創新需要N+1,百尺竿頭,才能更進一步。N+1是我自己發明的創新定律,N是指NEW,代表新的東西。只有對“西方列強”新興的技術瞭解了、掌握了、思考了、消化了,才可能通過努力在這些的基礎之上更進一步。有的時候,創新就是那麼關鍵的一小步。NEW的東西就在你的身邊,每年各大頂尖公司的技術大會,都是獲得新思想新觀點的絕好機會,比如IBM開發者大會、Google Developer Day、微軟的TechEd、MIX和PDC,Oracle的全球技術與應用大會,等等,都不應錯過。即使不親身前往,也要把握其傳遞的核心思想。 4)擁抱變化,每一次變化,都蘊含了創新的機會,不要墨守陳規,偏於安穩。逆水行舟,不進則退。 5)創新需要聯絡實際,需求是創新的源頭。不要為了技術而技術,要從應用的角度出發。 6)大學校園是創新的搖籃,環境很重要,思維需要激盪。如果你是一個在校的大學生,那你真是生在了一個幸福的年代,不要抱怨老師水平不好,不要抱怨學校沒有名氣,不要身在福中不知福了。從大環境上來說,至少你不用像我老爸一樣被髮配上山下鄉,有網際網路幫助你瞭解天下,有各類頂級企業圍繞在高校的周圍(即使大外企沒有圍繞到你的學校,你也可以自己倒貼上去)。每年的大學生挑戰杯、ACM、微軟的創新杯、IBM大學生程式設計大賽、Google 中國大學生創新設計大賽等等等等,有很多創新的大門向你開啟,你需要的,只是走進去。這些都是開闊眼界,提升自己,與高手過招的好機會,參與進去,全身心投入,想不“創新”,都難啊。 關於創新,還有兩個很重要的主題,一個是從創新到創業,另一個是山寨式創新。這兩個今天就不展開了,留待日後深入的挖掘。創新是一個很大的題目,我自己感覺今天這2千多字寫得有些散,但是我厚著臉皮說一句,其實還是形散神不散,我始終在傳遞一個重要的理念:眼界和境界真的很重要,要學會站在巨人的肩膀上,與高手過招。。。是誰在唱Only You啦?算了,今天就到這吧,大家吃好喝好,週末愉快。:-) 推薦讀物: 哈佛商業評論,迎接破壞性變革的挑戰, (作者,克萊頓·M·克里斯藤森 邁克爾·奧韋爾德夫) 下期預告: IT專家成長的十個學習的建議 1)基礎知識和基本技能 2)提問和從他人學習 3)善於總結 4)博採眾長 5)與高手過招 6)站在巨人的肩旁上 7)三人行,必有我師 8)勿在浮沙築高臺 9)實踐出真知 10)要知道自己需要什麼

6 IT專家成長的十個學習的建議(上)

IT專家成長的十個學習的建議(上) 成長路上的十個學習建議,算是對IT人學習方法論這個系列的一個小結吧。在之前的5篇文章中,我們討論了學習的方向、誤區、建議,應該培養的能力和如何進行技術創新。下面這些建議,都是可以落到實處的“回家作業”,希望大家在學習的過程中可以有針對性的選擇和應用。 1)基礎知識和基本技能 “出來混得,遲早要還”,雙基是關鍵,選擇你需要的內容,制定一個小計劃和達到的目標,補一補這方面的課。這裡關鍵是要搞清楚“需要補什麼”、“明確計劃”和“目標是什麼”。不要盲目的惡補理論知識,搞清楚哪些東西是對自己今後的長遠發展有幫助的,實在看不清方向,可以請教一些前輩,然後把他們的反饋經過你自己的獨立思考以後,來確定自己缺什麼。學習是一個循序漸進的過程能,要給自己制定一個計劃,時刻記住我之前說的“有效學習時間”,不要三天找資料、兩天買書、最後一天隨便翻翻,要沉下去。凡事都要把握一個“度”,學習基礎知識的目的是為了指導應用、協助創新,不是為了科學理論研究。應該知道選擇、取捨,知道自己學到什麼程度可以停一停了。這些“度”的把握都很微妙,沒人能幫你,全靠你的獨立思考2)提問和從他人學習 在提問中激發靈感,在討論中獲得思想。與他人的交流,不要侷限在為了解決特定的一個技術難題或者問題。不要把別人當成你的“技術支援工程師”,用開放式的問題來獲得他人給你指定的方向和啟發。技術人員要學會謙虛,我經常在一些技術論壇看到“文人相輕”的景象,討論中誰也不服誰,互相拆臺。計算機技術本身就是一門開放的學科,聞道有先後,術業有專攻,大家都是被技術魅力的吸引所走到一起來的,學會擁有一個包容的心態,你的收穫就會更大,嚴於律己,寬以待人。 3)善於總結 建議你多使用PowerPoint和OneNotes,如果你對微軟的Office產品不感冒,那就算拿一本記事本來也好。總結是思考和積累的一種方法,把你學會的東西記錄在OneNotes,長期養成這樣的習慣,會慢慢的積累很多。好記性不如爛筆頭,多做一些筆記,把自己的想法記錄下來,把想法發展為看法,形成你獨特的觀點。網上經常有人發一些學習筆記,這是非常好的習慣,幫助自己,也幫到了他人。總結要簡單,抓住要領。可以嘗試一下,如果寫了一份4000字的筆記,試著讓自己把它縮減到只有100字,看看是否還能夠傳達你想傳達的資訊。總結就是要把複雜問題簡單化,抓住要領和關鍵。 4)博採眾長 一個人的知識體系就好比一個圓球,知識越多,你這個圓球所接觸到的未知世界的面積也就越大,也就越發知道自己缺少什麼。豐富知識的範圍,把圓球畫的更大。看看自己行業以外的東西,看看你公司的經營戰略,看看世界上的流行趨勢,甚至看看中國的5000年曆史文明,人生是一場馬拉松,千萬不要沉醉在技術的世界自我陶醉,坐井觀天。 5)與高手過招 與高手過招的目的是找到自己的短處。你要瞪大眼睛尋找自己身邊的高手,虛心的學習,聰明的提問,坦誠的交流,不斷地總結,沒有人會把你拒之門外。 下期預告: IT專家成長的十個學習的建議(下) 6)站在巨人的肩旁上 7)三人行,必有我師 8)勿在浮沙築高臺 9)實踐出真知 10)要知道自己需要什麼 IT專家成長的十個學習的建議(下) 6)站在巨人的肩旁上 牛頓在1676年的一封信中說:“如果說我看得比別人更遠,那是因為我站在巨人的肩上”。“與高手過招”,說的是人與人之間的交流。而“站在巨人的肩旁上”,是關於“一個平臺”的選擇,也就是一個關於“起點”的選擇。每個人的現實情況可能各不相同,但是從長遠的成功來看,一定要選擇高起點。寧為鳳尾,不做雞頭,好的平臺,比如大學、公司等等,可以讓你看的更遠,有更多的機會、選擇和自由度。在剛步入工作崗位時,不要僅僅考慮物質的收入,有些大公司的薪水也許並不高,但是工作一段時間後,給你帶來的眼界提升,是多少錢都買不來的,這會使你變得與眾不同。如果你有走出國門的海外工作機會,更不能輕言放棄,“讀萬卷書,行萬里路”,這會給你帶來更多的經歷和自信。 7)三人行,必有我師 謙虛使人進步。一些技術論壇上最常見的就是誰也不服誰的爭吵,“老子技術天下第一”,決容不得他人的質疑。真正的高手,是敢於坦然地說“我不知道”並虛心請教的人。不要文人相輕,要心胸寬廣,與人為善,要學會海納百川,有容乃大。 8)勿在浮沙築高臺 不要滿足於一時的微小成就,山外有山,這個世界每一秒鐘都在進步,要保持清醒的頭腦,拒絕浮躁。第一次看到“勿在浮沙築高臺”,是在2001年讀侯捷老師的《深入淺出MFC》的時候,短短的7個字,道出了浮躁的後果。在學習的路上,要耐得住寂寞,不能急於求成,這個道理同樣也適用於為人處世,深度決定了高度。 9)實踐出真知 光把書看懂是沒有用的,關鍵是要能應用。動口不如動手。要創造性地做一些實驗,動手實驗不僅僅是為了看看XX軟體的功能是不是像說明書上寫的那樣,這是軟體測試人員的工作,你不應該按照說明書來實驗。在理解技術和產品的基礎上,創造性地製造一些需求,並用技術來解決它,這樣的一個過程,才能收穫最大。 10)要知道自己需要什麼 到你找到這個問題的答案時,就不會再迷茫和浮躁。沒人能幫助你尋找這個答案,只有靠自己的摸索和不斷地總結,再一次次否定自己的過程中成長。 有關學習的連載就到這裡告一段落了。知易行難,我說的都是一些非常容易理解的觀點,根本上來說,學習還是一個需要刻苦努力的過程,恰當的方法只是一個必要條件,要有所成就,其實歸根結底還是兩個字,努力。

小張網校

www.xiaozhangwx.com
-IT程式設計線上學習交流平臺
-更多的小夥伴等待你的加入


最新視訊課程:
2048遊戲的開發


相關推薦

IT學習方法論

1 學習的方向 07年的時候曾經講過一節Webcast,名叫《使您成為Windows專家的一些學習習慣》。直到最近,還經常收到聽眾關於這一節課反饋和心得的電子郵件,可見學習方法論是大家非常關心的問題。因此,我的Blog就從討論學習開始吧。 IT是一個需要活到老,學到老的行當

javascript學習筆記:定義函數、調用函數、參數、返回值、局部和局變量

兩個 cnblogs bsp 結果 value ava ase com 調用 定義函數、調用函數、參數、返回值 關鍵字function定義函數,格式如下: function 函數名(){ 函數體 } 調用函數、參數、返回值的規則和c語言規則類似。 1 <!DOC

web學習教程:本系列教程介紹

系列教程 trap soft 切圖 think html4 style pes html 一、發布周期 計劃2-3天發一篇,半年左右完成。 二、教程大綱 web全棧介紹與優勢分析 本系列教程介紹 切圖與圖片介紹 html4.01 html5 css2.0 css3 頁面布

的國外機器學習資源

一、C++ 計算機視覺 CCV—基於C語言/提供快取/核心的機器視覺庫,新穎的機器視覺庫 OpenCV—它提供C++、C、Python、Java以及MATLAB介面,並支援Windows、Linux、Android和Mac OS作業系統 OPENCV網址 通用機器學習 MLPack    MLPCACK網

史上最的“大資料”學習資源

資源列表:   關係資料庫管理系統(RDBMS)   框架   分散式程式設計   分散式檔案系統   檔案資料模型   Key -Map 資料模型   鍵-值資料模型   圖形資料模型   NewSQL資料庫   列式資料庫   時間序列資料庫   類SQL處理   資料攝取   服務程式設計

python3 100例 一碼學習筆記81-90

題目81:809*??=800*??+9*?? 其中??代表的兩位數, 809*??為四位數,8*??的結果為兩位數,9*??的結果為3位數。求??代表的兩位數,及809*??  a = 809 for i in range(10,100): b = i * a

史上最的機器學習資料

原文地址:https://yq.aliyun.com/articles/43341 摘要: 機器學習牽涉的程式語言十分之廣,包括了MATLAB、Python、Clojure、Ruby等等。為了讓開發者更加廣泛、深入地瞭解機器學習,雲棲社群組織翻譯了GitHub Aw

深度學習筆記基礎——卷積神經網路FCN

    通常CNN在卷積層之後會接上若干個全連線層,將卷積層產生的特徵圖(Feature Map)對映成一個固定長度的特徵向量進行分類。以AlexNet為代表的經典CNN結構適合於影象級的分類和迴歸任務,因為它們最後都期望得到整個輸入影象的一個數值描述,如AlexN

echarts學習總結:圖表溢位視窗,圖表資料視窗顯示不

如上圖所示:echarts圖形左面的資料沒有完全顯示 只需在option中定義一下grid,例如:                                                 grid:{                             

史上最的機器學習資料

原文地址:https://yq.aliyun.com/articles/43089 摘要: 機器學習牽涉的程式語言十分之廣,包括了MATLAB、Python、Clojure、Ruby等等。為了讓開發者更加廣泛、深入地瞭解機器學習,雲棲社群組織翻譯了GitHub

ElasticSearch 5學習——Kibana+X-Pack介紹使用

<div class="postBody"> <div id="cnblogs_post_body" class="blogpost-body cnblogs-markdown"><p>Kibana是一個為 E

專案管理學習總結9——史上最網際網路八大技術崗位詳解

網際網路技術崗位詳解,涉及到前段開發、後端開發、移動端開發、大資料、專案管理、測試、運維、技術管理等八大領域。架構師每個產品線都有架構師,在技術平臺部門也需要技術平臺的架構師。架構師負責設計系統整體架構,從需求到設計的每個細節都要考慮到,把握整個專案,使設計的專案儘量效率高,

Android知識體系梳理筆記五:Kotlin學習筆記一:類和繼承以及Anko的基本使用

前言 對於kotlin,我是邊寫專案邊學的方式來學習的,這些都是在做專案的時候遇到的問題及擴充套件學習的時候記錄的,雖然有些內容不會涉及,但是我認為這種邊寫程式碼邊學習的方式特別有助於記憶,畢竟紙上得來終覺淺! 類和繼承 Kotlin較Java在繼承和實現

慕課網Linux 達養成計劃 I 學習筆記

本文是教程第6章 壓縮命令,第7章關機與重啟命令和第8章其它常用命令的筆記。 第6章 壓縮命令 6-1 Linux中 壓縮命令1 常用的壓縮格式: .zip .gz .bz2 .tar.gz .tar.bz2 下面按照格式(上面的5種)進行講解: .zip(

python3 100例 一碼學習筆記1-10

不逼逼,撂乾貨 題目1:有四個數字:1、2、3、4,能組成多少個互不相同且無重複數字的三位數?各是多少? 程式分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去 掉不滿足條件的排列。 for i in range(1,5): for j

的國外機器學習資源

集齊上下兩篇,可召喚神龍哦~ 為看官奉上機器學習資源——下篇。 最牛B的框架、庫和軟體,至此終於收齊啦! _________________________________________________________________ 一、Matlab 計

Linux基礎學習

學習 延時 lvm 日誌管理 red 命令行 51cto 服務控制 邏輯 使用的Linux發行版本為Redhat 1.Linux(RedHat)基礎學習—命令行使用入門 2.Linux(RedHat)基礎學習—文件尋址與管理 3.Linux(RadHat)基礎學習—vim

Python學習基礎筆記

linux 數據庫 paramiko https 循環 Python一 pyhton .com 字符串 換博客了,還是csdn好一些。 Python學習基礎筆記 1.Python學習—linux下Python3的安裝 2.Python學習—數據類型、運算符、條件語句 3.

設計模式學習總結策略模式(Strategy)

isp 筆記本 override div ont 角色 write stat 通過   策略模式,主要是針對不同的情況采用不同的處理方式。如商場的打折季,不同種類的商品的打折幅度不一,所以針對不同的商品我們就要采用不同的計算方式即策略來進行處理。   一、示例展示:   以

設計模式學習總結適配器模式(Adapter)

實現接口 國外 手機 額外 sed ges program ebe 通過   適配器模式主要是通過適配器來實現接口的統一,如要實現國內手機在國外充電,則需要在不同的國家采用不同的適配器來進行兼容!   一、示例展示:   以下例子主要通過給筆記本電腦添加類似手機打電話和發短