在軟體工程的世界裡,有一個讓所有工程師聽了都頭痛的名詞,叫做「遺留代碼(Legacy Code)」。
它指的是系統深處那些古老、沒人敢動、文件佚失,但卻還在運行的舊程式碼。雖然它們現在看起來寫得很醜、邏輯混亂、效率極差,但在當年系統剛上線時,它們可是為了讓系統「跑起來」而立下汗馬功勞的功臣。
而在心理諮商的現場,我發現許多成年人的內心世界裡,也運行著這樣一套龐大的「遺留代碼」。
系統裡的幽靈:那個被主管罵就僵住的瞬間
你有沒有過這樣的經驗?
明明你已經是個獨當一面的職場老鳥,處理過無數棘手的專案。但在某次會議上,當主管語氣稍微重一點,皺著眉頭糾正你的錯誤時,你的大腦突然一片空白。
理智上,你知道這只是一個工作上的反饋;但生理上,你的胃開始翻攪、抽筋、手心冒汗,喉嚨像被掐住一樣說不出話。那一刻,你感覺自己不是一個 30 歲的專業人士,而是一個做錯事、站在客廳角落等著挨罵的 5 歲小孩。
這不是你抗壓性差,也不是你能力不足,而是你大腦深處的「遺留代碼」被觸發了。
這段代碼可能寫於你 5 歲那年。也許是一次不小心打破珍貴碗盤的記憶,或是某次在大賣場哭鬧,大人冷冷地丟下一句:「你再不乖,我就把你丟在這裡,不要你了。」
對一個 5 歲的孩子來說,仰賴大人的照顧是唯一的生存方式。因此,大腦為了保護你,寫下了一條至高無上的生存邏輯:
IF (權威者不滿) THEN (啟動恐懼程序 + 僵直不動);
// 警告:被罵 = 被遺棄 = 會死掉
這段代碼在當年是為了保命。但在三十年後的會議室裡,當它再次被觸發,就變成了一場災難。
當年的 Patch(補丁),變成現在的 Bug
在軟體開發中,當系統出現漏洞,工程師會打上一個「補丁(Patch)」來暫時解決問題。
童年時期的我們,為了在家庭或學校的複雜環境中生存下來,也寫了許多高效的「補丁」。
例如,如果你的照顧者情緒很不穩定,你可能寫了一個「討好補丁」:隨時偵測大人的臉色,只要苗頭不對,立刻假裝乖巧聽話、甚至扮醜、搞笑來緩解氣氛。這個補丁運作得很成功,它讓你避開了許多頓罵,甚至獲得了「乖孩子」的稱讚。
然而,隨著時間推移,系統環境變了。你從原本依附大人的小孩,變成了需要獨立作戰的成年人。
這時候,當年的「功能(Feature)」,就變成了現在的「錯誤(Bug)」。
- 當年為了生存而寫的「討好補丁」,現在讓你無法拒絕同事的無理要求,導致過勞。
- 當年為了避免衝突而寫的「隱形補丁」,現在讓你在爭取升遷時不敢發聲,導致職涯停滯。
- 當年為了獲得關注而寫的「完美補丁」,現在讓你對細節吹毛求疵,導致嚴重的拖延症。
我們用舊的生存機制,去應對新的人生挑戰,結果就是系統不斷當機。
重構(Refactoring),而非格式化
當我跟來談者解釋這個概念時,他們常會急切地問:「那我該怎麼刪除這些代碼?我要怎麼消滅那個軟弱的自己?」
在程式開發中,面對遺留代碼,我們通常不建議直接「刪除(Delete)」,因為那可能會導致系統全面崩潰。我們採取的策略是「重構(Refactoring)」——在不改變外在行為的前提下,優化內部的結構與邏輯。
心理諮商的過程,其實就是一場「心靈代碼的重構工程」。
首先,我們不刪除,而是「感謝」。
我們要感謝那段 5 歲時寫下的代碼。請在心裡對那個僵住的小孩說:「謝謝你,我知道當年你是為了保護我、為了讓我活下來,才讓我學會僵住不動、學會討好。你做得很好,謝謝你。」
接著,我們用成人的邏輯來「改寫」。
當下次主管皺眉頭時,試著在內心運作新的邏輯:
Old Code: IF (被糾正) THEN (我很爛、會被丟掉);
Refactored Code: IF (被糾正) THEN (這是一個資訊修正、這不代表我的人格、我有能力改進);
這需要練習,就像新功能上線需要測試一樣。一開始舊代碼還是會自動執行,但透過一次次的覺察與覆寫,新的迴路會逐漸建立。
從低解析度的恐懼,到高解析度的「支線故事」
最後,我們要來談談如何撰寫屬於你的「支線故事」(Alternative Stories)。
當遺留代碼運作時,我們的視野往往是模糊、低解析度的。我們覺得自己像個無助的孩子,眼前只有一條路:「完蛋了,我沒救了。」這就是所謂的「主流故事(Dominant Story)」——一個關於無能為力的故事。
但事實上,你已經不是當年的孩子了。
試著把你心中的恐懼畫面「放大解析度」,認真看看現在的自己:
- 你的身高體重已經是成人的規格,你有足夠的力氣離開現場。
- 你的銀行戶頭裡有工作這幾年累積的存款,你不必依賴某個人的餵養才能存活。
- 你擁有法律知識與社會資源,你知道沒有人可以隨意把你「丟掉」。
當你把畫面調成高解析度,你會發現畫面中充滿了細節,而細節裡藏著「選項」。
以前的你,面對權威只能「服從」或「哭泣」。
現在的你,看著眼前暴怒的主管,你可以開展出多種「支線故事」:
- 支線 A:冷靜地聽完,說聲謝謝指教,轉身繼續做自己的事。
- 支線 B:溫和但堅定地提出數據反駁,捍衛自己的專業。
- 支線 C:評估這裡的文化不適合自己,開始規劃轉職。
如果你看到這些支線,你也意識到自己握有鍵盤與選項,你是系統的管理者而非使用者時,你就擁有了改寫劇本的能力。
別讓 5 歲的你寫下的心靈代碼,綁架了你 30 歲以後的人生。
記得告訴自己,你的系統已經升級了。現在,試著寫下幾行新的代碼,讓你的心靈系統跑得更自由、更流暢,也更像你自己吧!















