请停止学习框架!

1,425 阅读3分钟

我们作为开发者,需要时刻跟上技术的步伐。我们每天都在学习各种编程语言、框架、库,似乎我们知道的工具越多,我们的生活就会更美好。

我们乐于在Angular、React、Vue、Riot、Ember、Knockout之间辗转腾挪,学习一个又一个新的框架。

但我们其实在浪费时间。

© The Wolf of Wall Street (2013) by Martin Scorsese

我的导师曾经给我上了一课:

导师:"艾德,你在做什么? "

我(很骄傲地)说:"我在看一本关于构建现代Java应用的GWT书。"

导师:"为什么?"

我:"作为一个Java工程师,我需要跟上时代的步伐,GWT现在最流行啊"

导师:"你之前看的什么书?"

我:"一门长达500页的Apache Tapestry书,当年Tapestry最流行"

导师:"现在还流行吗?"

我:"不流行了,被GWT替代了"

导师:"你还能用Tapestry的技术去构建应用吗?"

我:"不,现在已经没人用了"

导师:"Tapestry相关知识帮助你更好的理解GWT了吗?"

我:"没有,但我看到了一些相同的设计模式"

导师:"这些设计模式,能帮你解决现在遇到的问题吗?"

我:"当然,很多啊"

导师:"技术来了又去,仿佛潮起潮落,但是他们有很多相同之处。你应该调整自己的时间优先级,花80%的时间在基础和原理上,20%的时间留给框架、库和工具,而不是80%的时间都用在研究框架的使用上。"

我:"额...,只花20%的时间在框架、库和工具上?"

导师:"是的,当在工作中遇到具体的问题,你再学习他们。"

我:"谢谢"

导师:"你以后会更感谢我的。"

这个建议改变了我的一生。我书架上关于框架的书逐渐从50本减到0本,真正的解放了自我!

我买了一些真正的长青书(不随技术的更迭而消失的书),这些书占据了我80%的学习时间:

我只学当前最流行的一门技术,按照Lindy效应的建议,我选择了Spring框架:

对易损的东西来说,每多活一天,都会缩短其寿命;相反的,对于不易损的东西来说,每多活一天,都将更拉长其存在寿命

一门技术在市场上存活的时间越久,越值得投资。

不要盲目的学习最新的技术,他被淘汰的风险极高。

学习等待,时间是最好的顾问,时间会告诉你哪一个技术值得学习。

时光荏苒,转眼10年。在此期间,我已经做过大大小小50多个项目,多亏这个建议,使我学到的每一个知识都能应用在不同的公司、团队和领域。而且现如今依然适用,我没有浪费时间!

当你看透编程的本质,你就会发现不同项目有很多相同之处:

  • 编程语言不同,但编程思想相同
  • 使用框架不同,但设计模式相似
  • 开发者不同,但是处理问题的逻辑相通

请记住——框架、库和工具如每天东升西落的太阳,来了又去,但是我们的时间却一去不复返。

请将你的时间花在那些不随语言、框架、工具变化而失去魅力的编程能力和思想上吧,这会让你终身受益。

原文:Stop Learning Frameworks