如何學習技術?

Web開發者發表於2012-05-29

1. 想學的技術非常多,該怎麼辦?

  區分重點,選定目標,循序漸進。技術是無邊際的,隨著知識的不斷增加,會發現未知的東西更多。我們能做的是:

  1) 找重點:區分感興趣的技能和必須技能,將重點放在必須技能上。如實在區分不開,可以這樣問自己:不學這個技術會現在的工作是不是幹不下去了?

  2) 定目標:在一段時間(至少半年內)選定一個技術方向,精研下去。

  3) 不斷向前:當某一種技術掌握後,再開始另一個技術的研究;

2. 很想學一種技術,但專案工作太多,沒時間開展,一直拖著,怎麼辦?

  生存狀況和工作性質註定了我們不能像在學校和外企那樣有大把的可支配時間,所以要追求技術進步只能自己找時間,也即“白天求生存,晚上謀發展”的道理。我一般會將晚上和週末的時間拿出一部分來學習。

3. 選定一個技術方向作為學習目標的時候哦,如何開展效果比較好?

  學習一門技術一般分幾個階段,入門->掌握->精通。一般情況下,達到熟練掌握的程度即可,要實現至少需一年的積累。

  可以分下邊幾步:

  1) 知其然:瞭解該技術的基本原理和應用場景,並進行簡單的實踐。這個階段,官方文件是最好的教材;

  2) 站在巨人的肩膀上:找該技術業界成熟的開源類庫和應用系統進行學習,精度原始碼;

  3) 在問答中進步:去相關論壇學習,提問或者回答問題,並嘗試獨立解決論壇中已有問題,http://www.stackoverflow.com/ 是最好的選擇。

  4) 躬身而行:實踐相關技術,達到能獨立完成中等規模應用的程度;

  5) 知其所以然:深入瞭解該技術的執行機制、周邊技術、效能優化、深度知識等;

  6) 善用資源:在公司,高手很多,你想了解的任何一門技術,差不多都能找到相應的牛人,多和這些人溝通,會事半功倍。

  以PHP為例:

  熟悉語法&api -> 閱讀zend、ci、wordpress原始碼 -> 用PHP獨立開發專案 -> 深入瞭解PHP引擎實現細節、擴充套件編寫、效能優化等

4. 外界干擾太多,靜不下心來學習,怎麼辦?

  前輩給過我一個建議:關掉QQ,結合在學校時的體會,我深知這個建議的重要性,欣然接受了。

  其實,靜心是做好任何事的前提,關掉QQ只是一個表象,最本質的是我們要給自己營造一個好的學習環境。

  做技術需要一個安靜的環境和一套方法論,方法論可以找到很多(論語第一篇講的最好),環境必須我們自己營造。

  所以我的建議是:忘掉QQ、適度娛樂,努力使自己沉迷到工作和學習中。

  雖然不太容易做到,但做到了對提高效率、找出學習時間都很有幫助。

  一些複雜的技術會涉及很多方向,每個方向也可以按照上邊的方式分解。

  技術學習可以觸類旁通,當你完全吃透一門技術的時候,其它的再學起來就快了。

  以上內容歸根結底就是要我們:懂得選擇,學會放棄,耐得住寂寞,經得起誘惑。

  做技術如同做學問,關於如何做學問,王國維有段話我高中以來一直非常喜歡:

  古今之成大事業、大學問者,罔不經過三種之境界:“昨夜西風凋碧樹。獨上高樓,望盡天涯路。”此第一境界也。“衣帶漸寬終不悔,為伊消得人憔悴。”此第二境界也。“眾裡尋他千百度,驀然回首,那人卻在燈火闌珊處。”此第三境界也。 

相關文件:禪道程式設計師的10條原則

相關文章