如何在繁重的工作中持續成長?

大家好,我是若川。持續組織了近一年的源碼共讀活動,感興趣的可以?加我微信?ruochuan12?參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》?包含20余篇源碼文章。歷史面試系列。另外:目前建有江西|湖南|湖北籍前端群,可加我微信進群。

以下是 ConardLi 大佬的分享。


在本屆稀土技術大會上,我做了一次關于成長的分享,以下是分享的全文~

在加班文化盛行的互聯網文化中,很多開發者為自己的個人成長感到迷茫。這篇文章將會從我的個人經歷出發,從打破成長的誤區、如何高效的利用時間、以及堅持沉淀和寫作三個方面介紹,如何在繁重的工作中也可以做到持續成長。

認知:打破成長誤區

首先,我想跟大家談幾個關于成長的認知。包括我在我的職業生涯的前期,以及我身邊的一些同事和讀者,對成長的一些誤區。

a87bc799df5696859faf82a640cb38a1.png

你覺得自己處在下面哪個狀態里面呢?

如果你不知道該做點什么,只是機械的重復著每天的工作,那很有可能處在了迷茫期。

如果你感覺做什么事都什么動力,上班的時候就想著下班,那你可能處在了舒適區。

迷茫和舒適可能都會讓我們處于一個停滯不前的狀態,最好的狀態就是兩者之間,持續提升自己、持續保持成長。這個時候有的同學可能會說了,工作真的太忙了,真的沒時間顧及個人的成長啊。

誤區1:個人成長和工作相互沖突

這就是我想說的第一個誤區,很多同學覺得個人的成長和工作互相沖突的。其實恰恰相反,因為工作和成長本身就是密不可分的。比如:

  • 「業務能力」:對工作中業務的深入理解,可以讓你在大部分沒有深入理解業務的同事里面脫穎而出,甚至可以讓你成為某個領域的專家,這就是最直接的成長。

  • 「編碼能力」:有的同學可能會去刻意的學習一些,看起來很高深的算法去提升編碼能力。其實仔細想一想,你能夠在工作里面把你的業務代碼重構的更清晰一點,或者說在開始編寫業務代碼之前,就把你的代碼架構,設計的更合理一點,這可能是個更好的選擇。

  • 「編碼技巧」:有的同學可能會去想做一些開源庫的源碼的解讀分析,希望從里面能獲得一些編碼技巧,其實在工作中能把平時的 Code Review 做好,你也可能會從很多經驗豐富的同事中獲得很多收獲,而且這些收獲都是可以直接運用到工作里面的。

  • 「影響力」:在平時工作中的,各項技術方案的設計和評審也可以無形中提升你在團隊內的影響力,當然以上的前提是,你一定要認真對待。

所以我一直認為個人的成長有很大一部分都來源于工作,關鍵是你怎么看待成長和工作的關系。切忌為了所謂了個人成長而怠慢了平時的工作,「從工作中謀求成長才是最佳的選擇」

誤區2:做自己沒了解過的事情才是成長

第二個誤區:很多同學覺得一定要做自己沒了解過的事情才是成長。其實在平時的工作中,只是被動執行著一件事情,和將一件事情做到極致,最終取得的結果是完全不同的。「與其浪費一些時間去了解一些可能未來不可能在工作中用到的技術,為什么不能選擇把現在手上負責的事情做到極致呢?」

誤區3:學的東西越多,成長越快

第三個誤區:和前面的問題很類似,學的東西越多一定成長越快嗎?實際上往往會起到相反的作用。

a49894695af9de1e243cc6ca467b8497.png

一個人的腦容量和記憶力是有限的,拓寬自己的眼界和知識廣度是完全沒問題的,這可以讓我們在思考問題的時候思維更加活躍,但是拓寬知識廣度的前提一定是你已經有了一項非常擅長的方向,前面的 15% 帶給你的收益要比后面的 85% 大很多。

那么怎么才能讓我們有限的腦容量和記憶力發揮出更大的作用呢?選擇合適的方向是最重要的。

以我個人的經驗來看,「一定要選擇你工作中可能會用到的方向,或者說可以落地到工作中的方向」。比如,你想要研究性能優化,你現在的工作是 TOB 方向,那么一定要把重點放在研究 PC 場景下的性能優化。如果你想研究 TS,那一定要爭取把工作中項目的 TS 覆蓋率和編寫質量提升上去。

這樣,你的個人成長才能更好的融入到工作中,才可以讓你受益最大化。大家一定要明白這一點,否則你可能付出再多的努力都是徒勞的。

實施:如何高效的利用時間

