學習是一種基礎性的能力。然而,「吾生也有涯,而知也無涯。」,若是學習不注意方法,則會「以有涯隨無涯,殆矣」。
一.學習也是一種能力
看到這個標題,有人會說:「學習,誰不會?」的確,學習就像吃飯睡覺同樣,是人的一種本能,人人都有學習的能力。咱們在剛出生的時候,什麼也不知道,是一張真正的白紙,咱們靠學習的本能,學會了走路、說話、穿衣服…後來,咱們上學了,老師把書本上的知識一點一點灌輸到咱們的腦子裏,咱們掌握的知識愈來愈多,與此同時,咱們學習能力卻好像愈來愈差了,習慣了被別人餵飽,彷佛忘記了怎麼來喂本身了。
學習原本只是一種本能,算不上什麼能力,然而,通過二十多年的不斷學習,學習反而成爲了一種真正的能力,由於咱們慢慢失去了它,它就更顯得珍貴。
在學校裏咱們基本上被動式學習,然而走出了象牙塔以後,不會再有人對你負責,不會有人主動教你,咱們須要主動的學習。所謂的學習能力,其實就是自主學習的能力。
幾年前,曾有一本風靡管理界的書,叫《第五項修煉》,這本書倡導創建學習型組織,由於從長遠來看,一個組織惟一可持續的競爭優秀,就是比競爭對手更快更好的學習能力。
一個公司如此,一我的又未嘗不是如此?衆所周知如今是一個知識爆炸的時候代,知識更新很是快。聽說,一個大學畢業生所學習到的知識,在畢業以後的2年內,有效的不過剩下5%,更況且咱們的學校與社會須要嚴重脫軌。咱們賴以立足的,不在於咱們如今掌握了多少知識,而是咱們有多強的學習能力!
學習不可是一種能力,並且是一種相當重要的能力,而這種能力的核心,就是學習的方法和心態。
二.買書是最划算的投資
古人云:「書中自有黃金屋,書中自的顏如玉。」這說明先賢們早就認識到,買書是最划算的投資了。
當我剛出道的時候,拿着很是微薄的工資,有一次我向主管抱怨道:「如今的書真貴啊,這點工資連飯都吃不起,更別說買書了!」主管對我說:「不要吝惜買書的錢,寧肯忍着不吃飯,也不要忍着不買書,由於買書是回報率的最高的投資了。」
主管的話讓我很是震動。後來,我看到喜歡的書時,再有沒有手軟過。我不斷的學習,開發能力也不斷的提升,工資水平也得到了大幅度的提升。一年後,我一個月工資的漲幅,就足夠買兩年的書了。你說,還有比這更划算的投資嗎?
一本書,哪怕只有一頁紙是有用的,它將所產生的潛在價值,也會遠遠超過書自己的價格。固然,書不在多,能踏踏實實消化掉一本好書,可能比泛泛而讀10本普通書,要更有價值得多。
三.多讀經典書
十年前,我剛進入IT行業的時候,真是求知渴,每星期都要往購書中心跑,惋惜的是,那時給程序員看的書不像如今這麼多,高質量的書就更少了。當時我印象中比較經典的書籍就是《Windows程序設計》、《COM本質論》、《Java編程思想》,還有就是譚浩強的《C語言程序設計》。其它充斥書架的,就是相似於《21天精通XXX》、《XXX從入門到精通》、《XX寶典》這樣的書籍。
回首往昔,令我比較鬱悶的一件事就是在我最有學習動力的時候,看的高質量的書籍太少,就好像是在長身體的時候,每天吃的是沒養分的泡麪。固然,這跟沒有人指導也有很大的關係,獨自一我的學習,讓我走了不少的彎路。
軟件開發方面的書籍,我大體將其分爲三類:
(1)淺顯的入門類書籍。
這類書的標題每每是《XX天精通XXX》、《XXX從入門到精通》、《XX開發實戰》等,這類書每每從軟件的安裝講起,喜歡翻譯幫助文件。有人批評這類書爲爛書、毫無價值,這並不公平。至少我本人,也曾從這些書中學到一些東西。即便是21天系列書,也有適合看的人羣,只不過,它通常也就只能看21天而已,事後就能夠扔到垃圾堆。這類書只適於尚未入門的初學者,從中學到一些入門的招式。這種書在剛起步的時候通常買上一本就能夠了。若是你善於使用搜索引擎,這一本書也能夠省了。
(2)國內外高手寫的實戰類書籍。
這類書實戰性很強,把技術及原理講得很透徹。好比《windows環境下32位彙編語言程序設計》、《深刻解析MFC》、《Delphi深度探索》、《深刻淺出WPF》、《深刻剖析Asp.net組件設計》等。之前這類書都是從國外翻譯或從臺灣引進,如今國內高手愈來愈多,出自國內做者的也愈來愈多。這類書若是在你學習的每一個方向看個兩三本,而且經過實踐消化掉,那麼毫無疑問,你會成爲一個優秀的程序員。
(3)國外大牛寫的、揭露本質、有豐富思想的書。
這類書就是所謂的經典書了,例如《代碼大全》、《編程珠璣》、《設計模式》、《重構》、《代碼整潔之道》等。經典書就像一個有深度、有思想的朋友,他會給你啓發、每次閱讀都會有新的收穫,這類書具備真正的收藏價值。看經典書永遠是正確的選擇,它毫不會浪費你的時間,由於經典書是無數人沙裏淘金、幫你挑選過的結果。
然而,閱讀這類書並非一件容易的事情,讀者須要有豐富的開發經驗,才能與做者產生共鳴。真正能消化經典書的人其實很少,這就好像飲酒,一個新手不管如何也品不出葡萄美酒的醇香。在酒桌上,人人都把杯中酒一飲而盡,當有人點評「這個酒不錯」的時候,我只能無奈的苦笑一番,真的是甘苦自知。
若是一本經典書你看得很辛苦,頗有可能就是由於你功力未夠,這種狀況下不要着急,慢點來,不妨先將其先束之高閣,多看看第二類實戰型書籍,過一段時間再回頭來看,也許你會有新的驚喜。
四.不要在上班時間看書
一個善於學習的人,首先要善於利用一切時間來學習。不知是偉大的雷鋒叔叔仍是魯迅爺爺曾經說過:「時間就像海綿裏的水,只要願擠,總仍是有的。」然而,當咱們從上班時間中擠時間學習時,就千萬要注意了,不要在上班時間看書!
上班時間看書不可是一件很敏感的事情,並且很是吸引眼球,很快就會引發周遭的不爽。首先老闆內心不爽,他想:「我給你錢是讓你來工做的,不是來學習的!」;其次同事們也不爽:「咱們工做都作不完,瞧,這小子真閒哪!」用不了多久,你就會成爲被衆人排斥的異類。
固然,你可能會說,「我工做已經作完了,經理沒有安排,固然能夠學習了」,其實否則。你完成了一件事情,不等於全部的事情都完成了。一個優秀的員工,應該是主動要工做,而不是被動的等工做。工做完成之後,你至少還能夠:
(1)主動彙報給你的經理,請他來檢查你的成果,並安排新的任務;
(2)若是公司這一段時間確實比較閒,沒有什麼具體的任務,能夠進行代碼重構、優化;
(3)你還能夠主動請纓,承擔額外的工做或更艱鉅的任務。
(4)若是必定要學習,也只能對着電腦屏幕來學習,紙質書最多隻能拿來翻閱一下,而不能一直捧着,以避免影響到其餘人的情緒。
5、只學習與工做相關的東西
5、只學習與工做相關的東西
我曾發現很多程序員在學習方面找不到方向,一會學學C#,一會學學Java,看了最新的編程語言排行榜,又以爲該學C++。這樣左抓抓,右撓撓,只會讓你以爲更癢。
學習最忌三心二意。俗話說:「傷其十指不如斷其一指」,每門都學一點,還不如專心學好一個方向。這個道理誰都懂,但是又該學哪一個方向呢?難道只能跟着感受走嗎?
不!最實際的方向,應該跟着工做走,工做須要什麼,咱們就學什麼,把工做須要的技能熟練掌握。咱們爲何要學習和工做弱相關的東西呢?是爲了轉行或跳槽嗎?但是,若是咱們連如今本職工做都不能作好,又怎麼能保證到新的崗位、用新學的技能就能夠作得更好呢?
學習與工做須要的的東西,有不少好處:
首先,能夠集中精力,在某一方面鑽研得更加深刻。所謂「百招會不如一招絕」,有了絕招,你還怕不能在「武林」立足嗎?《天龍八部》中的慕容復武功博學無比,最後還不是被只會一招六脈神劍的段譽打得落花流水?
其次,能夠學得更快、更深刻,由於學習更具備針對性,並且能夠當即在工做中運用,能夠立刻檢驗出學習的效果,對存在的問題能夠進行深刻的研究,所以掌握的知識也會更加的牢固。
第三,學習與工做結合在一塊兒,工做時間也就成了學習時間,這樣突破了三個8小的限制。有人說,咱們天天全部擁有的時間能夠分爲三個8小時,工做8小時,睡覺8小時,另外還有8小時本身能夠自由支配的時間。工做和睡覺的兩個8小時你們都同樣,決定人生高度的是另外這個8小時。當咱們把學習的焦點放到與工做相關的知識上時,工做時間中的很大一部分,同時也就成了寶貴的學習時間,這真是一箭雙鵰的美事啊。
六.織網式的學習
知識的廣度和深度都很重要。做爲一個程序員,深刻把握技術細節,是寫出優質代碼的保證。但對於一個項目經理而言,知識的廣度更顯重要。項目中碰到的問題每每是綜合性的,只有具備廣博的知識,才能快速的對問題進行分析和定位。在程序員通往項目經理的道路上,咱們必須有意識的擴大本身的知識面,造成更完善的知識體系。
每一個人的知識體系就比如是一張網,咱們學習其實就是要織這樣一張網。 我曾看過漁網的編織過程,漁網雖大,也是一個結點起步,一個點一個點的編出來的,編織的過程當中,始終只有一根主線。
學習又未嘗不是這樣,知識體系的大網也是由許多小的結點組成,要結這樣一張網,只能由一個點起步。牽住一條主線,織出一個個的點,由點帶出面,最後才能造成這張大網。
我曾經編寫過一個網絡信息採集軟件,這個軟件能夠從具備列表頁網站中按字段設置採集信息,支持自定義字段、頁面多級關聯、下載附件、支持多種數據庫、可視化定義等特性。剛開始時,以爲這個軟件也是一個比較大的功能點而已,後來發現這個不起眼的功能關聯着大量的知識點,在開發過程當中, 我順藤摸瓜,各個擊破,對不少知識點進行了細緻的學習研究,軟件開發完成後,我的的知識體系網也進一步獲得了補充和完善。
程序員
七.問題是最好的學習機會
日本經營之神松下幸之助曾經說過:「工做就是不斷髮現問題、分析問題、最終解決問題的一個過程,晉升之門將永遠爲那些隨時解決問題的人敞開着。」可見,工做過程當中有問題是正常,沒有問題那纔是真正的問題。在發生問題能時,能敢於面對問題、解決問題的人,纔是公司真正的核心骨幹。
現實中,不少人老是想方設法迴避問題,當上司安排一項艱鉅的任務時,也是想盡辦法推託。卻不知,對於我的而言,其實問題是最好的學習機會。每每那些願意接受困難工做的人,能力會變得愈來愈強,那就是由於他們在克服困難的過程當中取得了巨大的進步。
有一次,一位項目經理對我說:「有一個問題,客戶有一臺HP服務器要裝磁盤陣列,沒人會作,怎麼辦啊?」「能夠學啊,沒有人願意去嗎?」「我都問了,沒人想去。」「哦,正好明天我有時間,我也沒裝過磁盤陣列,那我明天去學着弄一下。」我說的是真心話。次日早上,當我準備出發時,項目經理告訴我不用我去了,由於項目組好幾個同事都想去「學着弄一下」。
結果服務器很快就裝好了,遠遠沒有以前你們想像的那麼困難嘛。更重要的是,在解決這個問題的過程當中,你們都學會了怎麼裝磁盤陣列。
碰到困難時,迎難而上吧,千萬不要拒絕這個最好的學習機會!
八.常常思考總結
子曰:「學而不思則罔」。只學習不思考,就會迷惑,難以把握事情的本質。這就比如一個學武之人,只習得其形,而未得其神,難以成爲真正的高手。
一個程序員從入門,到成爲高手的過程當中,每每要通過幾回頓悟。頓悟會讓你跳出知識的叢林,一切豁然開朗,彷彿打通了全身的奇經八脈通常奇妙。記得我有一次,頓悟到了一個很簡單的結論:「原來高級編程語言中的類庫是封裝了Windows API來實現的。」後來碰到一些自帶類庫沒法實現的功能時,我就會想到,其實能夠經過調用Windows API來實現。利用這個思路,我解決了一些看起來很難的問題,獲得老闆的賞識,從而很快得到提高。
頓悟很是難得,然而它不是隨便發生的,而是通過一次次苦苦思索以後、靈光閃現的結果。思考的過程,其實就是將外在的知識內化爲本身的知識的過程,而頓悟,則是批量的實現這種內化,將無數個知識點鏈接在一塊兒,達到融會貫通的境界。
9、克服「高原現象」
愛學習的人都會有這樣的經歷,學習持續了一段時間以後,每每會有一個瓶頸期,長時間彷佛好久沒有什麼進步,因而心裏很是着急。
這種狀況實際上這是由人的學習規律決定的一種「高原現象」。據研究,學習者在剛開始進步快,隨後有一個明顯的或長或短的進步停頓期,後期進步慢,中間的停頓期叫高原期。
數據庫
在我看來,高原期實質是一個消化期,因爲前期的學習積累了太多的知識點,這些知識點在大腦中亂做一團,尚未造成一個知識體系。這時須要必定的時間來消化它,將它融會貫通,常常思考總結能夠快速幫你跨太高原期。
在處於高原期的時候,還能夠換一個相關的方向來學習,例如編程語言學不下去了,你能夠學習一下設計模式,設計模式也學不下去了,再換成數據庫。經過學習這些相關的知識,不但補齊了知識體系中的短板,並且各個知識點之間能夠互相啓發,幫助你實現頓悟,跨太高原期。
10、學習要有好心態
(1)學習要靜心
急於求成是學習過程當中廣泛存在的一種心態。這能夠理解,畢竟做爲一個程序員,要學的東西實在太多了,而社會又是那樣的浮躁,讓人以爲一切都是那樣的不安全、不肯定,彷佛只有學得快一點,才能跟上社會的腳步。
但是「欲速則不達」,想快快的學,每每會造成東一榔頭、西一棒槌的學習方式,每個點都沒有吃透。心沉不下去,知識也會沉不下去。要想成爲真正的高手,只能靜下心來,一步一個腳印的攀登。
(2)學習是一個持續一輩子的過程
人生的過程,就是一個自我完善過程。
孔子曾經說:「吾十有五而志於學,三十而立,四十而不惑,五十而知天命,六十而耳順,七十而從心所欲,不逾矩。」可見孔子也不是天生的聖人,也在不停的學習、進步,從「志於學」到最後「從心所欲,不逾矩」,孔子一共花了55年的時間。
做爲一個程序員,更是須要不斷更新本身的知識。咱們所知道的東西,就像一個白色的圓圈,圈外則是黑暗的未知的世界。當圓圈越大,所接觸到的黑暗部分就越多。咱們只有不停的學習,打破更多的黑暗,找到更多光明。
(3)保持飢餓,保持愚蠢
看了《喬布斯傳》以後,我最喜歡的一句話是「求知若飢,虛心若愚」(Stay Hungry,Stay Foolish),其實我更喜歡它更原生態的翻譯「保持飢餓,保持愚蠢」。咱們只有認識到本身還很飢餓和愚蠢,纔會像沒吃飽同樣,由衷的須要學習、愛上學習。
固然,知易行難,知行合一纔是學習的最高境界。我也始終是一個學習者,一直在路上。編程