咱們做爲開發者,須要時刻跟上技術的步伐。咱們天天都在學習各類編程語言、框架、庫,彷佛咱們知道的工具越多,咱們的生活就會更美好。程序員
咱們樂於在Angular、React、Vue、Riot、Ember、Knockout之間展轉騰挪,學習一個又一個新的框架。編程
但咱們其實在浪費時間。設計模式
個人導師曾經給我上了一課:cors
導師:"艾德,你在作什麼? "框架
我(很驕傲地)說:"我在看一本關於構建現代Java應用的GWT書。"編程語言
導師:"爲何?"工具
我:"做爲一個Java工程師,我須要跟上時代的步伐,GWT如今最流行啊"學習
導師:"你以前看的什麼書?".net
我:"一門長達500頁的Apache Tapestry書,當年Tapestry最流行"設計
導師:"如今還流行嗎?"
我:"不流行了,被GWT替代了"
導師:"你還能用Tapestry的技術去構建應用嗎?"
我:"不,如今已經沒人用了"
導師:"Tapestry相關知識幫助你更好的理解GWT了嗎?"
我:"沒有,但我看到了一些相同的設計模式"
導師:"這些設計模式,能幫你解決如今遇到的問題嗎?"
我:"固然,不少啊"
導師:"技術來了又去,彷彿潮起潮落,可是他們有不少相同之處。你應該調整本身的時間優先級,花80%的時間在基礎和原理上,20%的時間留給框架、庫和工具,而不是80%的時間都用在研究框架的使用上。"
我:"額...,只花20%的時間在框架、庫和工具上?"
導師:"是的,當在工做中遇到具體的問題,你再學習他們。"
我:"謝謝"
導師:"你之後會更感謝個人。"
這個建議改變了個人一輩子。我書架上關於框架的書逐漸從50本減到0本,真正的解放了自我!
我買了一些真正的長青書(不隨技術的更迭而消失的書),這些書佔據了我80%的學習時間:
我只學當前最流行的一門技術,按照Lindy效應的建議,我選擇了Spring框架:
對易損的東西來講,每多活一天,都會縮短其壽命;相反的,對於不易損的東西來講,每多活一天,都將更拉長其存在壽命
一門技術在市場上存活的時間越久,越值得投資。
不要盲目的學習最新的技術,他被淘汰的風險極高。
學習等待,時間是最好的顧問,時間會告訴你哪個技術值得學習。
時光荏苒,轉眼10年。在此期間,我已經作過大大小小50多個項目,多虧這個建議,使我學到的每個知識都能應用在不一樣的公司、團隊和領域。並且現現在依然適用,我沒有浪費時間!
當你看透編程的本質,你就會發現不一樣項目有不少相同之處:
請記住——框架、庫和工具如天天東昇西落的太陽,來了又去,可是咱們的時間卻一去不復返。
請將你的時間花在那些不隨語言、框架、工具變化而失去魅力的編程能力和思想上吧,這會讓你終身受益。