在前面,我們糾正了幾個關于成長的誤區,但是當我們滿懷期望的去投入到我們選擇的方向中去的時候,可能就要面臨一個新的問題。時間不夠用啊,特別是在互聯網公司上班的同學,因為大環境的影響可能工作都非常的卷,怎么才能高效的利用時間呢?

75abebfe3efd66a7deba6c031430e1e7.png

我一直在堅持對外輸出一些技術文章和分享,在社區也比較活躍,所以我經常聽到讀者對我提這樣的問題:

為什么字節工作這么忙,你還能持續輸出這么多內容?

你可能會覺得,我是不是可能會在工作中偷懶,或者說放水呢?我身邊比較熟悉我的同事可能都知道,我在工作中基本上也是最卷的那一個,我也經常聽到同事對我這樣的評價:

感覺他可能是晚上不睡覺。

為什么感覺他的一天可以當兩天用?

我當然不可能不睡覺啊,我更沒有“時間轉換器”這樣的神器。人的一天只有24小時,我其實只是“時間管理”方面做的好一點而已。

關于時間的困惑

15fd4d606ce6baa49713f637bbb797e9.png

為什么做好“時間管理”這么重要呢,我們先來看看下面幾個場景,大家是不是也有過這樣的想法?

  • 當我們面前有一大堆需要處理的事情的時候,很多同學第一想法就是先把最簡單的完成了

    • 混亂型,缺乏對時間和精力最基本的安排

  • 有時候我們從早到晚忙了一天,很累,但是又感覺自己什么也沒做

    • 缺乏對事情優先級的判斷和復盤,會讓我們喪失對工作的成就感

  • 還沒有到 DeadLine,再躺一會吧

    • 拖延癥嘛,確知道我要干什么,就是提不起動力

其實,如果我們不去對時間做一些思考,不引入一些適合自己的方法的話,上面這些問題我們是很難規避掉的。

af8fdb0952416d8641d5c119c796932f.png

這可以用我們物理學里面非常重要的一條定律來解釋,就是熵增定律。

在一個「孤立」系統里,如果沒有「外力」做功,其總混亂度(即熵)會不斷增大。

因為事情總是向著熵增的方向發展的,所以所有符合熵增的,都非常容易和舒適的。比如我們喜歡做簡單的事情、不喜歡把事情安排的很有序;喜歡拖延、不喜歡自律。但是,熵增定律也是一直被認為是讓全宇宙都很絕望的定律,因為持續的熵增會讓事物走向衰退。這個概念往大了講,就是地球必定會走向滅亡。回到我們現實生活中來,就是人一定會在熵增的過程中走向衰退。所以薛定諤在他著名的生物學著作《生命是什么》里面也有提到過:

人活著就是在對抗熵增定律。

怎么對抗呢?其實從它的概念里面我們就可以知道,「想要避免熵增,光靠自然的變化是很難的,我們必須引入一些外力。」

常見的時間管理法

回到時間管理,有哪些外力呢?我們可以先來看幾個方法論。

6298dee5aec18178b3c3b2c974a0590e.png
  • 「GTD」 「時間管理法」:通過記錄的方式把頭腦中的各種事情移出來,然后整理安排自己去執行。它的核心是圍繞 收集、清理、組織、回顧、執行,五個點來管理時間:

    • 收集:所有需要消耗時間的事情收集到一個地方,比如說我們看到了一篇文章,現在沒時間看,要先收藏起來;老板臨時安排了一件事情,但是現在有其他更高優的事情,要先記錄下來。這都是收集的過程。

    • 清理:這個過程其實就是清理我們的收集箱,因為收集的過程往往都是很匆忙的,不會經過過多的思考。我執行之前很難從一大堆收集來的事情里面去挑出來現在要做的那一件。所以要有一個定期清理的過程。

    • 組織:清理出來的事項,我們需要把它們進行更細粒度的安排,比如較大的事項我們要進行合理拆分。根據事情不同的優先級和重要程度,我們要把它們分配到不同的日程里面去。

    • 執行:根據我們之前已經組織好的事項按照具體的時間和地點去執行就好了。

    • 復盤:定期進行回顧檢查,因為計劃肯定趕不上變化,我們要隨時對我們已經安排好的事項進行調整。

  • 「三只青蛙時間管理法:」如果現在有三只青蛙,先把最大最丑的那只吃掉。也就是說當你面臨三個重要任務的時候,先做更艱巨、更重要的那一個。這個其實本質上就是對事情優先級的管理。

  • 「番茄時間管理法」:把執行的時間劃分為多個番茄時間。一個番茄時間包含兩個部分:25 分鐘的工作學習和 5 分鐘的休息。當每四個番茄時間之后呢,可以暫時停止一下工作,進行一次較長時間的休息,大約 15 到 30 分鐘。這里有一個很重要的點,就是一個番茄時間是不可再分割的。這個法則可以幫助我們專注的執行,同時也能做到張弛有度。

