一位拖延症患者程式設計師的自我救贖!

CodeSheep發表於2021-10-18

寫在前面

關於時間管理、如何做計劃、如何提高執行力...等等相關的話題其實很早之前我就想寫了,但一直拖著遲遲沒有動筆。但是這次我想了又想,不能再拖了。

因為網上經常會看到類似的問題:不少小夥伴說,有時候總感覺過得不太充實,執行力上不來,做的任務計劃也感覺沒靈魂,很難堅持得下去,當然我也很有體會。

所以這篇文章,我準備來聊一聊這方面個人的一些思考、想法、以及實踐的心得和習慣,內容比較主觀,供大家參考。另外也期望藉此話題,大家能夠一起交流看看,說不定有其他新的靈感產生。

其實很多博主在講時間管理,包括怎麼做計劃時,上來就是分享自己用了哪些軟體,怎麼在上面做計劃。但是我們這次內容重點不在這個,我覺得用什麼軟體不是關鍵,關鍵是自己怎麼思考的,有沒有找到問題的痛點到底在哪。

這方面花點時間想清楚,對於後期學習和工作的正向工作流形成,應該都是非常有幫助的。

本文在GitHub開源倉庫「程式設計之路」 https://github.com/rd2coding/Road2Coding 中已經收錄,裡面有我整理的6大程式設計方向(崗位)的自學路線+知識點大梳理面試考點我的簡歷幾本硬核pdf筆記,以及我的程式設計師生活和感悟,歡迎star。

四碗雞湯

開始之前,有幾個大的原則,我覺得有必要先聊一聊。

  • 首先堅定的信念必須要有!

這話怎麼說呢?

因為我自己也反覆體驗過那種做了計劃而沒有完成,立了Flag但卻遲遲沒有兌現的那種糾結、困擾、甚至是自愧。所以也曾一度自暴自棄,在時間管理和任務安排上一蹶不振,天天腳踩著西瓜皮往前滑,滑到哪裡算哪裡。

因此什麼手段啊、工具啊、方法啥的我們都先不說,首先內心深處一定要告訴自己並堅信自己會成為一個時間管理和任務規劃大師,高效做事,快樂生活,慢慢成為一個執行力很強的人!

所以信念必須要有。

  • 任務計劃(ToDo List)一定要堅持做

很多人會抱怨說,感覺自己所做的任務計劃(ToDo List)沒有靈魂。因為很少能夠堅持完成,這樣反而會給自己帶來心理負擔,後來乾脆就放棄了。

要知道,凡事預則立,不預則廢!

在我看來,無論如何,任務計劃還是要堅持做!做計劃和不做計劃肯定是有差別的,只不過我覺得這個和做計劃的方式方法、習慣、工具、以及是否得到正向的反饋等等多方面因素都是有關係的,下文我也會詳細闡述一下我的個人方法心得,這也是本文的重點!

  • 持續激勵和正反饋尤為重要

我們都知道,在平時的工作學習中,聯調成功了是成就感、Bug解決了是成就感、技術難點攻克了是成就感、功能穩定上線了是成就感...這些都會成為我們生活和工作中的甜蜜點,同時激勵著我們朝著更好的目標前進。

正向激勵是我們能夠獲得持續前進的源動力!

同理,當我們的時間管理和任務計劃在獲得紮實執行,並得到正向反饋時,這也是一種莫大的成就感,往往就是這種成就感會推動著我們愈發鏃礪和精進,一旦正反饋形成,很多事情就好辦了!

  • 覆盤和回味是不可或缺的

因為再嚴密的計劃和執行也都有可能被現實變化所擾亂,所以階段性地覆盤總結有利於我們把握進度、糾正偏差。

到達終點的路線固然要摸清,但更要弄清楚的是,我們在路上的當下位置。


所以大道理就先聊這麼多,接下來聊聊個人在平時學習與工作中的一些實際操作經驗和感想。

我先來拋磚引玉,歡迎大家分享出各自的經驗心得,一起交流。


沒有靈魂的ToDo List!

不知道大家有沒有這種感覺,那就是:

  • 做計劃時信誓旦旦
  • 執行計劃時拖延拉胯
  • 驗收計劃時自責內疚......

久而久之,總會感覺自己做的計劃毫無靈魂,一聲嘆息之後便慢慢放棄了。

