Blog

Blog

PHODAL

个人知识管理的思考

最近,我困扰于『知识管理』——其实一开始,我并不知道我需要的是它。在我打算买几本 Kindle 电子书,以消磨一下时间的时候,我发现了『知识管理』相关话题的电子书。我这才意识到,我迫切需要一些新的工具来管理知识。

一来,我接触的东西太多了,以致于忘记的速度太快了(反正比两分钟长)——而写一篇博客的时间太长了,打开一个网页两三分钟,我可能就会关闭它了。

二来,我所在的公司正在变成一家『大公司』。过去的扁平、透明也在逐渐的减弱,作为一个普通员工,我所能访问的资料也越来越有限。

不过,这些都不重要,重要的是让沉淀变得更多,变得更加高效。毕竟,随着年纪的增长,越来越多的时间被各种杂事占用了。当你一个人的时候,你有充足的时间来干你喜欢的事;当生活变成两个人的时候,你得陪另一半做喜欢做的事;当以后变成三个人的时候,你就有更多事情了。所以,在时间变得更加有限之前,我们所能做的事情变成了:高效。

当然了,所谓的低效是相对的。如果过了这么多年,我还是保持一样的知识管理效率,那么说明它是的低效——即有待提升。

现有的知识管理体系

在日常的学习和工作中,我们有不同的方式来摄取方方面面的知识,也应用于不同的领域。它并不局限于日常的技术工作,还有与软技能相关的知识,还有其它方方面面的内容。

为了优化这些知识吸收的过程,我们需要这么几步:

  1. 记录。记录现有的知识体系
  2. 可视化。呈现再有步骤的过程
  3. 度量。记录每个步骤所花的时间
  4. 优化 。寻找可优化的空间

作为一个刚入门知识管理领域的人,我只能先记录相关的步骤,再寻找可视化及度量的方式。

内容管理

对于写作来说,在确认了主题/目标之后,往往是分为这么几步进行的:

  1. 收集资料。来源往往是 Google 搜索的相关博客、书籍等等。
  2. 提炼资料。寻找文章、书籍的一些关键点。
  3. 整理体系。根据需要整理第一步的内容。
  4. 消化存档。嗯,就是一个手工活,或是变成文章,或只是一堆草稿。

而在真正实现的过程中,我感觉有两步并不是那么理想,即收集资料编写内容。(PS:至于能不能优化是另外一件事)

  • 收集资料。随着时间的变化 ,我收集资料发生了一些改变。过去,在写作的时候,我只会留下一个链接 ,现在多了一个留言,甚至有可能会有专门的引用部分。这样一来,未来在回过头来看这些资料的时候,能找到一些思路。
  • 编写内容。在写作的过程中,我们消化了相关的内容,并提出了自己的一些新的看法。但是,并非所有的时候,都有必要去写一篇文章。有些内容,我们只需要用代码的方式来展示,诸如于 gist,再配合一些注释就可以了。而有些内容,则只需要一个大纲就可以了,诸如之前的 New Project Checklists。

顺带一提,在我进行信息提炼的时候,使用最多的工具是,笔 + 纸 / Wacom Bamboo Slate(电子笔记本),主要是我的 iPad 太小,而 iPad Pro 又太贵了。当我们使用电脑的时候,由于习惯的原因,使用往往是线性的思维。而我们的思路往往都是非线性的。

阅读

尽管我阅读了很多的书,但是我在这方面的产出相当的少。而据我所知,一种颇为有效的方式是:

  • 思维导图。采用思维导图的方式来构建出这本书的内容。就我个人而言,这种方式失去了读书的乐趣,目的性太强,所以去不会采用

于是乎,我采用的仍然是很传统的方式:

  • 记录笔记。我一般看书的时候,会偶尔做一些笔记。只是这些笔记,缺少一个承载的地方。
  • 书评。最近,最近好像已经不怎么写相关的书评。大概是因为写这么一个书评,它所花费的时间比较多,有种投入产出比不划算的感觉。因为这本书是在我书架上存在的内容,我想要的时候都可以随时拿到。但是,当我的书在杭州,而人在上海,就会变成一种新的挑战。

但是,由于我看书比较随性,往往什么都没有做,这一点倒是有一些改进空间。我往往觉得大致能把目录记下来,下次就可以方便地阅读这本书了。反正,书放我的书架上不会跑。

知识图谱

对于知识的索引与图谱构建,大抵是我在过去最有收获的部分之一。即整理某一领域相关的知识,诸如于读书路线、学习路线、技能图谱。

往后,在学习的时候,就可以有针对性地查缺补漏。又或者是,为刚进入这个行业的新人提供一些建议。

编码

在我们工作中用得最多的就是,对于将知识放在代码中,每个项目都有多种多样的方式:

  • README
  • 注释
  • 提交信息
  • 架构决策记录
  • 架构图。诸如于 C4 模型

对于大部分的内容来说,要实施起来并不困难。但是,如何在代码中体现业务逻辑呢?又或者是通过代码来生成业务逻辑?比如,通过注解生成 URL 跳转相关的路径?

而如果是业务相关的知识,则可能有不同的形式来实现:

  • 测试用例
  • 用户旅程
  • 用户地图