「時間管理的方法論還有很多,但是大家一定要避免進行生搬硬套」。每個人可能實際情況都不一樣,適合的方法也不一樣,比如我就覺得 GTD 太復雜了,所以我根據自己的實際情況對它進行了一些刪減,同時在不同的步驟里又融入了其他的方法。我把它分為記錄、整理、執行三個步驟。

記錄:提醒事項

第一步,是記錄。我會將我所有現在不能立刻去做,但是需要做的事情記錄下來。你可以把它類比于 GTD 里面的收集階段,但是又不完全一樣。

「我在記錄的時候會明確的將這件事情打上標簽」,比如:

  • 「工作執行上的」:老板臨時安排了一件什么工作、昨天評審了一個需求;

  • 「技術寫作上的」:剛剛收到郵件,Chrome 更新了 104 版本,要研究一下有哪些策略變化;

  • 「日常生活上的」:醬油快吃完了,下次去超市買一瓶。

按照標簽歸類可以讓我更清晰的知道我需要在何時何地去完成這些事情,會讓我后續的步驟更加輕松。當然,我實際的標簽要比這個更復雜一點,每個人可能需要根據自己的實際情況去進行不同的歸類。

「如果這件事情有明確要完成的時間,一定要掛上 DeadLine 的時間提醒」。注意這里不是要執行這件的時間,而是這件事情完成的截止時間,這可以讓我們在后續的優先級判定中更輕松。

注意:執行時間需要根據我們當前已有的事項安排以及這件事情的緊急重要程度綜合判定,而截止時間往往是很明確的。

969e72a1bceefe674348e6854e3b6475.png

那記錄這一步用到的工具呢,其實我們的需求非常明確:

  • 有一個 TODO List 功能

  • 可以對每條 TODO 進行標簽歸類

  • 可以有時間提醒功能

  • 可以跨平臺,在 PC、App 上都可以同步操作

之前我也嘗試了很多個 App,最后,我發現蘋果的提醒事項簡直是為我量身定做的,可以滿足上面我提到的所有要求,而且功能非常簡潔,就只有我要的這幾個功能。

好,現在我們已經把所有需要做的事情記錄下來了,我們要在什么地點什么時間把這些事情完成掉呢?之前張一鳴在他的一次采訪里曾經有這樣一句話,我印象非常深刻:

更大的效率來自于重要事情上做得好,而不是在處處做得好。

事情是永遠做不完的,但是時間是恒定有限的,我們在提醒事項里記錄的事項會越來越多,下面最重要的就是如何在有限的時間里把這其中最重要的事情完成掉,以取得最大的收益了。

整理:優先級 & 制定計劃

下一步是整理,也就是把我記錄的事項按照優先級和重要程度安排到具體的執行計劃中去。這一步實際上是我對 GTD 中清理和組織兩個步驟的融合。

3ab811865d5d5b9d36a7232c5ec50c57.png

這里用到了一個非常重要的法則,就是四象限法則,我們根據事情的重要和緊急程度分成四類:

  • 「重要且緊急的事情」:如果我現在沒有其他重要緊急的事情,我一般會選擇立刻去做。如果現在沒時間的話,那我就會把它安排到最近的時間中去。

  • 「重要不緊急的事情」:既然事情很重要,我們一定要把它做好。如果事情比較大,我們可以把它拆分成一些小的任務,有計劃的安排到日程中去。這里我可能會用到兩個工具,第一個是需求管理工具,它可以讓幫助我更好的進行任務拆分、團隊協作、跟進進度等等,在這一步實際上就完成了從代辦事項到需求管理的轉換,相信每個公司都有自己的需求管理工具,你們也可以自己選擇;第二個是日程管理工具,它可以更細粒度的安排我們在什么時間執行什么事情,避免事情過多的時候不知道該做什么,比如字節的同學大部分應該都會用飛書的日程管理,「它不應該只作為一個約會的工作,更建議大家把自己的事情和計劃也記錄上去。」

  • 「不重要但緊急的事情」:這種事情,我們可以把它讓給別人去做,對你來講可能不重要,對其他人來講可能就是一次機會,所以這里其實也是想說,不一定所有的事情都要親力親為,其他人不一定會比你完成的差,或者說「在你有其他事情并行的前提下,做對 “取舍” 是很重要的」

  • 「不重要也不緊急的事情:」這種事干脆連計劃也不要做了,什么時候前面三種事沒有了,再拿出來看這些事情。另外也不建議就把它們放在待辦事項本來的位置,因為隨著時間的積累這種堆積會讓你的記錄很難整理。建議把它們單獨歸置到一個或多個歸檔區域,下次在做整理的時候也要拿出來看看,因為不緊急的事情隨著時間的推移也有可能變得緊急。

