程序員的知識管理

jopen 8年前發布 | 31K 次閱讀 程序員

本文從一個程序員的視角來討論知識管理,包括以下幾個方面:

  • 什么是知識管理
  • 為什么要管理知識
  • 如何管理知識

什么是知識管理

個人知識管理(Personal Knowledge Management):一般指個人通過工具建立知識體系并不斷完善,進行知識的收集、消化吸收和創新的過程。

知識管理的范圍很廣,一般的知識管理方法可以參考這篇文章 個人知識管理的方法

為什么要管理知識

計算機行業的一個特點是新技術更新特別快,意味著程序員需要不停地學習,才能跟上行業的發展。所以,知識管理對程序員非常重要。有意識,成體系地管理知識能夠:

  • 更有效地學習新的知識。
    如果我們已經建立好一個技術知識體系,新的技術也只是在其他技術上建立起來的,有了堅實基礎,學習新技術就會更有效。
  • 更好地掌握知識。
    使用合適的工具,正確的方法,可以更好地掌握知識,讓知識凝固在腦海,而不是流走。
  • 節約時間成本。
    程序員經常遇到同樣的問題,例如說部署開發環境的時候,如果有把解決方案記錄下來,就能省去重新解決問題的時間。

如何管理知識

程序員的知識獲取途徑大部分來自于搜索引擎(值得一提的是,使用谷歌可以節約時間,少用百度),這與其他行業不同。主要原因是技術知識主要來源是互聯網,例如說技術博客, Stackoverflow 等。因此,程序員的知識管理主要圍繞互聯網展開。

我把程序員的知識管理分為三個過程:

  • 知識積累
  • 碎片整理
  • 思考加工

知識積累

想想我們習以為常的知識積累方式有哪些?也許記筆記是我們最常用的一種。對于程序員來說,用筆記錄筆記并不現實,我剛學 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 中知識進行思考加工后寫在博客。
  4. </ol> </div>

    來自: http://blog.xiaohansong.com/2016/01/16/kownledge-Management/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!