技術人,爲什麼需要構建知識圖譜

作者簡介:安曉輝,10多年開發經驗,曾任軟件開發工程師、項目經理、研發經理、技術總監等崗位,著有《Qt Quick核心編程》、《Qt on Android核心編程》、《你好哇,程序員》等書籍。“斜槓青年”:技術專家 / 職業規劃師 / 圖書作者 / 在行西安首批行家 /分答職場類答主 /微信公衆號“程序視界”(id:programmer_sight)/ LinkedIn受邀自媒體。

責編:CSDN知識圖譜小助手

這個時代,信息極大豐富,人每時每刻都被各種各樣的知識、信息轟炸着。如何有效的選擇對自己有價值的知識,如何構建一個獨屬於自己的知識體系並讓它爲自己創造價值,變得越來越重要。只有知識經過了你的選擇和應用,內化爲自己的隱性經驗,納入到你的知識體系中,才能真正地爲你創造財富。

怎樣才能建立自己的知識體系呢?

  • 選擇方向,設定目標
  • 學習、實踐、輸出、內化
  • 同主題擴散
  • 運用工具整理記錄知識圖譜
  • 迭代與更新知識圖譜

有目標,纔有知識體系

如果只能選擇一個方向,你希望在什麼方向上做到出類拔萃? 
對這個問題的思考,會幫助你找到自己的方向,進而有效地去學習知識。

構建個人知識體系的第一步是定位

知識體系和我們的個人目標與關注點有關,你的取捨決定了你的關注點。每個人都需要根據自己的目標和關注點來建立自己的知識體系。

簡單的說,比如你想成爲像Linux內核創建者Linus Torvalds那樣的人,在Linux操作系統方面做出卓越的貢獻,那你就能迅速定位你的知識系統的大方向——Linux操作系統開發。 
比如你想成爲像秋葉大叔(秋葉PPT)那樣的人…… 
比如你想成爲像馬雲那樣的企業家……

這個探索過程可能很慢,需要幾個月或者幾年,也可能只要一個瞬間。無論長短,最重要的是,你必須有想象力,願意成爲自己這艘即將遠航的旗艦的舵手。

推薦幾本書有助於你的自我探索

發現你的天賦 
持續的幸福 
你的生命有什麼可能 
精進:如何成爲一個很厲害的人

知識的內化

一個人的能力分三個層次:

  • 資源:比如知識、技能、經驗、精力、人脈等。
  • 應用流程,即使用資源解決問題的能力:做事的方法、流程、策略等,整合應用資源創造價值的能力。
  • 價值取向,即你覺得什麼事情重要,什麼事情不重要。

知識是一種資源,是固化的,必須經過你的應用流程,才能內化爲自己的經驗,幫助你解決工作與生活中的問題,爲你創造價值。

只有知識,沒有內化,那結果不堪一擊。

像神仙姐姐王語嫣,牢記每一種武林祕籍,但是一招也打不出來,與人對戰只有被秒殺的份兒。 
像《圍城》裏的方鴻漸,也學習了很多亂七八糟的知識,但趙辛楣評價他說:“你是個好人,但一無是處”,這也是因爲他涉獵很多都不能落地應用創造價值。

我見過一些軟件開發者,說起編程語言裏的某個知識點,哪哪兒都清楚,但讓他寫程序,就是一團麻亂,根本想不起來要用什麼,要到處問,List怎麼用,StringBuilder怎麼用,ListView該怎麼用,問半天也還是不會用……

所以我們一定要把顯性的知識內化爲自己的隱性知識,變成自己的能力。

學習現狀

很多知識都經由前人的總結顯性化了,固化在書本、網絡、視頻等載體上,我們就從這些載體上開始學習。這是第一步,它讓我們知道有這樣一個知識、這個知識是什麼、這個知識可以用來解決什麼問題。

不要停,你到了這一步千萬不要停,要接着去琢磨:

  • 這個知識對我有什麼用?
  • 我過往的工作與生活中,哪些經歷、經驗可以和這個知識關聯起來?
  • 在將來,這個知識能怎樣幫助我改善自己的工作?

