别再学习框架了
在網上看到了這篇文章,有標題黨嫌疑,雖然作者說得有點極端,但是把大部分時間投入到學習那些基礎的、不變的知識中去,這個觀點我也認可,翻譯過來大家看看。
作者:Eduards Sizovs
https://sizovs.net/2018/12/17/stop-learning-frameworks/
我們是程序員, 我們需要緊跟最新的技術,每天都學習新的編程語言,框架,類庫,對于最新的工具,我們學得越多越好。?
能夠緊跟Angular, React, Vue, Riot, Ember, Knockout這些最新的東西是一件有趣的事情。 ?
但是,我們在浪費時間!?
時間是我們最寶貴的資源,時間是有限的,不可再生,你也不能購買更多的時間。?
技術界就像時尚界,以“光速”在變化,我們必須跑得飛快才能跟上, 這種競賽沒有贏家,因為競賽沒有盡頭。
?? The Wolf of Wall Street (2013) by Martin Scorsese ?我的導師曾經給我“上過一課”:?
導師: “愛德華,你在做什么?”?
我(很自豪): 我在讀一本書,是關于使用GWT構建現代的Java應用程序的。?
導師:“為了啥?”?
我:“作為一個Java Developer,我需要緊跟最新的潮流,GWT就是這樣的一個東西。”?
導師:“GWT之前你還讀過什么書?”?
我:“一本關于Apache Tapestry的500頁的書。TapeStry當時是流行的東西。”?
導師:“Tapestry 現在還流行嗎?”?
我:“現在是GWT更厲害了。”?
導師:“你能復用Tapestry的技能來解決當前的問題嗎?”?
我:“不行,現在沒人用它了。”?
導師:“Tapestry能讓你更好地理解GWT嗎?”?
我:“不,不行,但是我看到了一些重復的模式。”?
導師:“那是設計模式,它們能幫助你解決當前問題嗎?”?
我:“可以。”?
導師:“新技術來了又走了,但是有很多思想是共通的。 你要設置正確的優先級,把80%的時間投資到基礎知識學習上,把剩下的20%留給框架,類庫和工具。”?
我:“嗯...只有20%?”?
導師:“是的,你可以在實戰中再去學習那些細節。 ”?
我:“謝謝。”?
導師:“你以后還會感謝我的。”?
這個建議改變了我的生活,我把我書架中關于框架的書都拿掉了,罪惡感從50本書降到了0本,真是個極大的解脫。?
(碼農翻身老劉注: 這家伙看的框架書確實太多了!) ?
我買了一系列“永葆青春”的書,這些書占據了我80%的學習時間:?
《程序員的修煉之道》
《代碼整潔之道》
《程序員的職業素養》
《領域驅動設計》
《測試驅動的面向對象軟件開發》
《持續交付》
(碼農翻身老劉注:這里列出的基礎的書還不夠多啊,比如著名的CSAPP就不在其中)?
我也購買了當前熱門技術的書,?Lindy效應表明Spring Framework應該是很好的投資:?
技術的未來預期壽命與其當前年齡成正比。每增加一段生存期就意味著更長的剩余壽命。 技術在市場上的時間越長,投資就越安全。?
不要急于學習新技術 - 它很有可能死亡。?
時間將顯示哪種技術值得投資。時間是你最好的顧問。學會等待。
從那以后十年過去了。我幫助了50個不同的軟件項目。
感謝導師的建議,我學到的一切都可以在公司,團隊和領域之間移植。我的知識今天仍然有用,我沒有浪費我的時間。?
所有項目看起來都不同,除非你能看到表面以下:?
編程語言是不同的,但設計思想是相似的。?
框架是不同的,但相同的設計模式閃耀在其中。?
開發人員是不同的,但與人打交道的規則是一致的。?
記住,框架,庫和工具來了又走了。時間很寶貴。
? In Time (2011) by Andrew Niccol?把你的黃金時間投入到那些基礎的、不隨時間變化的、可移植的技能中當中,這些技能將會永遠有價值。?
Microservices frameworks?Evolutionary Architecture?
New programming language?Clean Code,?Design Patterns,?DDD?
LeSS, SAFe?Lean manufacturing principles?
Hystrix?Fault Tolerance Patterns?
Docker?Continuous Delivery?
Angular?Web, HTTP and REST
總結
- 上一篇: 从 25 倍稀释下的蘑菇街期权说起
- 下一篇: 咖啡馆的故事:FTP, RMI , XM