Java开发者,请停止学习框架

简介: 假设你面前有两个应聘者,一个对框架特别熟,但是对基础知识一点都不懂;另一个对框架一点都不熟,但是基础知识特别懂。

假设你面前有两个应聘者,一个对框架特别熟,但是对基础知识一点都不懂;另一个对框架一点都不熟,但是基础知识特别懂。

你会雇佣谁?

小公司雇佣前者,能用就行。大公司雇佣后者,能堪重任。

对于程序员,你应该知道

编程语言不同,但设计风格相似

框架不同,但有类似的设计模式

开发人员不同,但与人打交道的原则却是一致的

永远记住,框架、库和工具的更替永不停息,而你的时间很宝贵。

一定要把你最宝贵的时间投入到可迁移的技能上。也就是说,在那些始终会用得到的技能上下最多的功夫,比如下面这些内容,可能会让你长期受用。

不要学习微服务框架,学习演进式架构(Evolutionary Architecture)。

不要学习新的编程语言,学习代码整洁之道、设计模式、领域驱动设计(DDD)。

不要学习 LeSS 和规模化敏捷框架(SAFe),学习精益生产原则(Lean manufacturing principles)。

不要学习 Hystrix,学习容错模式(Fault Tolerance Patterns)。

不要学习 Docker,学成持续交付。

不要学习 Angular、React 和 Vue,学习 Web、HTTP 和 REST。

下面这类书就占据了我阅读学习时间的80%:

程序员修炼之道 The Pragmatic Programmer

代码整洁之道 Clean Code

程序员的职业素养 The Clean Code

领域驱动设计和实践 Domain-Driven Design

测试驱动的面向对象软件开发 Growing Object-Oriented Software, Guided by Tests

持续交付 Continuous Delivery

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

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

技术的未来预期寿命与其当前的“年龄”成正比,技术每延长存续一段时间,其剩余生命周期也会相应延长。

越是在市场上持续存活时间长的技术,投入时间学习越安全、越值得。

我的授业导师曾经教我这样一课:

导师:“艾德,你在做什么?”

我(自豪地说):“我在读一本使用GWT构建现代Java应用程序的书。”

导师:“你为什么要读这本书?”

我:“作为一个Java开发者,我需要紧跟趋势,GWT现在最火。”

导师:”在读GWT之前你在读什么技术书?“

我:”是一本500多页的Apache Tapestry的书,Tapestry当时非常流行“

导师:”这个Tapersty一直流行吗?“

我:”没有多长时间。GWT现在最火。“

导师:”你能重新用Tapersty的能力来解决现在的问题吗?“

我:”不能了。现在它没有什么用。“

导师:”Taperstry的知识能帮你对GWT理解的更好吗?“

我:”不能,没有太大用。但是我看到里面有一些设计模式有些相似“

导师:”是设计模式。这些能帮你解决现在的问题吗?“

我:”是的,帮助太多了。“

导师:”技术一直在向前发展。但是有一些是相通的,要找准重点,将80%的时间放在提升基础问题上,余下的20%再去学习框架,库和工具“

我:”Hmmm... 只留20%的时间学习框架,库和工具?“

导师:”是的。你在解决问题时自然就会学会框架、库和工具“

我:”谢谢指点“

导师: 现在不忙着谢,过一段时间,你自然会明白。

不要忙着去学习最新的技术,因为这些新技术很可能很快消亡。

时间会告诉你,哪种技术值得投入精力去学习,时间是你最好的顾问,学会等待是很重要的。

本文转自公众号java思维导图

原文链接:https://mp.weixin.qq.com/s/KmkCCiYjGYiAj857FrA4Wg

相关文章
|
11天前
|
JSON Java Apache
非常实用的Http应用框架,杜绝Java Http 接口对接繁琐编程
UniHttp 是一个声明式的 HTTP 接口对接框架,帮助开发者快速对接第三方 HTTP 接口。通过 @HttpApi 注解定义接口,使用 @GetHttpInterface 和 @PostHttpInterface 等注解配置请求方法和参数。支持自定义代理逻辑、全局请求参数、错误处理和连接池配置,提高代码的内聚性和可读性。
|
20天前
|
人工智能 前端开发 Java
基于开源框架Spring AI Alibaba快速构建Java应用
本文旨在帮助开发者快速掌握并应用 Spring AI Alibaba,提升基于 Java 的大模型应用开发效率和安全性。
基于开源框架Spring AI Alibaba快速构建Java应用
|
20天前
|
消息中间件 Java 数据库连接
Java 反射最全详解 ,框架设计必掌握!
本文详细解析Java反射机制,包括反射的概念、用途、实现原理及应用场景。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
Java 反射最全详解 ,框架设计必掌握!
|
15天前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
26天前
|
SQL Java 关系型数据库
java连接mysql查询数据(基础版,无框架)
【10月更文挑战第12天】该示例展示了如何使用Java通过JDBC连接MySQL数据库并查询数据。首先在项目中引入`mysql-connector-java`依赖,然后通过`JdbcUtil`类中的`main`方法实现数据库连接、执行SQL查询及结果处理,最后关闭相关资源。
|
22天前
|
缓存 Java 数据库连接
Hibernate:Java持久层框架的高效应用
通过上述步骤,可以在Java项目中高效应用Hibernate框架,实现对关系数据库的透明持久化管理。Hibernate提供的强大功能和灵活配置,使得开发者能够专注于业务逻辑的实现,而不必过多关注底层数据库操作。
13 1
|
28天前
|
Java 数据库连接 开发者
Spring 框架:Java 开发者的春天
【10月更文挑战第27天】Spring 框架由 Rod Johnson 在 2002 年创建,旨在解决 Java 企业级开发中的复杂性问题。它通过控制反转(IOC)和面向切面的编程(AOP)等核心机制,提供了轻量级的容器和丰富的功能,支持 Web 开发、数据访问等领域,显著提高了开发效率和应用的可维护性。Spring 拥有强大的社区支持和丰富的生态系统,是 Java 开发不可或缺的工具。
|
23天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
15天前
|
存储 Java 开发者
Java中的集合框架深入解析
【10月更文挑战第32天】本文旨在为读者揭开Java集合框架的神秘面纱,通过深入浅出的方式介绍其内部结构与运作机制。我们将从集合框架的设计哲学出发,探讨其如何影响我们的编程实践,并配以代码示例,展示如何在真实场景中应用这些知识。无论你是Java新手还是资深开发者,这篇文章都将为你提供新的视角和实用技巧。
12 0
|
4月前
|
设计模式 存储 安全
Java面试题:设计一个线程安全的单例类并解释其内存占用情况?使用Java多线程工具类实现一个高效的线程池,并解释其背后的原理。结合观察者模式与Java并发框架,设计一个可扩展的事件处理系统
Java面试题:设计一个线程安全的单例类并解释其内存占用情况?使用Java多线程工具类实现一个高效的线程池,并解释其背后的原理。结合观察者模式与Java并发框架,设计一个可扩展的事件处理系统
62 1
下一篇
无影云桌面