聊聊IT技術人的知識體系

我在我的2020年終總結中提到技術人需要建立自己的知識體系,那麼怎麼建立自己的知識體系呢?技術人的知識體系又是什麼樣的呢?今天,和你一一分享。

1 關於我的12字方針

我在我的《2020年終回顧》一文中提到了一個12字方針,以應對IT技術人的中年危機,它是“抓主線、建體系、有側重、多覆盤”。

其中,“建體系”三個字最爲重要。

那麼,是建什麼體系呢?

答曰:建立我們IT技術人的知識體系。

接下來,我們就來聊聊如何建立我們自己的知識體系。

2 刻意構築 點-線-面

我們可以藉助 點-線-面 的方法論來構築知識體系,即我們在工作中用到的往往是一個知識面的某條主線的某個點,只有當你用了多個點之後纔會將它們升維到某條主線,最終多條主線再次升維形成一個知識面。

這裏我們以Redis爲例來說說如何構築Redis的點-線-面。

Redis應該是我們做後端開發的技術人大概率都會用到的一箇中間件,不管你用到了哪種程度,只要你是做後端開發,那麼你的知識體系中必然有它的位置。

這裏我們藉助某位老師總結的一個Redis的知識結構圖來聊聊,如下圖所示:

我們可以從上圖中看到,該老師將Redis這個知識面分爲了兩大維度 和 三大主線,兩大維度分別是 應用維度 和 系統維度,三大主線分別是 高性能主線、高可靠主線 和 高可擴展主線。

作爲一個對自己有追求 又 渴望成長 的IT技術人來說,往往都是在工作中在瞭解和實踐Redis的一個又一個零散的知識點,卻很少將它們整理和歸納,使這些點能夠串聯起一條主線脈絡在心中。比如,我們常常使用Redis做緩存,用了很多相關的get/set接口,也用了k/v、string、set等數據結構,有的還使用到了新增的SET接口實現了分佈式鎖去應對秒殺搶購的業務場景,但卻很少將它們歸納分類提升維度,進而構築知識體系,因此在面試中的回答往往不夠完整(這也是我的經歷,錯失一些offer的感悟)。

如果我們都能有這樣的整理和歸納,對每個知識面都有像上圖一樣的脈絡在心中,是不是也會增加我們的自信程度,減少不必要的中年焦慮?

畫外音:騷年,平日裏多多歸納總結,刻意練習,必有收穫。技術如此,業務知識也如此,心中有一條公司整體業務的主線 以及 自己項目團隊所負責的業務線的詳細脈絡,就是一個合格的IT技術人,因爲技術是爲業務服務的,沒有交付業務價值的技術也是不合格的。

那麼,跳出Redis這個知識面,我們後端技術人的知識體系的全貌又是怎麼樣的?這裏我整理了一棵樹,它列出重要的知識面 和 主線,僅供參考。

當然,這還只是一棵較爲粗糙的樹,我會持續對它進行完善,因爲我的技術認知和業務認知也在不斷地更新,樂觀接受新認知,勇於放棄舊認知,只要自己不斷地在進步,就是值得高興的事。

此外,金三銀四已經到來,Edison也在整理一棵開發面試的知識體系,目前整理到了v0.5版本,關注EdisonTalk公衆號的童鞋可以在後臺回覆“面試知識樹”獲取。這個pdf的全貌如下圖所示:

在EdisonTalk交流羣裏(歡迎加羣交流),很多童鞋都表達了自己的焦慮,認爲自己多年所學的知識可能會在今後的日子越來越得不到市場。我承認,在國內的互聯網和IT大環境市場下,面向職位和工資編程,.NET在互聯網大廠的平均使用份額的確不高,但是也需要承認.NET在數字化轉型、工業製造、3D遊戲(Unity)、BIM設計、醫療信息化等行業領域還是佔有一席之地(護城河)。此外,作爲一個程序員,掌握兩門及以上的開發語言也不是什麼壞事兒,如果我們將自己的知識體系進行一個抽象和升維,你會發現.NET技術棧在你的知識體系中只是其中的一個面,其他的很多面其實都是後端開發通用的技術能力,你不必擔心這些通用的技術能力在其他企業用不上。

畫外音:講到這裏,細心的讀者應該可以發現,抽象歸納和頂層設計的能力對於程序員來說,是個需要逐步練習的技能,可以幫助我們看到全局,而只有看到全局,你才能做到胸有全局脈絡,又能聚焦局部重點。

3 其他想說的

關於硬技能和軟技能

在職場中,硬技能是我們安身立命的基礎,它是硬核的,即我們所掌握的開發語言、框架、中間件 和 項目經驗。軟技能是我們擴展邊界的條件,它是加分項,可以在我們達到開發角色邊界的時候幫助我們跨上一個新臺階,比如Team Leader或Project Manager等。

技術人職場打怪升級路線

在職場中,我們首先是做事,通過硬核技能寫好代碼做好服務,等到一定時機,我們有機會管事(比如Team Leader),再管人(比如Manager),最後管心(比如Director或CIO/CTO)。

爲什麼技術人越成長晉升,關注點都會慢慢聚焦到人和人心上面?

因爲人心比系統複雜,架構師處理的是多個系統之間的連接關係,而管理者處理的其實是多個人心之間的連接關係。

我的一點成長經驗

我在職場中也沒有做到什麼高級管理者的位置,但我現在逐步養成了拔高自己的視角去看待一些問題,我也有了一些自己的成長經驗,我覺得以下幾點對初入職場和初中級開發工程師都是有用的(如果你也認可)。

第一點,積極主動做事。職場中積極主動做事的人,運氣都不會太差,機會一定都是會留給積極做事有準備的人。

第二點,努力擴展邊界。任何成長階段都有自己的邊界,而渴望成長的人總是希望在幾年或多年的時間裏上一個新臺階。

第三點,及時總結覆盤。當你努力踏上一個新的臺階時,你總是不習慣或者不適應的,你會踩很多很多的坑,這時你需要及時對踩過的坑進行總結覆盤,避免下次再犯。

這三點其實是有一個順序關係的,你只有積極主動做事,纔會在大概率的情況下得到拓展邊界(踏上新的成長臺階)的機會,而當你踏上新臺階時,一定會碰到各種各樣的問題(因爲要處理問題的複雜度提升了)進而踩很多坑,這時你就需要及時總結覆盤,避免多次犯同樣的錯誤。如此,這就是一輪成長的閉環,而技術人的職場進階路線就是一個又一個這樣的閉環。

4 小結

本文介紹了IT技術人的知識體系的概念,如何通過 點-線-面 理論來構建自己的知識體系,最後給出了一個後端技術人知識體系的示例,你可以根據自己的需求進行完善。

那麼,你有沒有開始計劃去整理你的知識體系呢?歡迎留言,一起交流!

 

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