请停止学习框架 - Stop Learning Frameworks

最近阅读到一篇文章,原文标题《Stop Learning Frameworks》, 读完之后感触很深,很赞同作者的观点,这里分享这篇文章,同时练习一下英语翻译,学习一些专业上的英语词汇和表达。下面是译文:

请停止学习框架

我们是开发者。我们需要与最新的技术保持同步。每天,我们学习编程语言,框架和第三方库。知道越前沿的技术越好。

与Angular, React, Vue, Riot, Ember, Knockout这些技术保持同步是很有趣的。

但是我们在浪费时间.

时间是我们最宝贵的财富。是有限的,不能再生,而且你不能买到更多。

技术,比如时尚,它像光速一样在变化。为了抓住这些,我们必须奔跑。这场比赛没有赢家,因为比赛没有终点。

我的导师有一次给我上了一堂课:

  • 导师:“Ed,你在干什么?”
  • 我(带着一种骄傲):“我在读一本书,关于使用GWT构建现代java应用程序。”
  • 导师:“为了什么?”
  • 我:“作为一个java开发,我需要跟上潮流,而GWT就是潮流。”
  • 导师:“在GWT之前你读过什么技术的书籍么?”
  • 我:“是一本长达500页的 Apache Tapestry 书,Tapestry 之前是潮流”
  • 导师:“Tapestry 现在任然是潮流么?”
  • 我:“不再是,GWT现在是潮流”
  • 导师:“你能重新使用 Tapestry 技能解决现在的问题么? ”
  • 我:“不行,目前没有人使用它。 ”
  • 导师:“Tapestry 知识能帮你更好的理解 GWT么? ”
  • 我:“ 不,它不行。但是我看到了一些重叠的模式。 ”
  • 导师:“ 那个是设计模式,它能帮你解决现在的问题么? ”
  • 我:“ 是的,大多数都可以 ”
  • 导师:“ 新的技术层出不穷,消失也是常有的。但是他们有一些共同点。设置正确的优先级 ,投资80%的时间在学习基础知识上面,剩余的20%学习,库和工具。”
  • 我:“ 额。。 只花20%的时间学习框架,库和工具?”
  • 导师:“是的,反正你在工作中解决问题的时候会学习到”
  • 我:“ 谢谢 ”
  • 导师:“ 稍后再感谢 ”

这个建议改变了我的生活。我丢掉了书柜上所有框架的书,罪恶感从50减到0,终于解脱了!

然后我买了一些经久不衰的书籍。这些书占据了我80%的学习时间:

  • The Pragmatic Programmer 程序员修炼之道: 从小工到专家
  • Clean Code 代码整洁之道
  • The Clean Coder 程序员的职业素养
  • Domain-Driven Design 领域驱动设计
  • Growing Object-Oriented Software, Guided by Tests 测试驱动的面向对象软件开发
  • Continuous Delivery 持续交付

查看所有的书籍列表

我还买了一本当前技术的书籍。根据“林迪效应”,spring框架必须是一个好的投资:

技术预期寿命和它们目前已经存在的时间成正比。每多生存一段时间,它的剩余预期寿命就会增加一点

技术在市场上存活的时间越长,投资就越安全。

不要急于学习新的技术,它很有可能会死。

时间将会展示那些技术值得投资。时间是您最好的顾问。你要学会等待。

从那以后的十年,我帮助了50个不同的软件项目。感谢导师的建议,我学到的一切都可以在公司,团队和行业适用。我学习的知识今天任然有用。 我没有浪费我的时间

所有的项目看起来都不一样,但如果你看一下项目的内部:

  • 编程语言不一样,但设计是一样的
  • 框架不一样,从始至终就那些设计模式
  • 开发人员不一样,但与人交往是的规则是一样的

请记住,框架,库和工具这些层出不穷,消失也是常有的。时间是宝贵的。

把你的黄金时间投入到可移植的总是相关的技能上面。

  • 微服务 演进式架构
  • 新的语言 代码整洁之道,设计模式,领域驱动设计
  • LeSS, SAFe 精益制造原则
  • Hystrix 容错模式
  • Docker 持续交付
  • Angular WEB,HTTP 和 REST

之所以对这个感触很深,我觉得我就陷入了这个死循环中。大数据热门,我就买了很多关于大数据的书籍,Hadoop,Hive,spark,Hbase等等。 厚厚的几本书放在那儿吃灰,至今没有翻阅,即便是看了也只是学会了几个工具的使用,对于真正的MapReduce,HDFS这些基础的又理解了多少呢?为什么这些简单的道理自己不能误出来呢?

万变不离其宗,所以只有基础扎实,工作中解决问题才能游刃有余。

人与人之间交往好,和家人、朋友、同事都能相处好。