實不相瞞,其實這種心理迴圈我也多次經歷過,痛定思痛後我分析了幾點可能的原因:

  • 做計劃的儀式感有待加強
  • 做計劃的粒度有待商榷
  • 做計劃的輕重緩急沒有分開、長短線任務沒有加以區別
  • 計劃的執行得不到保證
  • 缺乏正反饋和正向激勵
  • 缺少覆盤和總結
  • ...

下面聊一聊我的一些方法和習慣。


如何做計劃(ToDo List)

我覺得「關於如何做計劃」這一塊頗有學問,我自己也在不斷摸索和改進中。

我先聊一聊我自己在做ToDo List時的個人習慣,很多都是在工作後跟著公司和團隊的做法學的。

1、首先在做計劃時,我習慣於將任務拆分細化,拆分成一個個切實可執行的任務點,執行的單位時間控制在1-2天為宜,而一天之內的任務點安排在3~5個就可以了。我覺得這樣更便於督促自己拿出信心來完成,從而形成短期的正向激勵和成就感反饋。

因為我們是人而不是神,強行給每一天安排太多工,一旦完不成,反而會讓人有一種內心上的愧疚和焦慮,這不一定是一件好事。

2、其次在做計劃的時候,我會利用到一種叫做「池子」的概念。

做技術的我們都知道,池子這玩意兒它是個好東西呀,比如天天打交道的:常量池、執行緒池、資料庫連線池、記憶體池、網路連線池... 等等。

為了讓做計劃這個事情儀式感拉滿,我自己也搞了一個任務看板,在看板上搞了7個池子,邏輯效果大概類似於這樣:

下面我來詳細解釋一下。

  • 任務計劃池

這個池子裡面放了我幾乎未來一段時間裡想做的任何事情和任何可能的任務點,不計大小、不論優先順序、也不管任務粒度劃分是否合理,只要有想法甚至任何凌空閃現的idea,我就會及時地丟進去。

這麼做原因很簡單。

因為我們往往沒有辦法在列計劃的時候就能立即確定當下的這一條任務劃分就一定是合理的,所以只要是未來可能會做的任務點,我都會把它丟進「計劃池」裡。

所以這樣來看,「任務計劃池」更像是一個收藏夾,甚至是備忘錄,裡面記錄著自己任何的想法和未來可能要做的事。

  • 任務就緒池

「就緒池」裡放的任務全部都是從上面的「計劃池」裡篩選出來等待執行的確定任務,因此丟到這個池子裡的任務就等待著接下來的執行和完成了。

從「任務計劃池」裡篩選任務到「任務就緒池」裡時就要反覆問自己:

  • 這個任務重要嗎?
  • 這個任務緊急嗎?
  • 這個任務確定要在這一週做嗎?
  • 這個任務一定能出結果嗎?
  • 這個任務需要切分嗎?
  • ...等等。

所以下面這個四象限圖在任務篩選和切分時則可以參考一下。

我個人會定期(我是每晚睡前花十多分鐘)篩選和切分「計劃池」裡優先順序較高,或者較容易實現,能快速產生短期正反饋的任務,放到「任務就緒池」。

  • 任務執行池

顧名思義,拖到這個池子裡面的任務都是正在執行的任務點。

注意我這裡的個人習慣是隻排一天之內的執行任務,且對於個人來說,一天之內要執行的任務點安排在3~5個就足夠了,強行拖太多過來做不完也沒意義,反而會引起內心的焦慮和愧疚。

  • 任務驗收池

這個也好理解,每天做完的任務可以當即拖到此處。

注意,之所以稱這個為「任務驗收池」,是因為拖到這裡的任務本身雖然完成了,但後續的一些覆盤、總結、對比、輸出、記錄...等等一些工作不一定做了,所以增加這樣一個緩衝的池子

比如今天寫了某一個模組的專案程式碼,程式碼的確是寫完了,功能也實現了,但總結工作是否做了?遇到了什麼bug記錄沒?除錯踩了哪些坑?下個迭代還有哪些地方可能需要優化?等等。

這麼做目的很簡單,就是為了讓自己對於已經做完的任務,能增加一個簡單的覆盤和回味的環節,這樣也能增加成就感。因為不管是學習還是工作,有時候真的不在乎快,多回頭看一看想一想其實很有必要。還是那句話:有時候慢一點才能更快!

所以我個人一般也是每天晚上,會把驗收池裡的任務過一遍,該寫備註的寫備註,該做筆記的做筆記,該寫部落格的寫部落格。確定完成後再把該任務拖到下面要說的「任務完成池」裡。

