本文作者认为,作为开发者,技术的进步永无止境,今天的 新技术过一段时间就没人用了,所以穷尽全部精力追逐最新的框架、库之类的技术其实是在浪费时间,应该把大部分学习时间投入到不会过时的基础技术上。不知小伙伴们怎么看?
作为开发者,我们需要时刻让自己跟上最新的技术发展。我们每天都要学习编程语言、框架和库。我们不断学习现代化的工具,提升自己的技能。
Angular、React、Vue、Riot、Ember、Knockout,每天努力跟上这些框架的更新节奏,多有意思的一件事啊,又充实。
其实,这么干是在浪费时间。
时间是我们所拥有的最宝贵的资源,因为时间是有限的、不可再生的,更重要的是,时间是用钱买不到的。
技术的进步就像时尚之风一样,无时无刻不在极速的变化之中,要想跟上技术的脚步,你需要马不停蹄的往前赶,永不停歇,因为技术的进步永无休止。
马丁·斯科塞斯2013年作品《华尔街之狼》剧照
我的导师曾经和我进行过下面这段对话,让我获益良多:
导师:最近忙什么呢?
我(自豪脸):在读一本书,是讲如何用GWT构建现代Java应用的。
导师:为什么要读呢?
我:作为一个Java开发者,得跟上最新的技术趋势,GWT是很重要的。
导师:你在GWT之前都读哪些技术方面的书?
我:读了一本500页的讲Apache Tapestry的书。 Tapestry很重要。
导师:现在还重要吗?
我:不重要了,现在流行GWT了。
导师:你现在还能用 Tapestry的技术解决现有的问题吗?
我:不行了,现在Tapestry没人用了。
导师:Tapestry的知识能让你更好地理解GWT吗?
我:不能,但是有一些内容是相通的。
导师:你说的是设计风格,这能帮你解决现有的问题吗?
我:能,在很多问题上都有帮助。
导师:技术更迭无时无刻不在进行,但其中有些东西永远不变。要把重点找准,将80%的学习时间放在提升基础问题上,剩下20%留给框架、库和工具就够了。
我:只留20%吗?
导师:对,你在实际工作中总会学到这些东西的。
我:谢谢您的指点。
导师:现在不忙着谢,过一段时间,你自然明白。
这次谈话可以说改变了我的人生!我把所有的讲框架、库的书从书架上全部撤下,一本都没留,那叫一个轻松啊!
我在书架上换了一些长期的基础技术读物,不会过时的那种,比如像下面这类书就占据了我阅读学习时间的80%:
·Clean Code
·The Clean Coder
·Domain-Driven Design
·Growing Object-Oriented Software, Guided by Tests
·Continuous Delivery
技术的未来预期寿命与其当前的“年龄”成正比,技术每延长存续一段时间,其剩余生命周期也会相应延长。
越是在市场上持续存活时间长的技术,投入时间学习越安全、越值得。
不要忙着去学习最新的技术,因为这些新技术很可能很快消亡。
时间会告诉你,哪种技术值得投入精力去学习,时间是你最好的顾问,学会等待是很重要的。
自那次与导师的谈话后,十年过去了。期间我陆陆续续参与了50多个不同的软件项目的开发。感谢导师的建议,我学到的一切东西都可以在不同公司、团队和领域之间顺利迁移。我学到的知识到今天仍然有用。我没有浪费时间。
电影《时间规划局》剧照
所有的项目看起来都是不一样的,但是,如果剥离表面,往深处看不难发现其中的共通之处,比如:
编程语言不同,但设计风格相似
框架不同,但有类似的设计模式
开发人员不同,但与人打交道的原则是统一的
永远记住,框架、库和工具的更替永不停息,而你的时间很宝贵。
一定要把你最宝贵的时间投入到可迁移的技能上。也就是说,在那些始终会用得到的技能上下最多的功夫,比如下面这些内容,可能会让你长期受用。
•进化式架构
•清洁代码,设计模式
•精益制造原则
•容错模式
•持续交付
•Web,HTTP以及其他
-
框架
+关注
关注
0文章
401浏览量
17464 -
编程语言
+关注
关注
10文章
1942浏览量
34668
原文标题:开发者应如何学习才最有效?花80%的时间学习不会过时的基础技术
文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论