但是,計劃永遠趕不上變化,你可能已經安排好了你一天的規劃,但是突然接到了其他的事情,這是非常正常的,這種場景基本上也發生在我每天的生活工作里面,我相信大家也都一樣。

結果其實只有兩個,做還是不做。如果做,是現在做,還是以后做。我們同樣可以用四象限法則思考:

b57e70a40b8cc60e7bfd0c17948d96f2.png

「如果是不重要也不緊急的事情,現在就直接和對方說 No,如果事情很重要,但是不緊急,你依然可以現在和對方說 NO,但是你可以和對方明確 DeadLine,然后將它記錄到待辦事項中去」。我見過很多同學不太會拒絕,可能遇到了臨時的事情立刻就去做了,實際上你現在做和以后做這件事可能沒有什么區別,對方可能也不著急,只是需要你一個排期,但是這可能會導致你現在高優先級的事情 Delay。這也有可能是導致你四處救火,但是一天下來卻又覺得什么也沒干的原因。

如果是重要緊急的事情,那需要和你現在在做的事情對比一下,「如果確實比現在的事情優先級要高,就樂觀的面對計劃調整就好了,你要明白,這依然只是你在在重復執行你的 “整理” 這個過程」。還是那句話,事情是做不完的,但是時間是有限的,我們只要按照我們的標準對事情進行記錄、整理、執行,不管是之前計劃好的事情,還是臨時新增的事情,根據我們的方法最終都可以被安排到具體的計劃中。嚴格執行我們既定的標準,樂觀的面對計劃調整。

執行:張弛有度的專注

最后,就是執行階段了。對我而言,番茄時間管理法還是很不錯的,只不過我可能會適當的調整一個番茄鐘的時間,我會把一個番茄鐘的時間調的更長一點,這個因人而異,大家可以多嘗試一下,找到自己更舒服的時間。

對于短時間休息,方式有很多種。比如,遠眺放松一下眼睛屬于休息、站立活動一下脊椎屬于休息,回復一些消息也屬于休息。如果只是坐在座位上刷刷手機,這種休息可能沒有什么意義。長時間休息,我會選擇處理一些臨時插件來的事情、包括重新進行記錄、安排的步驟、或者解答一些問題、做一些 CodeReview 等等。

番茄鐘有個非常重要的特點,就是「執行時一定要保持專注,如果不是什么特別重要、緊急的事情一定不能打斷這個種」,盡量到達休息時間再去處理其他事情,養成這樣的習慣,就算時間很少,執行一件事的效率也會非常高。

70b92d6f7d744c9501e57c0a784240b1.png

在工具上,市面上有非常多使用番茄時間管理法的工具,做的花里胡哨的,選擇使用也是因人而異。如果你自控能力較差,你可以選擇一個幫你自動鎖屏、屏蔽其他應用的 App。不過我更傾向于更簡潔一點的,只需要帶有番茄鐘和休息時間的倒計時提醒以及簡單的統計功能就可以了。

以上就是我的時間管理方法,其實可以看作是一個精簡版的 GTD,我把 GTD 中的清理、組織和復盤進行了合并。同時在每個步驟里根據我的個人情況融入了一些其他方法。大家也可以根據自己的實際情況,磨合出屬于自己的一套方法。現在方法有了,如何能把這套方法實施下去,做到知行合一,就很關鍵了。我這里也有一些自己總結出的一些技巧分享給大家。

技巧:找出事情的交集

我們會在記錄的階段堆積出非常多需要做的事情,雖然是一件一件記的,但是沒必要一件一件的去執行。「我們只要在整理階段更好的找到這些事情的交集,就可以更高效的利用有限的時間。」

6c66e0a8190df22613049100c3f224bf.png

比如,我們在寫作的 tag 里記錄了最近要輸出一篇技術文章,另外在工作的 tag 里記錄了系統穩定性很差,需要進行一次優化。那么兩者的交集就可以是:研究并落地系統穩定性方案,并將實踐經驗整理成一篇技術文章。

技巧:高效溝通

