關於學習技術這件事

專業技術從來就不是人天生就會的,所以我們才需要去學習它。可是有許多人在學習新技術時,常常只是把書瀏覽過一遍,然後真正要下手時卻不知所措。其實在學習技術的方法有很多,只不過並沒有哪個方法特別好,就看這個方法適不適合我們而已。

然而適合每個人學習的方式不一定相同,以下就是我個人以往的學習經驗,供大家參考看看。

瞭解

我在學一個技術之前,都會先去瞭解它的背景觀念,並知道為什麼要需要學它。

很多技術都有它的來源背景,當我花心思去瞭解發明這項技術的人的想法,並且也明白這個技術要解決什麼樣的問題之後,就會比較容易接受這個技術,進而快速進入學習它的大門。

可是千萬不要在只懂了這技術一小部份的來由之後就開始自滿了起來,並用自己狹隘的觀點來評斷這個技術。因為任何技術的誕生都有它的時空背景,即便它不適合我們現在的環境;我們該做的是思考這項技術的優缺點,讓自己能更善於應用它,或是在未來不再犯下同樣的錯誤。

記憶

把想學的技術,用心智圖畫出來;學過的就用圖示標起來,讓自己知道學過了哪些。

通常我的記憶是不可靠的,常常學過的東西也很快就忘了,這時簡單的筆記以及部落格就是幫助我記憶的最大利器了。不過這樣記下的東西常常是雜亂的,所以最好再用較為易於整理的系統 (例如 Wiki ) ,來將這些技術心得歸納與吸收。

應用

技術不用懂到八、九成,重點是做中學、學中做。

其實我很少去將一個技術研究到透徹,一來我沒有那個時間,二來沒有實作的輔助,我很難去更深入這個技術的核心。因此我常是學到一個階段,並且謹責地評估之後,就會實際地將它應用在某些專案上。而從這些專案實際上遇到的問題中,我就可以瞭解這項技術的優缺點,也能驅動我研究有關該技術更深一層的知識。

期望

規劃短期的學習目標,想像自己在目標完成後會變成什麼樣的一個人。

在我剛開始學習物件導向的時候,我其實很盲目。但是經過自己設定目標並且不斷去練習後,我慢慢發現雖然我並無法像高手那般對物件導向運用自如,但卻也已經能看懂他們寫出來的程式。我很高興我有這樣的成果,這促使我朝著物件導向開發的方向前進。

一直到現在,雖然我在物件導向的觀念上還談不上是非常成熟,但有些概念已經漸漸融會貫通;至少,我已不再是物件導向苦手!

分享

問問題要先做功課,得到解答後也要懂得反饋。

很多朋友學習技術時,一遇到問題就問,但是他們卻常常碰了好大的釘子。通常很大的原因是他們並沒有自己先去思考過這個問題,也沒有在這個領域先去打好必要的基礎。人必自助而後人助之,當我們沒花心思去解決問題時,怎麼能期待別人花時間幫我們解決呢?

而以前常常在技術論壇裡打混的我,大部份的時候是試著去解決別人的問題,而不是去問問題。在試著解決這些問題的過程中,我獲得了很多以前自己忽略的觀念;而且當我分享我的方法後,也會有高手願意跟我討論我的方法的優缺點,那種成長是言語難以形容的!

恆心

下決心去做很難,但持之以恆更難。

學習技術其實是一條很漫長的路,很多人都是為了工作而不得不去學;而有些人一開始是非常有興趣,但到後面就發現自己其實根本只是三分鐘熱度而已。而我個人對於有些技術,其實也常抱有同樣的觀念;所以有時間的話,我常會回頭去重看一些觀念和基礎的部份。畢竟以往我的根紮得不夠深,如果只是一味地往上成長,到時候只是讓自己倒得更快而已。

記住,讓自己永遠保持在學習的心態上,因為我們不是天才。