所以對於我來說,「驗收池」裡的任務可能是會有堆積的,一般來講,我會爭取一週內完全清一次。

  • 任務完成池

這個就特別好理解了,拖到此處的任務都是執行完畢的。

每天最爽的事情就是把完成的任務卡片依次拖到這個池子裡來,所以某一程度上來說,這就是一種最直接的正向激勵!

  • 任務阻塞池

「阻塞池」裡面專門存放那些執行週期較長,或者優先順序不高但還算比較重要,或者是一些老大難的歷史遺留任務。

這類任務的共同特點就是:一般難以在一兩天,甚至一兩週內就能完成,持續的時間比較久,而且可能會有一些不確定因素會影響著它的執行,大部分都是長線任務。

對於我個人來說,一般就是一些持續時間比較長的學習任務會放在這裡面,比如系統地學完某個知識點,或者花一個月搞定某個開源專案等等。

不過實不相瞞,我的阻塞池裡的有幾個任務都放進去都快半年了,感覺都快要爛尾了。。。

  • 任務醬油池

這個池子裡面放的任務列表比較特殊,我要好好來解釋一下。

我們都知道,雖然我們每天會把主要的時間和精力放在工作和學習上,但是再勤懇的打工人,難免也會有著屬於自己的打醬油時間(再通俗一點說就是摸魚時間、划水時間。。)。

比如:工作前後的間隙、開會前後的間隙、發呆的時間、刷手機的時間...這類時間的特點一般是:比較零碎、時長不固定、頻次不固定、可控性不高...其實這類時間如果好好利用,能完成不少事情的。

所以特別針對於這樣一個情況,在安排任務時,其實可以把一些邊角零碎的事情,統統丟到這個池子裡來。一旦有打醬油的時間,可以掃一眼這個池子裡的任務,看有沒有隨手可以完成的。

比如:查一下某個資料或文章、寫一個簡單的總結回顧提綱、看一下某方面的最新資訊、掃一眼大盤的情況...

所以總而言之,「醬油池」裡的任務,主要就是用來打發打醬油的時間,目的也是為了最大化地利用碎片時間,這麼說應該就好理解了。

  • 小 結

所以最後來小小總結一下!

這樣一來,每天我只要重點保證「執行池」裡的條目全部清空,那就說明完成了一天的任務。而每週只要保證「任務驗收池」裡的條目全部清空,那就說明完成了一週的任務!

這樣心理上就會很充實,人也很暢快。

完成之後,重新再從「任務計劃池」裡篩選和切分任務,並適當關注一下「任務阻塞池」裡的長線任務,如果有必要,就將其加入到「就緒池」中,等待被執行。

如此迴圈往復,將任務計劃和執行,變成一種能看到積極反饋的正向工作流,這樣習慣就能慢慢形成!而習慣一旦形成,很多事情就好辦了。


如何執行任務

既然任務已經計劃好了,接下來就要落實到具體的執行層面了。

不同人有不同的心得和技巧,怎麼確保效果真的得看個人自己的執行力了。有些方法可能在別人那裡有效,到我們自己這裡說不定就撲街了,這都是有可能的。

接下來聊幾點自己實踐下來的一些小心得,希望能對大家有用,也歡迎大家踴躍分享出自己的實踐心得!

目光集中、一鼓作氣

一天的時間其實很短,多數時候導致我們焦慮空虛的一個主要的原因就是因為沒有提前做好確定的任務計劃。漫無目的,東一榔頭西一棒子的做事方式肯定是不可取的。

上面在聊做計劃問題時也已經說過,只要我們每天都保證「任務執行池」裡的條目全部清空,那就說明完成了一天的任務,這樣就會很充實。

所以只要目光集中在每天要做的確定任務上,優先保證其完成,這樣就保住了基本盤,內心就會非常踏實!工作學習就會有奔頭!

避免頻繁地任務切換

大家都學過計算機,我們都知道像執行緒的切換或者任務的中斷帶來的開銷成本是不可小覷的!

同理,生活、學習、工作中的頻繁任務切換也會帶來很多的“效能損失”。

而想要避免這一點,更深次要求是在做當日ToDo List計劃時必須要合理安排任務。比如同類的任務可以放在一起,次要的、機械性的任務放在邊角,有難度挑戰性的任務放在大區間內,等等。

舉個例子。

比如像拿快遞、回郵件、回資訊等這類機械重複性任務可以安排在某個固定的時間邊角;而寫程式碼、做需求、研究開源專案等等這類挑戰性稍大一些的任務可以放在完整高效的時間區間裡;而那些像讀書、寫作、剪視訊等個人提升和興趣時間可以放在一起,安排在自己卸下包袱的輕鬆時間裡。

