• 停止学习框架


    我们是程序员,每天都在了解最新的技术,每天都在学习编程语言、框架和库。
    因为我们知道的现代编程工具越多越好,对吧?

    不停地追随 Angular、React、Vue、Riot、Ember、Knockout 的脚步还真是一件有意思的事情呢。(译注:反话)

    但这其实是在浪费时间!

    时间是人类最宝贵的资源。时间是有限的、不可再生的,你可以用钱买任何东西,却买不了时间。

    技术,就像时尚,在以光速在变化着。为了赶上它,我们需要跑的非常快。
    但是这个跑道上没有终点,所以没有赢家。

    我的导师曾经这样教我:

    导师:艾德,你在做什么?
    我(自豪地说):我在读一本关于如何使用 GWT 构建现代 Java 应用的书呢。

    导师:你读它做什么?
    我:作为一名 Java 开发者,我需要跟上潮流。GWT 就是现在的潮流。

    导师:你在读这本书之前还读过什么书?
    我:我读了一本关于 Apache Tapestry 的书,那本书有 500 页。Apache Tapestry 是之前的潮流。

    导师:Apache Tapestry 现在还是潮流吗?
    我:不是了,GWT 才是。

    导师:你之前从 Tapestry 学到的技能现在还能用吗?
    我:不能用了呀。

    导师:Tapestry 能帮助你更好地理解 GWT 吗?
    我:不能。不过两者都用到了一些设计模式。

    导师:那就是设计模式了,设计模式能帮你解决你遇到的问题吗?
    我:可以,而且帮助很大。

    导师:新事物来了又走,其实有很多共同点。你应该学你该学的。你应该把你 80% 的学习时间用在学习基础上,剩下 20% 的时间才是用来学习框架、库和工具的。
    我:哦……只留 20% 的时间学习框架、库和工具?

    导师:是的。你在工作中解决问题时自然就会学会框架、库和工具。
    我:谢谢指导。

    导师:你之后还会谢我的。

    导师的建议改变了我的生活。我把书架上关于框架的书全部都扔了,五十本书一本不剩,扔得我很开心。

    我买了一些不会过时的书,并用 80% 的学习时间来读这些书:

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

    我只买了一本关于最新技术的书,是关于 Spring 的。因为根据林迪效应,学习 Spring 是一项不错的投资。

    林迪效应认为,对于不会自然消亡的事物,如一项技术或一个想法,其预期寿命与其当前的生命成正比;即,只要这一事物多存活一天,就意味着其预期生寿命会更长一些。

    一项技术在市场上存活得越久,就越值得我们投资(学习)它。

    不要急着学习新技术,因为这些技术很可能会死。

    时间会告诉你答案,你要学会等待。

    十年来,我参与开发过 50 个不同的软件项目。得益于我导师的建议,我学的所有东西都适用于不同的公司、团队和领域。我的知识今天仍然有用。我没有浪费我的时间。

    如果你看得更深入些,你会发现所有的软件项目都是类似的:

    • 用的编程语言虽然不一样,但是设计方法是类似的。
    • 用的框架虽然是不一样的,但是设计模式是类似的。
    • 参与的开发者是不一样的,但是如何和这些人打交道是不变的。

    记住,框架、库和工具来了又走。时间才是珍贵的。

    将你的黄金时间用于学习通用技能,那些不会过时的技能。

    • 不要学习微服务框架,学习演进式架构(Evolutionary Architecture)。
    • 不要学习新的编程语言,学习代码整洁之道、设计模式、领域驱动设计(DDD)。
    • 不要学习 LeSS 和规模化敏捷框架(SAFe),学习精益生产原则(Lean manufacturing principles)。
    • 不要学习 Hystrix,学习容错模式(Fault Tolerance Patterns)。
    • 不要学习 Docker,学成持续交付。
    • 不要学习 Angular、React 和 Vue,学习 Web、HTTP 和 REST。
  • 相关阅读:
    【转】如何保护自己的QQ号
    13. 查看数据库对象间的依赖关系
    12. 查询数据库账号的所有权限
    11. 查询数据库各种历史记录
    如何找回SQL Server实例安装时的序列号
    SQL Server Mobile/Compact Edition 简单介绍
    6. SQL Server数据库监控
    5. SQL Server数据库性能监控
    4. SQL Server数据库状态监控
    3. SQL Server数据库状态监控
  • 原文地址:https://www.cnblogs.com/lvmylife/p/11731783.html
Copyright © 2020-2023  润新知