写给技术人员:停止学习框架,专注基础知识

简介: 开发人员的 Lifehacks

雷锋网 AI 科技评论按,作为一名开发人员,需要不停地学习新技术。那么,我们应该学习什么样的技术?关于这个话题,有着 15 年工作经验的软件工程师 Eduards Sizovs 写了一篇文章,让我们来看看他是怎么说的吧~

我们是开发者,我们需要掌握最新的技术。我们每天学习编程语言、框架和库。我们知道的工具越新越好。

但这一切都是在浪费时间!

时间是我们拥有的最宝贵的资源。时间是有限的,不可更新的,并且是你不能买到的。

科技就像时尚一样,它也在以光速变化。为了赶上时间的变化,我们需要跑得很快。这场比赛没有赢家,因为它没有终点。

TB1HcFKMNnaK1RjSZFtXXbC2VXa.jpg

图片来自《华尔街之狼》

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

导师:「Ed,你在做什么?」

我(骄傲地说):「我在阅读一本关于如何用 GWT 构建现代 Java 应用程序的书。」

导师:「为什么?」

我:「作为一名 Java 开发人员,我需要紧跟时代趋势。GWT 是我必须跟进的技术。」

导师:「在学习 GWT 之前,你读了什么技术书籍?」

我:「一本 500 页的关于 Apache Tapestry 的书,Apache Tapestry 也是需要学习的知识。」

导师:「那现在你还学习 Apache Tapestry 吗?」

我:「不了,现在我学习 GWT。」

导师:「那你能用 Apache Tapestry 相关的技术,解决现在遇到的问题吗?」

我:「不能,它已经不会被用到了。」

导师:「Apache 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 个不同的软件项目。感谢这些建议,我学到的所有东西都可以跨公司、团队、跨领域使用。今天,我所学的知识仍然有用。我没有浪费时间。

只有深入研究项目的本质,你才会发现它们都是相似的:

编程语言是不同的,但设计是相似的。

框架是不同的,但设计模式是可以通用的。

开发者是不同的,但与人打交道的规则是统一的。

记住——框架、库和工具是会变化的。时间是宝贵的。

TB166XaMPDpK1RjSZFrXXa78VXa.png

图片来自于 2011 年时代杂志

请将宝贵的时间花在可移植的技能上:

微服务框架进化体系结构

新的编程语言,干净的代码,设计模式,DDD

量少安全精简编码原则

高端、容错的模式

容器持续交付

Angular 网页、HTTP 和 REST

via:https://sizovs.net/2018/12/17/stop-learning-frameworks/

雷锋网(公众号:雷锋网)雷锋网

雷锋网版权文章,未经授权禁止转载。详情见转载须知。

目录
相关文章
Spooling技术简单熟悉
Spooling技术简单熟悉
117 0
|
3月前
|
开发者
代码之外:开发者的软技能修炼手册
在软件开发领域,代码只是冰山一角。成为一名优秀的开发者,不仅需要扎实的技术功底,更需具备一系列软技能。本文探讨了沟通能力、时间管理、团队协作、持续学习、解决问题、适应变化、领导力及情绪管理等关键软技能,并提供了实用心得,助力你在开发之路上全面发展。希望你能在这条道路上不仅技术精进,更能成为一名全面发展的优秀开发者。
|
3月前
|
测试技术 持续交付 开发者
探索编程之美:开发者的自我提升之旅
编程不仅是技术,更是艺术。本文从技术深度与广度的平衡、代码简洁之美、持续集成与部署、代码审查、测试驱动开发、有效沟通、时间管理及面对失败的勇气等方面,分享职业心得,助你在编程之路上实现技术和心灵的双重提升,享受编程带来的乐趣与成就感。
|
7月前
|
前端开发 JavaScript 小程序
技术经验解读:你所不知的十二个前端组件库
技术经验解读:你所不知的十二个前端组件库
|
8月前
|
存储 缓存 前端开发
中高级前端工程师都需要熟悉的技能--前端缓存
中高级前端工程师都需要熟悉的技能--前端缓存
|
设计模式 前端开发 JavaScript
前端Web开发学习,入门到进阶,推荐几本很不错的书籍
前端Web开发学习,入门到进阶,推荐几本很不错的书籍
180 0
|
JSON 前端开发 JavaScript
框架学习前期知识点回顾
框架学习前期知识点回顾
|
数据可视化 程序员 Docker
你在什么时候觉的自己的技术成长很快;低代码在实际开发中的效率到底怎么样;Docker 的优缺点有哪些|极客观点
你在什么时候觉的自己的技术成长很快;低代码在实际开发中的效率到底怎么样;Docker 的优缺点有哪些|极客观点
124 0
|
关系型数据库 MySQL Linux
开发者ETC服务器的使用体会
简介:这是我的一篇服务器使用心得,很高兴可以和大家一起分享进步
|
Rust 运维 监控
《2020年开发者技能报告》发布:IT圈最想学的Go语言实战教程
日前,记者从编码社区HackerRank官网了解到,其公布的《2020年开发者技能报告》(以下简称为“报告”)显示,JavaScript是最知名的编程语言,其次分别是Java和C;开发者2020年最想学习的编程语言是Go;美国开发者的薪资最高,平均年薪为10.9万美元,是全球平均年薪的两倍。
《2020年开发者技能报告》发布:IT圈最想学的Go语言实战教程