1398 words
7 minutes
学习新技术的方法论:如何不成为"收藏从未停止,学习从未开始"的人

收藏了1000篇文章,买了50门课程,GitHub starred 300个项目。但真学会的没几个。这是病,得治。

我的病症#

2020年,我陷入”知识焦虑”。

每天:

  • 刷掘金、知乎、InfoQ
  • 看到好文章就收藏
  • 看到新课程就买
  • 看到好项目就star

收藏夹、网盘、GitHub塞得满满当当。

但问自己学会了什么?

答不上来。

典型的”收藏从未停止,学习从未开始”。

问题诊断#

问题一:把收藏当学习#

错觉:“我收藏了 = 我会了”

现实:收藏只是标记位置,不代表掌握知识。

就像买书不等于看书,买课不等于上课。

问题二:贪多求全#

看到新技术就想学:

  • 前端要学React、Vue、Angular
  • 后端要学Go、Rust、Node
  • 还要学K8s、云原生、AI

结果:每个都懂一点,每个都不精。

问题三:没有应用场景#

学了不用,很快就忘。

大脑不是硬盘,是肌肉。不练习就会萎缩。

问题四:被动输入#

看视频、看文章,都是被动接收。

没有主动思考、没有实践、没有输出。

知识留存率极低。

治疗方案#

原则一:少即是多#

策略

  • 同一时间只学一门技术
  • 学完再用,用了再学新的
  • 不要同时开多个坑

我的做法

列一个”学习 backlog”,按优先级排序。

同一时间只做最高优先级的一项。

其他?

不收藏,直接忽略。

因为以后也不会看,收藏只是增加焦虑。

原则二:用进废退#

策略

  • 学的东西要有用武之地
  • 没有场景就先创造场景
  • 学了不用就是浪费时间

示例

学Rust时,我给自己定了个项目:

  • 用Rust重写一个工作中的小工具
  • 实际有使用场景,必须做出来

过程中遇到问题就查资料、看文档。

三个月后,Rust基本入门,工具也做出来了。

原则三:输出倒逼输入#

策略

  • 学完后要输出
  • 可以是博客、演讲、项目
  • 输出是最好的学习

为什么有效

输出时需要:

  • 整理思路
  • 填补知识盲区
  • 用自己的话解释

这本身就是深度学习。

我的做法

学新技术后,要求自己写一篇博客。

不一定要发布,但至少要写完。

写不出来?

说明没学懂,回去再学。

原则四:主题式学习#

策略

  • 不要零散学习,要围绕主题
  • 制定学习计划
  • 系统性优于碎片化

示例

学Go语言,我的学习计划:

第一周:基础语法

  • 变量、类型、控制流
  • 函数、结构体、接口
  • 每天写练习代码

第二周:标准库

  • 常用包:fmt、io、net、http
  • 做一个小项目

第三周:并发编程

  • goroutine、channel
  • 改写之前的项目,加入并发

第四周:工程实践

  • 项目结构
  • 测试、文档
  • 部署

完成后,Go算是入门了。

原则五:定期复盘#

策略

  • 每月回顾学了什么
  • 哪些用上了,哪些忘了
  • 调整学习计划

我的复盘问题

  1. 这个月学了什么新技术?
  2. 在实际工作中用了吗?
  3. 如果没有,为什么?
  4. 下个月学什么?

具体实践#

如何读技术文章#

不好的方式

  • 刷标题,感兴趣就收藏
  • 快速浏览,觉得不错就关掉
  • 收藏夹里的文章再也没打开

好的方式

  1. 筛选

    • 看标题,确实需要的才点进去
    • 不需要的直接划走
  2. 精读

    • 集中注意力读
    • 有代码就动手跑一遍
    • 做笔记
  3. 实践

    • 文章里的方案能用到工作中吗?
    • 能的话,立刻尝试
    • 不能的话,写个demo练习
  4. 输出

    • 整理成自己的笔记
    • 或写篇博客
    • 或分享给同事

如何看视频课程#

不好的方式

  • 1.5倍速刷完
  • 边刷边看手机
  • 看完就忘

好的方式

  1. 先扫目录

    • 了解整体结构
    • 标记重点章节
  2. 边学边做

    • 视频里的代码跟着敲
    • 不要只看,要动手
  3. 做项目

    • 课程结束,做一个自己的项目
    • 不照搬课程例子
  4. 教别人

    • 给同事分享学到了什么
    • 或写学习笔记

如何读技术书#

不好的方式

  • 从头读到尾
  • 不做笔记
  • 读完就忘

好的方式

  1. 先读目录

    • 了解全书结构
    • 标记感兴趣的章节
  2. 带着问题读

    • 当前工作中遇到什么问题?
    • 书里有没有解决方案?
  3. 做笔记

    • 重要的概念用自己的话总结
    • 记代码片段
    • 记疑问,后续查资料
  4. 应用

    • 书里好的方案,工作中尝试
    • 验证是否真的有用

我的学习工具#

知识管理

  • Notion - 整理学习笔记
  • Anki - 记忆卡片,复习用
  • GitHub - 代码实践

学习资源

  • 官方文档(首选)
  • 优质博客(筛选后的)
  • 视频课程(系统性强的)

不用的

  • 公众号(太碎片)
  • 知乎(水回答太多)
  • 大部分付费社群(质量参差不齐)

最后的话#

学习是一辈子的事,但不要焦虑。

技术更新快,但核心原理变化慢。

与其追新,不如深入。

与其收藏100篇文章,不如吃透1篇。

与其学10门语言,不如精通1门。

与其焦虑,不如行动。

从现在开始,选一个技术,深度学习。

三个月后,你会发现自己进步很大。


你的学习方法是什么?欢迎分享交流。