我如何构建学习机器
2014年末,我被一家商业模式难以验证的初创公司裁员,之后开始寻找下一个软件开发职位。除了整理简历、投递简历之外,我还开始做一些业余爱好,比如写博客和为开源软件(包括Rust)做贡献。我感觉既无聊又力不从心,所以一直在努力寻找一种方式让自己脱颖而出。这些事情耗费了我大量的精力,我很难坚持下去。
2015年初,我参加了Hashrocket的一个职位的面试。面试结束后,我带回了一大堆笔记——都是我和团队其他成员结对时学到的点滴。在焦急地等待回复的同时,我内心深处涌起一种(有点不理智的)渴望,想要继续证明自己,并且不想忘记自己学到的东西。于是,我开始写一些简短、切中要点的微博,记录我学到的各种知识。我把这些笔记收集到一个GitHub仓库里,并用README文件将它们全部索引起来。
这个仓库的名字很贴切,叫TIL(今天我学到了)。之所以这么说,是因为我几乎每天都会把从别人那里学到的点滴知识,以及我自己在谷歌搜索、阅读和实验中学到的东西添加到里面。顺便说一句,我得到了这份工作。Hashrocket 优秀的结对编程文化在我持续学习的过程中发挥了巨大的作用。
时间飞快流逝,这个旨在给潜在雇主留下深刻印象并积累一些经验的小项目如今已蓬勃发展。我已经发布了超过 900 篇帖子,涵盖至少 28 个主题(请查看Vim 版块,那里有一些非常小众的帖子)。它从一个默默无闻的草稿箱发展成为一个拥有 6000 多颗星的仓库,我每周都会参考它——“我该怎么做 X?……等等,我好像曾经写过一篇关于这个的 TIL(每日学习笔记)”。
那么,为什么 TIL 对我有用呢?
每天撰写 TIL 帖子已成为我可以坚持的习惯。
博客文章常常让人望而生畏,甚至常常半途而废,而我却可以从工作日中抽出10到15分钟来巩固和记录我学到的东西。养成这种习惯的关键在于以下几个因素:
- 限制非常严格。我把帖子限制在200字以内。为了不超出字数限制,帖子必须非常集中。
- 这花费的时间很少。通常只需要 10 到 15 分钟,即使在忙碌的日子里也感觉很容易。
- 我按时完成。作为软件开发人员和顾问,我的工作内容之一就是学习。要了解的东西实在太多了,所以必须在工作中学习。通过把学习融入日常工作,我每天都能轻松完成。
每天撰写 TIL 帖子加速了我作为开发人员的学习和整体发展轨迹。
我当时并不知道,我正在做智能笔记。我在配对和编码的时候,手里拿着笔记本和笔。任何新鲜事物,任何引起我兴趣或让我摸不着头脑的事情,我都会记下来。这是 Sönke Ahrens 在《如何做智能笔记》一书中阐述的笔记的第一阶段。
然后,我会从笔记中挑选出那些看起来重要的内容,用我自己的话进行扩展——使用我自己的代码片段并链接到参考资料——作为TIL。第二阶段就是Ahrens所说的刻意记笔记。在这个阶段,我巩固了学习成果,同时也创建了一个“思考工具箱”。
一开始只是小事一桩。我并没有制定什么宏伟计划,要写几百篇 TIL,或者加速我的职业生涯。我只是边学边写,把学到的东西发布出来,swyx后来把这个叫做“公开学习”。
我现在意识到,我无意中把刻意记笔记和缓慢而稳定地为实现更大目标而努力付诸实践。我已经为我的“第二大脑”投入了大量精力。它已经带来了回报——它为我提升了信誉,基本上可以作为任何求职的参考,它让我成为了一名更有能力的开发人员和顾问,而且我经常把它作为我思维的延伸来参考。
我现在正在思考下一步该怎么做。我想多方利用这些内容,提升我已创造价值的影响力。这可以有很多选择,包括制作动图、录制截屏视频、拓展成长篇博文、链接到博客链、打造一个数字花园等等。
参考:
笔记:
虽然结对编程很容易出错,而且我也不会假装它很容易有效,但只要你做得正确,我认为没有比它更好的软件开发方法了,更不用说两位开发人员之间相互提供的紧密反馈循环了。这种结对编程的动态有时甚至会发展成一个飞轮。
我自己的 TIL 代码库最终成为了 Hashrocket 内部 TIL 项目的灵感来源。Jake Worth创建了一个基于 Rails 的平台,供全公司成员编写、发布和分享他们正在编写的小东西。最终,这个平台使用 Elixir 和 Phoenix 进行了重写。访问til.hashrocket.com查看他们正在编写的内容。
松克·阿伦斯所说的“思考工具箱”,也可以用我最近学到的一个奇特的词来称呼—— “工具箱”。意思是“一种思考的工具,尤其是一种推理手段或逻辑体系”。
文章来源:https://dev.to/jbranchaud/how-i-built-a-learning-machine-45k9