很多人看書、看視頻、聽演講,根本不琢磨,只是被動接收,只是“瀏覽”到有這麼個東西,“哦”一聲就過去了。所以,他們很難有進一步的收穫。

很多人過度依賴搜索引擎,比如ListView不會用,Google一下,拷貝粘貼一段代碼來解決自己的問題。但是解決之後往往就放下了,不再琢磨這段代碼爲什麼能解決問題、我爲什麼沒想到、下次我怎樣才能自己來解決問題,這樣做的後果就是,遇到問題永遠在問搜索引擎,永遠也培養不出獨立思考並解決問題的能力。

如何內化

如果你能夠把自己應用知識解決問題的過程,收穫的經驗,再轉化出來,分享給別人,幫助別人解決問題,那你對知識的掌握將更進一步。

這也是CSDN上很多博主的做法:用輸出倒逼輸入。也是我的做法,我的公衆號“程序視界”(id:programmer_sight)每週發佈三篇原創文章,就是一種倒逼機制,我要逼着自己通過輸出的方式來內化知識。現在形成習慣,基本上沒什麼壓力了。

輸出是內化知識的最有效的途徑當你準備輸出時,會考慮很多很多,比你自己使用知識時考慮的要多很多,比如怎樣講明白、比如怎樣讓結構清晰、比如怎樣設計示例輔助說明、比如這個知識點與哪些關聯、比如哪些關聯的知識點必須講清楚……所有這些,會讓你進一步思考知識,會讓你系統化你的知識,最終會加深你對知識的理解與應用。


同主題擴散

很少有知識是孤立的,也很少有哪個方向只需要一種知識就可以真正解決問題。

比如你做桌面客戶端產品開發,選擇C++語言作爲主要開發語言,但C++語言本身絕對完成不了這個任務,你必須在同一個主題內尋找其他的支撐,比如Qt,比如MFC,比如wxWidgets。

這正是我們構建知識體系必須要經歷的過程:在同一主題不斷挖掘相關知識,完善你的知識圖譜。

比如我曾畫過一張學習C++的圖譜

這裏寫圖片描述

從圖上就可以看出來,C++是知識的中心,圍繞着它有很多相關聯的知識。那麼,怎麼發現同一主題內還有哪些知識需要學習呢?比如學習C++,多問問下面的問題會有幫助:

  • 爲了解決A問題,除了這個知識,還需要哪些知識、工具?
  • 這個知識是由什麼知識發展來的,什麼新的發展?
  • 關於這個知識,有哪些書和資料?
  • 在這個領域,有哪些大咖,他們在學什麼?
  • 關於這個知識,還有哪些是我不知道的? 查看C++知識庫

如果你能不斷思考這些問題,就能不斷找到需要進一步學習的知識,就能不斷擴大自己的學習區,最終就能不斷地豐富自己的知識體系。

好啦,到現在爲止,我們介紹了構建個人知識體系的三個基本的步驟:確立方向,內化和同主題擴散。

接下來我們介紹讓我們的知識庫持續發展永葆青春的兩個步驟:記錄與迭代。


使用工具固化你的知識庫

大腦容量有限,必須藉助工具將我們的知識系統記錄下來。有非常多的工具可以使用,比如:

在上面這些工具中,其實圖書更多時候是你系統化自己知識的一種產出物,比如我在CSDN博客發佈的文章多了,就結集出版了幾本書:《Qt Quick核心編程》、《你好哇,程序員》。電子書也是類似的。

在選擇工具系統時,遵循下面的原則:

  • 易用,多終端同步
  • 便於檢索
  • 能呈現知識系統的結構

每個人都可能使用不同的工具來固化自己的知識庫,不必追求與別人一致,我目前使用有道雲筆記、CSDN博客CSDN知識庫、腦圖、圖書等工具來記錄知識。

腦圖工具我用的是XMind的社區版,這是我學習Qt時繪製的:

這裏寫圖片描述

