• 前端:不聊学什么,而是聊可以不学什么
  • 发布于 19小时前
  • 2 热度
    0 评论
  • 科叼
  • 2 粉丝 152 篇博客
  •   

上周,我看到我们组一个很努力的新人,午休时间还在看一篇关于“Astro Island Architecture”的文章,眉头紧锁。

我走过去问他,最近在研究这个吗?

他说:“不是,就是看社区里大家都在聊,感觉再不学就跟不上了。唉,要学的东西太多了,每天都有新东西出来,根本学不完,很焦虑。”

这句话触动了我。我发现,我们这个行业,无论是技术文章、社区分享,还是培训课程,都在疯狂地告诉大家“要学什么”,却很少有人告诉大家“可以不学什么”。

新的技术探索倒是挺好的,可以接触到不一样的东西,但是咱们的时间和精力是有限的。

所以,我在上周的团队分享会上,做了一次特别的分享,主题就是这个:作为业务团队的前端工程师,我们应该如何做减法,聊聊那些我们可以暂时不学的东西。


我们为什么会如此焦虑?

在聊“不学什么”之前,我们得先想明白,我们的焦虑是从哪来的?

  • 社区的炒作 :新技术需要热度,布道者需要影响力,培训机构需要生意。他们会不断地告诉你,某个技术是未来,不学就会被淘汰。
  • 简历驱动:我们害怕自己的简历上,技术栈不如别人那么“时髦”,所以不管用不用得上,先学了写上去再说。
  • 同行的压力:看到同事在聊微前端,在聊WASM,自己完全插不上嘴,那种感觉确实不好受。

这些都是真实存在的压力。但作为过来人,我想说的是,一个工程师的价值,并不取决于他知道多少个技术名词。


技术大厂跳板机会→前端/后端/测试,待遇还可以~




我的可以不学清单


下面这份清单,是我结合我们团队的业务现状,给大家开的一份“学习降噪”指南。它不代表这些技术不好,只是说,在现阶段,你可以把它们从你的学习列表里移出去,等真正需要的时候再说。


1. 可以不学:有些类库和框架

  • 比如:微前端(Qiankun, Micro-app)、WebAssembly(Wasm)、WebRTC、复杂的图形学(Three.js, WebGL)等。

  • 我的看法:这些技术非常强大,但它们是为了解决特定领域里,那5%的极端复杂问题而生的。比如,微前端是为了解决“多个团队、多个技术栈、共同开发一个巨石应用”的协同问题。你先问问自己,你的项目有这么复杂吗?

    对于我们95%的日常业务开发来说,它们就是一无是处。不仅没用,还会让你对自己的能力产生怀疑。


2. 可以不学:每周都在冒出来的新轮子

  • 比如:又一个新的状态管理器、又一个新的CSS-in-JS方案、又一个新的请求库。

  • 我的看法:前端社区在 状态管理CSS 方案这两个领域,有点内卷。大部分新轮子,只是对现有成熟方案(比如Zustand, Pinia, Tailwind CSS)的某个点,做了些微创新,或者换了一种写法。它们能解决的问题,大概率我们现有的工具也能解决。


3. 可以不学:过于底层的源码细节

  • 比如:逐行去研究React Fiber节点的具体结构、V8引擎的JIT编译过程、Webpack的Tapable事件流架构。
  • 我的看法:这可能是最有争议的一点。我承认,理解源码对个人成长有益。但作为团队的Leader,我更关心投入产出比(ROI) 。理解React的虚拟DOM和key的作用,非常重要,这能让你写出更高性能的代码。但你需不需要去逐行阅读React的源码,搞懂Fiber节点的每一个属性?对于绝大多数业务开发者来说,不需要。


那我们应该把精力放在哪?

做完了减法,我们再来做加法+。我认为,对业务团队的工程师来说,最宝贵的精力,应该投入在这三件事上:


1. 你能吃饭的技术

就是你团队当前正在用的核心技术栈,比如我们团队的React + TypeScript + Next.js。

把它玩到精通。不是会用API就行,而是要懂它的设计哲学、性能瓶颈、最佳实践,以及围绕它的一整套生态。这是你解决日常工作中80%问题的根本。


2. 永远不会过时的内功

  • 语言基础:JavaScript(异步、原型链、事件循环)、CSS(布局、层叠上下文)。
  • 计算机基础:网络(HTTP协议、浏览器缓存)、浏览器(渲染原理、安全)。

这些东西,可能不像新框架那么酷,但它们是“心法”。无论上层框架怎么变,这些基础十年后也依然是前端的基石。


3. 解决当前问题的技术

这是我最推崇的学习方式: 问题驱动式学习

当你的项目真的遇到了一个靠现有技术无法解决的问题时——比如,你需要做一个复杂的在线文档,遇到了协同编辑的难题——这个时候,你再去有针对性地学习WebRTC或者CRDTs。


这种带着问题去学习的方式,目的性极强,效率是最高的,记忆也是最深刻的。



写在最后


我做这次分享,不是想让大家躺平,而是希望大家能从被动焦虑中解脱出来,变成一个主动学习者。

一个程序员的价值,最终体现在他解决问题的能力上,而不是他知道多少个技术名词。

所以,放轻松。你不需要学所有东西。把基础打牢,把手头的业务做好,想清楚你遇到的下一个问题是什么,然后去找解决它的最好工具。

你们怎么看?

——转载自:ErpanOmer

用户评论