在現階段的工作中,和別人交流溝通,會占用掉我非常大一部分時間。我們需要評需求、跟進度、推專項、解答問題等等,如果這些事情都要靠打字來完成,效率是非常低的。一般來講,「面對面溝通的效率要大于語音溝通,而語音溝通的效率要大于打字。」

9c4036b11fa51dbc9366a1416c265a2c.png

因為我們在打字時,就算加了再多的表情和語氣詞也很難清晰的感受到對方的語氣、態度、心情,更是很難探尋出一些深層次的想法,打字時的無效溝通會浪費掉大量的時間。所以,當我要溝通一件稍微復雜一點的事情的時候,如果需要溝通的人離我很近,我一定會選擇面對面溝通;如果和我不在一個位置,我會嘗試語音溝通;如果對方短時間內無法語音交流,再選擇打字溝通。

當然,這里只針對一些比較復雜的內容溝通,如果你需要溝通的內容有明確的結論比如:有、沒有、對、錯,這樣的答案,打字反而更省事一點。

技巧:碎片時間

最后一個,就是碎片時間了。這個也是因人而異的,在我的日常生活里有兩段非常固定的碎片時間。因為我住的離公司比較遠,所以我每天通勤時間是很長的。大概上班要一個小時、下班要40分鐘。但是這兩段時間對我是非常重要的。

6dfa1bfc468f44effe355de89458dd71.png

我一般會在上班通勤中進行 “整理” 這個步驟,定制我一天的計劃。如果當天事情堆積較多,我會在晚上通勤的時間進行適當調整,補充到第二天的計劃中。剩下的時間就是閱讀了,我在一周中大部分的閱讀時間就來自于這兩段通勤。這里的閱讀不僅僅會包括一些技術文章和書籍,也會包括當天工作中要涉及的一些文檔。這不僅讓我可以快速調整進入工作狀態,也能讓我持續保持接收新鮮事物。所以,在我之前的工作經歷里面,對通勤距離一直都是很包容的。甚至中間有一段時間我搬到了離公司很近的地方,還讓我非常不適應。

我相信大家或多或少在平時也都會有這樣的碎片時間,因為你不可能所有的時間都花費在緊張的工作中,畢竟人的精力是有限的,不可能所有時間都在保持專注。「所以怎么去安排好這些碎片時間,可能會成為你能脫穎而出的一個制勝法寶」

秘訣:堅持沉淀和寫作

關于時間的分享都是這么多,下面我們來聊聊沉淀和寫作。我認為它是能讓我們保持持續成長的秘訣。

c1edd45732efedadc3cf034490643acb.png

技術寫作不一定是對外發表的一篇文章,我個人把寫作分成了兩類:

  • 個人的沉淀:可以是平時的工作記錄、一些知識碎片、你的個人知識體系等等;

  • 對外的分享:包括工作中的技術方案、對外發表的技術文章等的。

兩者各有各的好處,我建議大家兩類寫作都要執行起來,我們可以先從最簡單的個人沉淀開始。

個人沉淀

有什么好處?

做個人沉淀有什么好處呢,首先就是可以幫助我們鞏固記憶。關于記憶,我相信大家在上學的時候都學過一個理論,如果我們記住了一個知識點,那么一個月過后,你對它的記憶可能只會剩下 20%。當然如果是天才的話我們就不說了哈,我相信大部分人,包括我也是一樣的。

8ffec762d27c4d862402e67219b4e888.png

比如,有時候我們完成了一件工作,可能當時成就感挺強的,但是如果不進行總結和沉淀,過了一段時間你會發現腦子里關于它的記憶已經剩不下什么了,可能到達一定的時間之后,這件事是不是你做的好像沒有什么區別了。所以很多同學工作很長時間了,但是又想不明白自己做了什么,雖然表面上工作經驗多一點,但是跟剛畢業的同學有什么區別呢?相反,如果你每完成一件工作就進行適當的沉淀和總結,那結果可能就完全不一樣了。一段時間之后你會清晰的知道你學到了什么,留下了什么,甚至對你工作中遺留的痛點以及對未來的規劃都會非常清晰。

另外一個非常重要的點,就是我們可以把工作中沉淀下來的工作總結、知識碎片,完善到我們的知識體系中去。我認為「一套自己的知識體系是每個人在成長過程中不可或缺的一部分」。它的作用非常大,首先它可以讓我們對自己的認知更加清晰。比如:我到底了解多少內容、我最擅長什么、我有哪些能力比較欠缺、欠缺的這些能力哪些是工作中需要用到的?