腦圖的好處是你可以很方便的記錄、分支、補充,也能很好體現知識的關聯。但它不方便的地方在於,你往往只能記錄一些關鍵詞,大量的知識或者系統化的文章不太方便體現。

那後者,可以使用CSDN博客與CSDN知識庫的組合來完成。

我就在CSDN博客上發表文章,分享我對某方面知識的見解,然後使用CSDN知識庫把這些文章鏈接起來,整合成一個系統。這種方式的好處顯而易見:方便,多終端同步,系統化,利於更新迭代。

個人圖譜樣例

圖片描述



迭代與更新

當我們將自己某方面知識構建成庫、系統化之後,記錄在某個載體上,接下來面臨的就是知識的更新。

每一種知識都可能會不斷髮展、更新,都可能隨着時代的發展而變得過時,所以我們要不斷更新自己的知識體系。

比如你原來在C++方便積累了一些知識,使用的是C++98的標準,但現在C++11在普及,C++17馬上出來,你就需要更新。

如果我們不能定期更新自己的知識庫,那我們就會慢慢落後於時代,越來越沒有價值,也會失去很多機會。

舉個簡單的例子,學Java的朋友們,當2007年Google發佈Android系統時,有多少人抓住機會,把Android開發框架納入到了自己的知識體系中?如果你那時開始做Android,就趕上了移動開發的大潮,現在不是大神也是大咖。

查看Java知識體系>>> Java SE圖譜Java EE圖譜 
查看Android知識體系>>>


四象共贏

前面我們講了構建某個領域知識庫的過程,那其實呢,一個人可能會在很多領域建立自己的知識體系,因爲我們的生活本來就是多元中心的。

一個平衡的人生包含四個象限:事業、家庭、社區、身心與精神。

我們應當在每個象限中都確立一些關鍵目標,爲這些關鍵目標配置資源(時間、精力、金錢、人脈等),在每個象限中建立自己的知識圖譜。

比如你是軟件開發工程師,在事業領域,你構建軟件開發相關的知識圖譜,你還有家庭,可能會圍繞夫妻、兩性、婚姻、育兒、情感管理、親密關係等構建出面向家庭的知識體系。

再進一步,不同象限的知識,其實是可以交叉融合的。

我們以軟件開發中的Scrum爲例,來說明不同領域的知識體系如何相互融合。

使用Scrum模型來輔助產品開發時,先會抽象出一個Product Backlog(PB,產品需求列表),然後會從PB中挑選一部分需求,納入到一個Sprint(衝刺,一般是爲期2~4周的迭代)中來實現,每個Sprint有啓動會議(主要選擇要實現的需求或Story)、每日站會、任務看板、燃盡圖、演示會議、回顧會議等方法來保證Sprint的順利進行。

這裏面的流程簡化下來就是:確定大的目標–>拆分出階段性小目標–>可視化進度,用站會、燃盡圖等反饋促進行動–>回顧總結。

某一個具體的方法,也可以運用到別的領域。以Scrum的站會爲例,就可用於每一天的生活,無論是家庭還是工作。以我爲例,每天早上我都會想今天要做什麼事情,每天晚上會想今天完成了什麼、什麼沒完成、遇見了什麼問題、明天做什麼,這種習慣就來自Scrum的站會,能極大提高你每一天的生活質量。

當我們經常思考一個領域的知識怎樣才能應用到另一個領域時,我們就開始了融合、創新的過程,進入了更高境界。

如果你不斷地找到了交叉地帶,融合了各個領域的知識,那最終,你就可能將你所有的知識體系打通,統合出獨屬於你自己的和諧完整的知識圖譜,幫助你實現平衡和諧。

這裏寫圖片描述

從知識管理的角度看,單純地講學習已經不夠。學習只是個人知識處理的一個環節,你還必須學會保存,共享和創新知識。構建知識體系並不斷更新,這是保持核心競爭優勢的良方——張斌教授,中國人民大學信息資源管理學院副院長

CSDN知識庫提供了50+知識系統圖譜和10000+資源內容 
開發者可獲得官網圖譜,可自行生成圖譜和知識庫,提升技術知識管理的能力

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章