程序员的知识管理

作者: Yonah潇 | 来源:发表于2018-12-28 23:25 被阅读0次

前言

本文从一个程序员的视角来讨论知识管理,包括以下几个方面:

  • 什么是知识管理
  • 为什么要管理知识
  • 如何管理知识

什么是知识管理

个人知识管理(Personal Knowledge Management):一般指个人通过工具建立知识体系并不断完善,进行知识的收集、消化吸收和创新的过程。

知识管理的范围很广,一般的知识管理方法可以参考这篇文章 个人知识管理的方法

为什么要管理知识

计算机行业的一个特点是新技术更新特别快,意味着程序员需要不停地学习,才能跟上行业的发展。所以,知识管理对程序员非常重要。有意识,成体系地管理知识能够:

  • 更有效地学习新的知识。
    如果我们已经建立好一个技术知识体系,新的技术也只是在其他技术上建立起来的,有了坚实基础,学习新技术就会更有效。
  • 更好地掌握知识。
    使用合适的工具,正确的方法,可以更好地掌握知识,让知识凝固在脑海,而不是流走。
  • 节约时间成本。
    程序员经常遇到同样的问题,例如说部署开发环境的时候,如果有把解决方案记录下来,就能省去重新解决问题的时间。

如何管理知识

程序员的知识获取途径大部分来自于搜索引擎(谷歌可以提高搜索效率)和技术书籍,这与其他行业不同。主要原因是技术知识一个主要来源是互联网,例如说技术博客,技术文档等。因此,程序员的知识管理主要围绕互联网展开(并不意味着书籍就不重要)。

我把程序员的知识管理分为三个过程:

  • 知识积累
  • 碎片整理
  • 思考加工

知识积累

想想我们习以为常的知识积累方式有哪些?也许记笔记是我们最常用的一种。对于程序员来说,用笔记录笔记并不现实,我刚学 C++ 的时候就是把语法记在笔记上。实际上,这种做法是很低效的。更有效的方法是用笔记软件帮我们记录文章。例如说,印象笔记,有道笔记等。

一开始我看到好的技术文章时,都是加书签存起来。后面发现这样不能离线访问,而且链接可能会失效。后来用上了笔记软件,于是我可以把文章保存到笔记中,随时可以翻出来看。可以说,笔记软件给知识积累带来了极大方便,同时可以分类管理不同的知识。

知识积累难在养成积累的习惯。以前我解决某个问题,谷歌了很久找到一篇文章解决了问题。解决之后并没有记录下来,结果下一次遇到同样问题,我又浪费了很多时间搜索解决方法。重复多次之后,我意识到这是个严重的问题。所以逐渐养成了保存各种文章的习惯。这些网上积累下来的文章,成为了我知识体系的土壤。

现在开始,使用笔记软件分门别类地保存网上看到的文章,这里要着重强调一下分类的重要性,好的分类可以节省你以后重新检索文章的时间,不要把时间浪费在不必要的劳动上。笔记软件一般都会提供浏览器插件,保存起来是很方便的。

碎片整理

我自己经常遇到这样的情况:要用到某个 Linux 命令的时候,经常大费周章地去搜索。有人说直接查 man 手册不是很快吗?确实查 man 手册比查搜索引擎要快,但是有两个问题:一是看了 man 手册的命令语法,我还得试试看;二是如果我不知道命令的名字怎么查 man。所以,最快的方法不是搜索引擎,也不是 man 手册,而是个人 wiki。

与大家平常所知的 wiki 不同,个人 wiki 主要是用来记录知识碎片的,例如说:某个常用命令的语法,特定的软件配置等等。如果还是不理解,可以看看我的个人 Wiki。这些知识碎片是我们初步消化的知识,只不过因为太过碎片,不能够组成完整的知识体系。很多人以为把看到的文章保存到自己的笔记里面,就有一种已经掌握它的错觉,结果保存了成千上百的文章,却一篇都没认真看完。别人的文章是他的知识沉淀,并不是自己的。随时把文章中的精华提取整理到 wiki,才能初步消化知识,为后面的思考加工做准备。

有人会问为什么不用笔记软件记录这些碎片化的知识呢?用 wiki 当然是有理由的:

  1. 笔记软件保存的主要是知识原料。我们从网上保存别人的文章到笔记,存下来的知识是别人的,你只是存下来而已,还没经过消化。我们上面把笔记软件定义为知识的仓库,如果把初步消化后的知识也存在那里,会造成一定的混乱。当然你一定要这么做也可以,但我有分层的思维定势,这算是职业病吧。
  2. wiki 是随处可访问的。wiki 发布在互联网上,我们可以随时随地访问它。
  3. wiki 是分享的。任何人都可以访问你的 wiki,分享自己的知识何乐而不为呢?