其實就這簡單的幾點好多同學都說不清楚。另外它也可以作為我們的知識索引,就像前面提到的:就算我們及時進行了沉淀和總結,也不可能保留 100% 的記憶,但是當我們用到這些知識的時候,有一個地方能夠進行快速索引幫我們找到它們,就可以幫我們節省大量的時間。

構建個人知識系統

所以下面我們來看看怎么通過沉底和總結構建我們的個人知識系統。一個基本的個人知識系統需要滿足下面三個要點:

10c43d0431ad43d153b16bb263218202.png
  • 「方便管理:」整個流程我們不要設計的太復雜太長,否則很難持續下去。我曾經也沉迷于各種花里胡哨的筆記軟件的遷移,后來發現很多功能都用不上、復雜的流程也比較難堅持下去,其實只要能滿足我們對知識管理最基本的要求,最簡潔的就是最好的。

  • 「要體系化:」比如我們可以用思維導圖的方式將你的整個知識體系呈現出來,否則如果只是雜亂無章的記錄,沒有成體系的整理。那后面這個知識系統肯定會廢掉,這其實還是一個熵增的過程。我們必須要經過體系化的整理才能將知識變得有序,避免系統崩潰。另外,體系化的組織會讓我們隨時看到我們的知識體系是不斷擴充的,這會讓你非常有成就感。同時知識體系完善的過程中,你也能清晰的看到你的強項和欠缺之處,讓我們對自己有更清晰的認知,也能讓我們有針對性的制定學習計劃。

  • 「方便提取:」如果知識的獲取路徑很深,就算是記錄下來,那后續可能也要吃灰了,所以快速索引的能力還是很重要的。

就像上面的時間管理一樣,知識管理也是因人而異的,大家需要根據自己的個人情況選擇適合自己的方法,下面講講我對知識管理是怎么做的。

如何做好知識管理

42c2f8346fc716b98cf3a714d2b5274b.png

最下面的提醒事項和飛書日程其實也是上面我們時間管理的一部分,所以我的時間管理和知識管理也是有交集的。最直接的就是對外部輸入的記錄了,我把它們分成三類:

  • 「需要執行的事情,我會記錄在提醒事項中」:提醒事項中的記錄我會通過整理,將他們轉換成飛書日歷中的日程和計劃,在執行之后,我會對完成的事情進行復盤和反思,整理成文章,完善到知識庫里。

  • 「平時的一些靈感、想法、以及一些碎片的知識,我會通過語雀小記記錄下來:」語雀小記中的知識碎片,我也會通過定期的歸檔和總結完善到知識庫里。

  • 「平時看到的一些不錯的文章,我會在 Cubox 中收藏下來:」在閱讀中產生的記錄和思考,我會記錄在小記中,如果有完整的總結和沉淀,我會直接記錄到知識庫中。

知識庫里的內容,已經經過了分類和系統化的總結,我會將新增的內容完善到知識網絡中。其實知識網絡也就是對知識庫中分類和目錄的組織。經過長時間的沉淀和整理,我的知識網絡和知識庫已經非常復雜了,所以我對我個人的認知是非常清晰的。我知道我掌握了哪些技能和知識,我在利用的時候可以隨時隨地的把它們提取出來,同時我也知道我有哪些分支是比較薄弱的,如果這些分支我比較感興趣,或者說和我未來的工作可能有交集,我就會有針對性的去學習他們。

對外分享

有什么好處

下面我們再來說說對外的分享,能夠將自己的寫作內容對外輸出,其實好處就更大了,這里我說三點。

a8fb80e4b4f1764b70f99cb81dac8c4a.png

首先關于個人對知識的理解方面,有時自己理解一個知識其實是比較容易的,可能你讀完一篇相關的文章,就會覺得自己已經理解了。但是當你嘗試把自己理解到的知識給別人也講明白的時候,會發現可能遠遠不是你想的那么簡單。「你可能需要數倍的深度理解才能做到把一個知識給其他人講明白」。當然,對外的分享除了帶給你個人的提升,還會給你的職場帶來收益,比如可以提升你個人影響力,帶動團隊的整體技術氛圍等等。下面跟大家介紹幾個我的寫作方面的經驗。

寫作技巧:先枝后葉

個人的沉淀,最終是給我們自己看的,所以寫的再亂,只要我們自己能理解就沒問題。但是「文章如果是要對外分享的,一定有擁有清晰的條理和結構,最好是先枝后葉,先把文章整體的結構和大綱列好,再往里填充完善」。在結構上有很多法則可以大家可以套用,一個最簡單的法則就是 2W1H 法則,也就是:是什么、為什么、怎么做。比如我最近的一篇講解 Early Hints 的文章是這樣拆解的:

f123094c7a04983ca82bc84f40214405.png
  • 「Why」:為什么需要 Early Hints?資源加載的性能問題

  • 「What」:Early Hints 到底是什么?HTTP 的 103 狀態碼、什么樣的網站適合 Early Hints

  • 「How」:如何啟用 Early Hints

擁有一個好的結構和大綱不僅會讓你的寫作更加輕松也會讓讀者更加舒服。

寫作技巧:善用圖片

第二點就是善用圖片。「有時候可能需要一大堆文字描述才能說明白的內容,一張圖片就能搞定」

比如:我們要在文章中講解怎么理解負載均衡這個概念?

c3e6bcd5bc174904c9a52b965f92ec0f.png

我們可以在圖中發現:前面是眾多的服務窗口,下面有很多用戶需要服務,我們需要一個工具或策略來幫助我們將如此多的用戶分配到每個窗口,來達到資源的充分利用以及更少的排隊時間。

我們有三種測策略可以選擇:

dd5b356104063c8096b6c08d5855007e.png
  • 第一種是默認的輪詢策略,也就是將所有客戶端請求輪詢分配給服務端。

  • 第二種是將請求優先分配給壓力較小的服務器。

  • 第三種是有限選擇響應時間最快的服務器。

大家可以看一下,是不是增加了幾張圖片,就可以勝過大批量的文字描述呢?

寫作技巧:從讀者角度思考

最后一個我想說的就是,多從讀者的角度思考。因為「我們對外的文章第一目的還是要給讀者去看的,讀者不一定有和我們一樣的知識背景」。試著想一想,如果你是一名沒有相關知識背景的讀者,想要獲取相關的知識,你想要看到一篇什么樣的文章呢?當然不是滿屏的專業術語、或者雜亂無章的筆記、甚至是毫無任何的搬運。我相信呢,如果大家能做到這一點,寫出的文章一定不會太差。

以上就是我個人的一些經驗之談,僅供參考,本文完。


我在阿里招前端,我該怎么幫你?(現在還可以加模擬面試群)
如何拿下阿里巴巴 P6 的前端 Offer
如何準備阿里P6/P7前端面試--項目經歷準備篇
大廠面試官常問的亮點,該如何做出?
如何從初級到專家(P4-P7)打破成長瓶頸和有效突破
若川知乎問答:2年前端經驗,做的項目沒什么技術含量,怎么辦?

如何準備20K+的大廠前端面試

192ce5ada84fcef89822114cf33f8345.gif

·················?若川簡介?·················

你好,我是若川,畢業于江西高校。現在是一名前端開發“工程師”。寫有《學習源碼整體架構系列》20余篇,在知乎、掘金收獲超百萬閱讀。
從2014年起,每年都會寫一篇年度總結,已經堅持寫了8年,點擊查看年度總結。
同時,最近組織了源碼共讀活動,幫助4000+前端人學會看源碼。公眾號愿景:幫助5年內前端人走向前列。

d51df570234c8dd2ef07cc09351c32c0.jpeg

掃碼加我微信 lxchuan12、拉你進源碼共讀

今日話題

目前建有江西|湖南|湖北?籍 前端群,想進群的可以加我微信 lxchuan12?進群。分享、收藏、點贊、在看我的文章就是對我最大的支持~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/274555.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/274555.shtml
英文地址,請注明出處:http://en.pswp.cn/news/274555.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Mono for Android 對話框 倒計時

