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

相关文章
|
15天前
|
消息中间件 前端开发 Java
java学习路径
【4月更文挑战第9天】java学习路径
17 1
|
15天前
|
设计模式 前端开发 安全
Java是一种广泛使用的编程语言,其学习路径可以大致分为以下几个阶段
【4月更文挑战第9天】Java是一种广泛使用的编程语言,其学习路径可以大致分为以下几个阶段
15 1
|
5天前
|
JavaScript Java 测试技术
基于Java的驾考自主学习预约平台的设计与实现(源码+lw+部署文档+讲解等)
基于Java的驾考自主学习预约平台的设计与实现(源码+lw+部署文档+讲解等)
16 0
|
5天前
|
Java Maven 开发工具
《Java 简易速速上手小册》第5章:Java 开发工具和框架(2024 最新版)
《Java 简易速速上手小册》第5章:Java 开发工具和框架(2024 最新版)
26 1
|
6天前
|
JavaScript Java 测试技术
基于Java的精品课程在线学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的精品课程在线学习系统的设计与实现(源码+lw+部署文档+讲解等)
25 1
|
6天前
|
JavaScript Java 测试技术
基于Java的中文学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的中文学习系统的设计与实现(源码+lw+部署文档+讲解等)
22 0
|
7天前
|
Oracle Java 关系型数据库
Java 开发者必备:JDK 版本详解与选择策略(含安装与验证)
Oracle Java SE 支持路线图显示,JDK 8(LTS)支持至2030年,非LTS版本如9-11每6个月发布且支持有限。JDK 11(LTS)支持至2032年,而JDK 17及以上版本现在提供免费商用许可。LTS版本提供长达8年的支持,每2年发布一次。Oracle JDK与OpenJDK有多个社区和公司构建版本,如Adoptium、Amazon Corretto和Azul Zulu,它们在许可证、商业支持和更新方面有所不同。个人选择JDK时,可考虑稳定性、LTS、第三方兼容性和提供商支持。
23 0
|
9天前
|
Java 大数据 云计算
Spring框架:Java后台开发的核心
【4月更文挑战第15天】Spring框架在Java后台开发中占据核心位置,因其控制反转(IoC)、面向切面编程(AOP)、事务管理等特性提升效率和质量。Spring提供数据访问集成、RESTful Web服务和WebSocket支持。优势包括高效开发、灵活扩展、强大生态圈和广泛应用。应用于企业级应用、微服务架构及云计算大数据场景。掌握Spring对Java开发者至关重要。
|
12天前
|
Java 存储
键值之道:深入学习Java中强大的HashMap(二)
键值之道:深入学习Java中强大的HashMap
20 0
键值之道:深入学习Java中强大的HashMap(二)
|
12天前
|
存储 Java 编译器
Java集合丛林:深入了解集合框架的秘密
Java集合丛林:深入了解集合框架的秘密
15 0
Java集合丛林:深入了解集合框架的秘密