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