那么如何制作自己的 wiki 呢?我自己用的是 Simiki,具体用法查看 Simiki-个人Wiki写作。发布到互联网我用的是 Github Page,具体操作自行搜索。

思考加工

写博客是最好的思考加工知识的方法。当年我也是被刘未鹏的 为什么你应该(从现在开始就)写博客书写是为了更好的思考 给带入坑的。写博客的好处我就不提了,看上面两篇文章就够洗脑了。下面我着重谈谈如何写好博客的一点个人经验。

  1. 博客少写纯操作指南类的文章。网上大部分博客写的都是纯操作指南类的文章,例如,如何搭建 LAMP 之类,可能作者自己都不清楚为什么要这么做。不是说纯操作指南类的文章不好,相反我觉得这种文章很重要,只是它的位置不对。它应该放在 wiki 中,因为纯操作指南类的文章只是描述步骤,关注点是怎么做,而不是为什么。写博客的关注点应该在为什么,讲清楚为什么要这么做。另外不要钻牛角尖,我说的是纯操作指南,不要以为只要是搭建环境之类的文章都不能写,这里的“纯”代表只给步骤,不提背后的原理。其实写得好的操作指南应该力求让读者知其然,知其所以然。
  2. 定期写文章。 万事开头难,动笔开始写作很难,一旦开始就停不下来了。养成定期写文章的习惯,至少确保一个月一篇的节奏。
  3. 自荐文章到各个技术头条。例如说:伯乐头条,开发者头条,极客头条等,有读者才有动力,同时也是保证自己写好文章的监督。
  4. 写博客的工具。我自己用的是托管在 Github Page 的 Hexo 静态博客。搭建教程见 用hexo搭建github博客。如果你有服务器的话,可以试试 wordpress,ghost 之类的博客软件。
  5. 把无法加工的知识写到 Wiki。例如说:git 的一些配置和用法,这些内容在官方文档都能找到,写在博客也只是搬运工,除非你有新的理解。

总结

以上是我摸打滚爬两年多积累的经验之谈,如果你有好的经验欢迎留言交流。一开始我是在 CSDN 写博客,只不过走了不少弯路,后来折腾 个人博客,最后又开了 个人 Wiki。逐渐形成了自己的知识管理方法。最后总结一下:

  1. 知识积累:使用笔记软件保存好的文章,积累知识。
  2. 碎片整理:在个人 wiki 上记录初步消化的知识碎片。
  3. 思考加工:对存在笔记和 wiki 中知识进行思考加工后写在博客。

以上讲的是如何在互联网中学习积累,但是千万不要忽视了看书这一重要方法,书中的知识是成体系的,知识密度高,网上的文章良莠不齐,不成体系,比较碎片化。合理分配时间看书和上网学习是很重要的。

相关文章

  • 程序员的知识管理

    前言 本文从一个程序员的视角来讨论知识管理,包括以下几个方面: 什么是知识管理 为什么要管理知识 如何管理知识 什...

  • 书籍清单

    管理~ 1,《你的知识需要管理》 2,《程序员的思维修炼》 文学~ 1,《浮生六记》 爱情~ 1,《One day...

  • 目录【Python程序员都知道的入门知识】

    Python程序员都知道的入门知识の一 Python程序员都知道的入门知识の二 Python程序员都知道的入门知识...

  • Hello World

    程序员的管理操作

  • iOS 多线程

    iOS 多线程 多线程方案 pthread C语言 程序员管理线程NSThread OC 程序员管理GCD 用来...

  • 知识分享之项目管理——PDCA原则

    知识分享之项目管理——PDCA原则 背景 作为一个标准程序员做到最后通常有两条路可选,一路技术走到黑和转管理,技术...

  • 每位职场人手机必装的App

    由知名知识管理专家、知识管理中心创始人田志刚著的个人知识管理专著《你的知识需要管理》所述,个人知识管理,核心的...

  • 20161107 喜课作业·知识管理到底是什么东西

    听完课之后才第一次知道,原来知识管理还有分类: 国家知识管理、企业知识管理、团队知识管理、个人知识管理、家庭知识管...

  • 不是程序员也能看懂的ZCash零知识证明

    2016-12-16 雷盈 不是程序员也能看懂的ZCash零知识证明 | 本文系共享财经专栏,数字资产投资与管理公...

  • 2017.12.22

    《人生管理课》第十一课【知识管理】知识焦虑 一、本课知识点 1、知识管理的定义:知识管理就是收集整理知识,有效的产...

网友评论

    本文标题:程序员的知识管理

    本文链接:https://www.haomeiwen.com/subject/ufpylqtx.html