Only human beings can look directly at something, have all the information they need to make an accurate prediction, perhaps even momentarily make the accurate prediction, and then say that it isn’t so.

— Gavin de Becker, The Gift of Fear

核心概念#

本能(instincts)是對模式的反應,儲存在我們的非意識大腦中。有些是天生的,有些是透過重複學習而來的。作為程式設計師,你的大腦在不斷累積隱性知識(tacit knowledge):哪些東西有效、哪些沒效、某類錯誤的可能原因等。這就是你的「蜥蜴腦」——那個在你與人聊天時會自動按下存檔鍵的大腦部分。

無論來源為何,本能有一個共同特徵:它們沒有語言。本能讓你感覺,而不是思考。當本能被觸發時,你不會看到閃亮的燈泡,而是感到緊張、不安,或覺得這件事工作量太大了。

Tip 61 - Listen to Your Inner Lizard(聆聽你內心的蜥蜴)

對空白頁面的恐懼#

每個人都害怕空白畫面上那個孤獨閃爍的游標。開始一個新專案(甚至在現有專案中建立新模組)可能是令人不安的經驗。這背後有兩個問題,而它們有相同的解法:

  • 你的蜥蜴腦在試圖告訴你某些事——表面之下潛伏著某種懷疑。這很重要,給它時間,你的懷疑可能會結晶成可以處理的具體問題
  • 你可能只是害怕犯錯——這是合理的恐懼。我們把很多自我投入到程式碼中,錯誤會被視為對我們能力的反映。也許還有冒名頂替症候群(imposter syndrome)的成分

與自己搏鬥#

有時程式碼從大腦直接飛入編輯器,毫不費力。但有時編碼感覺像在泥巴中爬坡。如果你感覺在掙扎,不要硬撐——你的程式碼在試圖告訴你,這比它應該的更困難。也許結構或設計有問題,也許你在解決錯誤的問題。

如何與蜥蜴對話#

聆聽本能的技巧永遠相同:

  1. 先停下來——給自己時間和空間讓大腦自我組織。離開鍵盤、散步、吃午餐、找人聊天、睡一覺。讓想法在大腦的各層中自行滲透,你無法強迫它
  2. 外化問題——畫出你正在寫的程式碼的塗鴉,向同事(或你的橡皮鴨)解釋它。將大腦不同的部分暴露在問題上
  3. 用原型突破僵局——告訴自己你需要做原型。在便利貼上寫「我在做原型」貼在螢幕旁。提醒自己原型是用來失敗的,原型做完就丟掉。這能讓大腦放下壓力

做原型的步驟:在空白編輯器中寫一句描述你想學什麼或做什麼的註解,然後開始編碼。有懷疑就看便利貼。在第一次原型的某個時刻,你很可能發現自己跟著音樂哼唱、享受著編碼的感覺。

不只是你的程式碼#

閱讀他人程式碼時,也可以運用本能。不要只是機械地讀——當你發現某些東西做得很奇怪時,記下來。尋找模式,看看你能否發現驅動原作者寫出這些程式碼的思路。

不只是程式碼#

學會在編碼時傾聽直覺是一項重要技能,但它也適用於更大的場景。有時一個設計就是感覺不對,或某個需求讓你感到不安。停下來分析這些感受,在支持的環境中表達出來、探索它們。傾聽你的本能,在問題跳出暗門攻擊你之前避開它。

相關章節#

  • Topic 13,原型與便利貼
  • Topic 22,工程日誌
  • Topic 46,解決不可能的謎題