重新思考熱情這件事

大學時期,我聽到太多相似的言論並懵懵懂懂的相信著。那些厲害的人熱愛他們在做的事,我們稱這種喜好為熱情,找到熱情就是找到生活的意義。他們說熱情並不是意味著快樂,亦可能是辛苦但值得。他們說熱情不會憑空出現,必須要努力生活、嘗試各種事物才會察覺。

剛結束大學學業,在替代役中心服兵役的那段時期,其實是很迷惘的。有個疑問我一直放在心上:寫程式到底是不是我的熱情?

我在大學時接了一些case、做飲料機、發想有趣的點子並試著實做。把專案功能寫完的那一刻是開心的,彷彿登上山頭,達成某種人生的里程碑。但似乎就這樣了,平常沒事,我不會泡在Github上看其他人的專案,或是貢獻開源程式碼。只有在做專案時,我才會像海綿一樣學習相關的知識,甚至買書來讀,偶爾廢寢忘食。

當時的我把這種行為解讀成,我喜歡做產品勝過寫程式。寫程式只是達成目標的手段,還稱不上是熱情。但我可以為了把產品做出來,花時間把程式練好。

踏入社會之後,我持續尋找潛在的熱情領域。我知道需要多點嘗試,於是換了第二份工作,一樣是做軟體開發,只是不同語言、從網站變成GUI應用。我終於接觸到兩個最想了解的技術,Deep Learning和機械手臂。幾個月後,現實再度修正想像。業界的軟硬整合研發一樣要做一堆實驗,和飲料機沒有什麼不同。而Deep Learning手動調參之後大概會被AutoML做掉,而且還在持續演進當中,若非打算以AI研究為終身職志,風險實在太高。

人生以不可預測的方式變化,第二份工作讓我注意到,開發出可用的軟體不難,但開發出可維護的軟體不容易。架構不良的程式要修改難如登天,不僅追bug浪費時間,萬一改不動只能打掉重練。如果用獵人裡的念能力比喻寫Code,會念能力的工程師多,會除念的工程師少。我去上了91的TDD系列課,想要掌握這方面的技能。

離職後,我不急著找下一份工作。我決定先花點時間把TDD內化,這技能不好學,儘管上了課做了練習,距離實務上使用還是有頗大的差距,我需要一段完整的Deep Work Time填掉路上幾個最大的坑。我練習好幾個TDD Kata,看youtube影片檢討,參加coding dojo和大家一起練習,找夥伴一起online pair programming,花錢上Udemy的線上課。我花了很多時間了解C#、物件導向的API設計、察覺TDD實務上的問題。兩個多月過去,終於把技能樹又往上推了一階。

某次聚餐,和朋友閒聊最近在學TDD,朋友說了一句我沒想過的話:「我覺得你對寫程式充滿熱情。」

這樣叫做熱情嗎?其實我頗為困惑。直到某個潮濕下雨的晚上,我坐在電腦前邊聽胡凱兒的菸癮邊寫程式時,突然意識到,我並不是喜歡做產品,而是喜歡創作,產品只是一種創作的形式。而持續練習怎麼用更好的方法寫程式,是現階段最能夠同時兼顧生存和創作的手段。

人生是一場無目標的RPG

我們可以把人生視為一場無目標的RPG遊戲,每個人對玩法有不同的見解,只要出生在自由的伺服器,就不會受太多干涉。常見的玩法諸如累積金錢、培養人際關係、經營家庭、感情、培養技能等等。

儘管自由度極高,但每個玩家的初始點數是隨機的,每個人的金錢、才智、技能點數都不同。含著金湯匙出生的玩法會比較多樣,可以承受相對高的風險。那些家境困難的,能選擇的玩法就比較有限。

釐清想要的目標很難,部份玩家在40歲左右會經歷一種稱為「中年危機」的現象,這是一種玩家過度追求職業目標,導致迷失其他目標的狀態。遊戲並沒有規定只能遵循單一目標,你可以按照自由意志做適當的選擇與取捨。

舉例而言,如果玩家的目標是創作。那麼有很多種方式可以達成,諸如練習寫作、作曲、拍電影、剪輯Youtube、寫花體字等,甚至連做有趣的事情都能算是廣義的創作,能夠讓玩家感到有意義就是好目標。

每位玩家在遊戲期間,都必須付出基本的生活開銷。這對資金充裕的玩家沒什麼影響。其他玩家則必須取捨,有些人會選擇在工作之外的時間創作,白天上班,晚上寫歌。對於資金點數不那麼充裕,又重視創作的玩家而言,把工作視為手藝變成一種高CP值的選擇,既可滿足創作欲,也可以強化職場的競爭力。

很遺憾,大多數的玩家還是得為了生存而工作,直到透過投資、創業或繼承取得自動生成金錢點數的技能為止。工作可能會妨礙玩家對其餘人生目標的追求。但很遺憾,這是現實的取捨。請試著找到自身能接受的目標組合,是可以隨時修改,短期和長期亦可不同。

Everything In Life Is A Trade-off

沒有所謂適用各種情境的好設計,所有的設計都是針對當下情況的取捨。寫程式也是,人生的選擇也是。

Leave a Reply

avatar
  Subscribe  
Notify of