UI調度:public class Dispatcher : Handler { public override void HandleMessage(Message msg) { var ai msg.Obj as ActionItem; if (ai ! null) { try { …

熊kong作品資源鏈接_Kong雀技術:向世界展示您的設計作品

熊kong作品資源鏈接The door opened and I entered the bedroom of an apartment I was looking to rent. No furniture or items inside, it was almost empty except for a frame in the wall. It was a photo of a peacock. As I stared at it, I could not shake one clear…

漫談前端工程化基建和架構設計 | 留言送書

大家好,我是若川。持續組織了近一年的源碼共讀活動,感興趣的可以 加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。本文留言抽獎送書,具體規則看文末。透過工程基建,架構有跡可循。前…

oracle中 rownum與rowid的理

一、 Oracle分頁查詢 我們先看學習一下oracle分頁查詢的語法示例,然后在具體學習用rownum的原理。 /*從第1條開始,每次選N個,從第1M個開始每次選N個*/ /**/ select t2.* from (select rid from (select r.rid, rownum linenum from (select r…

設計模式 日志系統設計_模式:我們設計系統的故事

設計模式 日志系統設計Design Patterns are some of the most over-used concepts in design today. And we all know what happens when you have some ideas all over the place. We start repeating them like parrots and applying them to everything, therefore distorti…

前端好還是后端好,看看7年前端和后端怎么說

大家好,我是若川。持續組織了近一年的源碼共讀活動,感興趣的可以 加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。另外…

提升UI技能的5個步驟

element ui 步驟重點 (Top highlight)What to do when you know how to use the software and know the basics of designing interfaces? There are a few simple things that you can do to take your skills to the next level, and you don’t need to invest in expensiv…

空降進阿里的 P10 都是什么人

周末見了幾個朋友,吃飯時聊到他們前老板郭東白(阿白),對了,我朋友在速賣通,他說阿白是 14 年來的阿里,直接就空降進了他們部門,當上首席架構師,后來又升到了 CTO&#xf…

linux下練習 c++ 關聯式容器multimap特性

/* multimap特性 key可以重復 不支持下標訪問 */ #include<iostream> #include<string> #include "print.h" #include<map> using namespace std; typedef pair<int,string> pairmp; typedef multimap<string,double> MS;int main() …

一致性設計,而不是一致性

一致性設計重點 (Top highlight)If we ask any design system advocate what are the main reasons to build and maintain a design system, chances are ‘Consistency’ will come up as first or second in their list, together with the ‘A single source of truth’ po…

如何在 React 應用中使用 Hooks、Redux 等管理狀態

大家好&#xff0c;我是若川。持續組織了近一年的源碼共讀活動&#xff0c;感興趣的可以 點此掃碼加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系…

長語音識別體驗_如何為語音體驗寫作

長語音識別體驗重點 (Top highlight)“Voice User Interface (VUI) Designer” is an increasingly prominent job title in the tech world. A VUI designer typically writes the conversation and designs the flow between a VUI — an invisible interface that communica…

表連接

初學SQL表連接的時候&#xff0c;什么笛卡爾積&#xff0c;左連接&#xff0c;右連接看的頭都大了 后來看了《SQL Server技術內幕2008&#xff1a;T-SQL查詢》之后&#xff0c;豁然開朗。今天寫數據庫又用到了表連接&#xff0c;印象有點模糊了&#xff0c;趕緊找地方寫下來先。…

分析了1011個程序員的裁員情況后得出的啟示

大家好&#xff0c;我是若川。持續組織了近一年的源碼共讀活動&#xff0c;感興趣的可以 點此掃碼加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系…

定義設計系統

System is “the whole creation, the universe,” from Late Latin systema “an arrangement, system,” from Greek systema “organized whole, a whole compounded of parts”.系統是晚期拉丁語系統的“整體創造物&#xff0c;宇宙”&#xff0c;是希臘語系統的“一種安排…

如何備份linux系統(轉)

如何備份linux系統 不像Windows&#xff0c;Linux不限制根用戶存取任何東西&#xff0c;因此&#xff0c;你完全可以把一個分區上每一個的文件放入一個TAR文件中。來實施這一方法&#xff0c;用這個成為根用戶&#xff1a;sudo su接著去你的文件系統的根目錄&#xff08;在我們…

2w行代碼、200個實戰項目,助你修煉5大編程基本功。【送書《設計模式之美》】...

大家好&#xff0c;我是若川。之前送了很多書&#xff0c;現在又和異步圖書合作再次爭取了幾本書&#xff0c;具體送書規則看文末。所謂練武不練功&#xff0c;到老一場空&#xff0c;以技術為驅動的程序員同樣如此。面向對象編程范式、設計原則、代碼規范、重構技巧和設計模式…

C++第10周項目2擴展之2參考——迭代求和

課程首頁地址&#xff1a;http://blog.csdn.net/sxhelijian/article/details/7910565【項目2擴展之2&#xff08;選做&#xff09;】計算下面的式子&#xff0c;不能使用求冪函數pow()式一&#xff1a;#include <iostream> using namespace std; int main( ) { int i,m1;…

swift自行車品牌介紹_品牌101:簡介

swift自行車品牌介紹Sometimes when I’m around designer friends and there’s a lull in the conversation one of us will blurt out, “What is branding, anyway?” Then we shrug our shoulders and chuckle, knowing that the answer is far too complex to sum up in…

flutter 透明度動畫_Flutter中的動畫填充+不透明度動畫?

flutter 透明度動畫Flutter SDK provides us with many widgets which help us in animating elements on screen easily by implicitly managing the animations i.e. we need not worry about creating and managing intances of AnimationController during the lifecycle o…