设计初期,我们会拥有一个初步用户旅程。而完成项目的时候,用户旅程可能会发生一些变化,我们应该采用、开发工具去优化这个过程。它可以通过 URL 来记录页面,而后通过 DSL 来转换成旅程地图。

工作流程

在经历了一个又一个项目之后,我对项目的生命周期有了更好的理解。而项目的生命周期,也相当于是工作流程。对于流程来说,规范是一个很扯淡的东西——没有人想去看文档。在编码中,我们可以通过一些 hook 来规范工作,如:

  • pre-commit
  • pre-push
  • lint

而对于非编码性工作来说,其应对的最好方式是:开发流程的工具。它并非是一个固化的流程,但是它拥有所的工具。这也是我正在尝试去做的东西之一。年初做的 New Project Checklists, 以及正在实施的升级版本:应用周期管理,都是一些新的尝试。

可改进方向

除了上面提到的一些点的相关优化,是否还能尝试更多的东西?

优化收集?

如上所说,我在收集的这一维度,还有一点改进的空间:

  • 记录、标记内容。诸如于,我会时常关注 GitHub Trending,又或者是收藏一些 GitHub 上的项目,但是我并没有很好地工具来管理它们。对于这样简单的一个工具,我可能得想办法自己动手制作一个,说简单也简单,说难也不难。
  • 重启 RSS 订阅?。不过,这也是我当前存在的一个疑惑。过去, 我能使用 RSS 工具来管理资源,它的前提是互联网是开放的。而今,通过 RSS 已经很难找到一些优质的博客——除了我的博客,哈哈。

尽管它会花费一定的时间,但是将来在使用的时候,可能会节省更多的空间。唯一的问题是,还得做个工具。

寻找非线性输出方式?

线性的内容对于来说,问题不大,因此非线性内容就成为一个关注的点。只是呢,我并没有一点儿头绪。不过,一些有趣的方向可以是:

  • 图片。画图更浪费时间,哈哈。
  • 照片。比如拍照的时候,进行文字识别,不过对应的识别 API 意味着额外的支出。可能 Tag 是一个更好的选择吧,haha。
  • 思绪导图。现有的思维导图工具,都是线性的,又或者是本地使用的。而我又不想把数据放置在别人的数据库上,万一数据被删了呢。

所以,还可以自制一个简单的工具,加上额外的扩展方式,才是我所需要的内容。

集中式管理?

集中管理,意味着:

  1. 标准化的输出方式。
  2. 可 API 访问的平台。
  3. 集成内容中心。

出于搜索的需要,我们

  • GitHub 上的项目
  • 社区的技术文章

也因此,我们并不一定能做这样的时间,但是可以尝试结合标签来关联网络

模板化?

TBC。(我并不喜欢模板化)

相关工具

如下是我日常使用的知识管理工具:

  • 笔记。以前我用的是 Evernote,但是它收费,我便改成了 Microsoft OneNote。我仍然也没用好它。
  • 看板。对于一些开源项目来说,我会使用 Trello,GitHub Projects 来管理。
  • Todo App。我习惯使用 Wunderlist,因为我已经习惯了。不过,我最近正在切换到 Microsoft To-Do,因为自 Wunderlist 被微软收购之后,To-Do 才是未来。
  • Calender 工具。还没有。作为一个普通的开发者,我并没有那么忙,偶尔有一些就用手机自带的。
  • Markdown + Git + ADR。ADR 是一个架构决策工具,我用它来管理开源项目中的 IDEA
  • GitHub issues。用来管理新的 Ideas,见: https://github.com/phodal/ideas/issues

不过,我并不习惯于使用看板这样的工具,对于我来说,它太重了——总有一种回到工作的感觉。而 Todo 应用则在点一下,完成一下的时候,有那种相当爽快的感觉。其它工具推荐:

  • RSS。Feedly。不过,话说现今国内活跃的博客越来越少了。我博客的 RSS 是( https://www.phodal.com/blog/feeds/rss/ ),欢迎订阅。
  • 番茄钟。我用了一段时间,发现对我没啥用,我是那种多动的人。

因为,我还没有那么忙,所以大部分的时候,我还是处于佛系的状态。

结论

你有什么与众不同的方式,能分享一下吗?

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

围观我的Github Idea墙, 也许,你会遇到心仪的项目

QQ技术交流群: 321689806

新书《前端架构:从入门到微前端》

《前端架构:从入门到微前端》是一本围绕前端架构的实施手册,从基础的架构规范,到如何设计前端架构,再到采用微前端架构拆分复杂的前端应用。本书通过系统地介绍前端架构世界的方方面面,来帮助前端工程师更好地进行系统设计。

前端架构包含以下五部分内容:

  • 设计:讲述了架构设计的模式,以及设计和制定前端工作流。
  • 基础:通过深入构建系统、单页面应用原理、前端知识体系等,来构建出完整的前端应用架构体系。
  • 实施:通过与代码结构的方式,介绍如何在企业级应用中实施组件化架构、设计系统和前后端分离架构。
  • 微前端:引入6种微前端的概念,以及如何划分、设计微前端应用,并展示了如何实现这6种微前端架构。
  • 演进:提出更新、迁移、重构、重写、重新架构等架构演进方式,来帮助开发人员更好地设计演进式架构。
comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Developer, Consultant, Writer, Designer

ThoughtWorks 高级咨询师

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《前端架构:从入门到微前端》、《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 与我沟通

标签