番茄工作法

番茄工作法我想大家應該都聽過,是一種思想非常樸素的時間管理療法。

基本思想就是將時間切割成一個個番茄時間片,25分鐘工作+5分鐘休息,四個番茄時間片一過(2小時),可以進行一次較長時間的休息,當然它的其他施行小細節還有好多,具體可以看下百科。

對於這個方法,我個人在施行時,有些情況下覺得還是有指導價值的,但有些情況下是真的很難玩起來。

比方說一個任務如果需要的時間並不長,這時候強行套用番茄工作法反而可能會讓效率降低。

再比如,在一些時間容易被打斷的零碎時間場景下,這種方法效果也會大打折扣。試想一下,一會領導叫你過去匯個報討個論,一會產品臨時召集開個會,一會兒要等一個重要電話,一會兒又要出去隔壁團隊溝通個需求... 時間一旦被打碎,番茄工作法的效果就大打折扣,這樣反而會有心理負擔,而且毫無成就感。

我個人覺得,在面對那些有相對完整成塊的時間段裡,這種方法是有效的,因為這種情形下不容易被打斷。比如今天是週末,今天下午我就在家準備用一個相對完整的時間塊(≥2小時)準備用來重構XXX模組的程式碼,或者閱讀XXX技術書籍,這時候番茄工作法用起來還是蠻舒服的。有時候甚至有一種忘了時間的感覺,25分鐘瞬間就到了。事情做完了,成就感也滿滿。

所以,我現在愈發感覺,能用上番茄工作法真的是一件很幸福的事情!這說明你有大把美好的完整時間塊去做事。

時間統計和定期覆盤

除了番茄時間工作法很有名之外,還有一個叫做「柳比歇夫時間統計法」不知道大家聽過沒。

它是前蘇聯昆蟲學家、哲學家、數學家柳比歇夫56年如一日對個人時間進行定量統計管理而得名的一種方法。

總體思想倒也挺樸素:在完成任務時,儘量精確地記錄下起始時間和持續時間,並做好分類(現在有很多App都能幫我們完成這個功能),完事形成完整的時間賬簿,並進行事後的總結分析,然後用於指導並改善對於時間的把控及任務的完成。

這說明了,我們在做任務計劃和時間管理時,定期去覆盤和總結自己的時間花銷和任務完成情況非常有必要,通過實際情況和預想情況的不斷對比,慢慢就能構建出自己對於後續任務計劃和時間管理的感知度和寬容度。

打造正向激勵和正反饋

其實上面在聊「如何做計劃」時就一直在強調短期的正向激勵和正向反饋對於時間管理和任務執行的重要性,為此也做了很多可以提升成就感和看到正反饋的措施,這些在上文都已經說過了,這裡就不再贅述了。

deadline+硬肝

就像看過很多道理依然過不好這一生一樣。有時候當各種時間管理方法、任務安排技巧都打不過拖延症的時候,深夜硬肝則成了我自己的獨家解藥。

比如寫文章的時候就是,本來定的今天必須做完,但是由於各種原因,到晚上12點了還滯留在那裡。好唄,這時候洗把臉,看一看鏡子裡的自己,憋說了,今晚怒肝到凌晨,不完成絕不睡覺...


總 結

好了,這篇文章聊了很多。

到現在為止,我依然覺得在時間管理和任務規劃上一個非常非常重要的堅持動力那就是:一定要想辦法來持續獲得正向反饋和正向激勵,從而形成正向的工作流!

一旦正反饋形成,很多事情就好辦了,執行力也就能慢慢上來。

所以大家如果圍繞著這個思路,來改變一下現在的學習和工作,或許是有效的。

當然了,別人說的不一定有用,別人的方法在自己這裡也不一定完全有效,所以最後建議大家還是,儘早摸索出一套,適合於自己的時間管理和任務規劃的方法論,並且紮實地執行下去,堅持半年,相信就會大不一樣。

希望我們都能慢慢變得越來越好。

本文已被GitHub開源倉庫「程式設計之路」 https://github.com/rd2coding/Road2Coding 收錄,裡面有我整理的6大程式設計方向(崗位)的自學路線+知識點大梳理面試考點我的簡歷幾本硬核pdf筆記,以及我的程式設計師生活和感悟,部分內容如下↓↓↓,歡迎star。

相關文章