不要再学习框架了

  • 2018-12-30
  • 浏览 (293)

我们是开发人员。我们需要跟上技术发展的步伐。每天,我们都在学习新的编程语言、框架和库。我们知道的现代化工具越多越好。

跟踪 Angular、React、Vue、Riot、Ember、Knockout 的最新进展很有意思。

但是,我们在浪费自己的时间。

时间是我们拥有的最宝贵的资源。时间是有限的,不可再生的,你无法多买一点。

技术和时尚一样,正在以光速变化。为了赶上其发展速度,我们就需要跑得很快。这场比赛没有赢家,因为它没有终点。

导师:“Ed,你在做什么?”
我(骄傲的): “我在读一本有关使用 GWT 构建现代 Java 应用的书。”
导师: “为什么?”
我: “作为一名 Java 开发人员,我需要紧跟潮流。GWT 是流行趋势。”
导师:“在 GWT 之前,你读过什么技术书籍?”
我: “一本关于 Apache Tapestry 的 500 页的著作。 Tapestry 那时是流行趋势。”
导师:“Tapestry 现在还流行吗?”
我: “不流行了。现在流行 GWT。”
导师:“你还可以重用 Tapestry 的技能来解决当前的问题吗?”
我: “不能,现在没人用它了。”
导师:“Tapestry 的知识能帮助你更好地理解 GWT 吗?”
我: “不,不能。但我看到了一些重叠的模式。”
导师:“那是设计模式。它们能帮你解决当前的问题吗?”
我: “是的。可以解决其中许多问题。”
导师:“技术变化无定,但有很多共同点。确定好优先级。将 80% 的学习时间投入到基础知识上。剩下的 20% 用于框架、库和工具。”
我: “嗯…仅 20% 用于框架、库和工具?”
导师:“是的。反正你在工作中解决问题的时候会学习它们。”
我: “谢谢。”
导师:“你以后会感谢我的。”

这个建议改变了我的生活。我从我的书架上拿走了所有介绍框架的书。这些书从 50 本降到了 0 本。我总算松了一口气!

我买了一套常青树著作。这些书占据了我 80% 的学习时间。

《程序员修炼之道》
《代码整洁之道》
《程序员的职业素养》
《领域驱动设计》
《测试驱动的面向对象软件开发》
《持续交付》

我还买了一本关于当前技术的书。Lindy 效应表明,Spring 框架一定是项不错的投资:

技术未来的预期寿命与其当前的年龄成正比。它每多活一段时间,预期寿命就会延长。

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

不要急于学习新技术——它有很高的死亡几率。

时间会证明哪项技术值得投资。时间是你最好的导师。学会等待。

10 年过去了。我为 50 个不同的软件项目提供了帮助。由于这些建议,我学到的所有东西都可以跨公司、团队和领域迁移。我的知识到今天仍然有用。我没有浪费时间。

除非你能看透表象,否则所有的项目看上去都不同:

编程语言不同,但设计类似;
框架不同,但会体现出同样的设计模式;
开发人员不同,但与人打交道的规则一致。
记住——框架、库和工具变化无定。时间宝贵。

把最宝贵的时间花在可迁移的技能上——那些永不过时的技能。

不是微服务框架,而是演化架构;
不是新的编程语言,而是整洁的代码、设计模式和 DDD;
不是 LeSS、SAFe,而是精益生产原则;
不是 Hystrix,而是容错模式;
不是 Docker,而是持续交付;
不是 Angular,而是 Web、HTTP 和 REST。

正文到此结束