咱们做为开发者,须要时刻跟上技术的步伐。咱们天天都在学习各类编程语言、框架、库,彷佛咱们知道的工具越多,咱们的生活就会更美好。程序员
咱们乐于在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多个项目,多亏这个建议,使我学到的每个知识都能应用在不一样的公司、团队和领域。并且现现在依然适用,我没有浪费时间!
当你看透编程的本质,你就会发现不一样项目有不少相同之处:
请记住——框架、库和工具如天天东升西落的太阳,来了又去,可是咱们的时间却一去不复返。
请将你的时间花在那些不随语言、框架、工具变化而失去魅力的编程能力和思想上吧,这会让你终身受益。