11 months ago

人生何處不迷茫

前一陣子,我再度對未來陷入了迷茫,甚至到了有點輕度憂鬱的地步。

茫然的因素主要有三個,一個是我對系統程式找不到成就感。另一個是對台灣資訊產業的悲觀。最後一個是金錢的問題。

剛離開成功嶺,開始服替代役時,我那時不斷問自己,未來想走什麼領域。我寫過幾個網站、做了一台飲料機,入伍前還上完Andrew Ng的機器學習線上課,最後我決定去找Jserv研究系統程式。

最後會決定系統程式的原因是有脈絡的,我不想繼續寫網站,大學期間我寫了三年網站,前端的技術更迭太快了,我努力了三個月才上手的AnglarJS很快就過時,JS邁向ECMA6,react.js當紅,之後又來個vue.js,我在乎的是解決眼前的問題,做出我想要的東西,而不是一直追網站的最新技術。

我覺得做網站能解決的問題有限,又不想當個接案者。於是我就跑去弄硬體,大四那年我花了一年的時間搞了一台自動做手搖飲料的機器,這個專案讓我深刻理解,現實世界的問題的難度不太可能靠一個人攻克,跨領域合作和專業化分工是必然的結果。

上完Andrew Ng的機器學習課,我曾一度考慮要不要研究Deep Learning。但後來讓我卻步的理由是,目前Deep Learning的發展方向還很亂,而且就像是個黑盒子一樣,it just works but we don’t know why。而且台灣做深度學習的公司實在有限,就先把這個選項擺到一旁。

剛離開成功嶺,思考一段時間要走什麼領域後,最後我選擇向Jserv學習系統程式。當時我給自己的理由是,這個東西很基礎、很紮實,技術的變動性應該不會像網站那麼大,而且Jserv有那麼多學生畢業後都找到不錯的工作,未來跟產業界應該也能銜接。

Jserv提供了兩個題目,一個是記憶體分配的機制,另一個是程式的並行性。我花了幾個月的時間研究這兩個題目,但後來卻漸漸失去學習的動力。回過頭來看失去興趣的原因,最關鍵的因素是,缺乏短期的成就感。

研究記憶體分配是為了ARRC的火箭系統,需要一個合理的機制來分配記憶體。我們研究了幾個記憶體管理套件的分配機制,我努力告訴自己這些東西很重要,但這些東西的成就感實在是很小眾,大多數人並不會對降低的25%的記憶體碎片到興奮。

我們後來研究程式的並行性(Concurrency),這個領域沒有多少中文資料,英文的資料也很分散,我花了幾周,啃了好幾本原文書的相關章節,才大致了解背景知識,包括處理器的指令重排、快取、程式碼執行的順序。但我距離寫出一個可以使用的lock-free演算法還好遠,這東西本身是為了提昇效能而存在的,讓系統能夠跑得更快、更順,我相信這領域很重要,但是那種膚淺的相信沒辦法帶給我繼續投入的動力。

在心情鬱卒的那段日子,我常常上104和ptt科技版,看看未來能從事什麼相關的工作。結果上頭充斥著各種薪水不上不下、工作十年也沒什麼前景的工作,只有少數幾間外商、厲害的公司才端得出稍微像樣的牛肉來。科技版上頭各種悲觀的仇恨發言,只求爽、只求有錢賺,不求進步的價值觀,看久了心情都會受到影響。

我才更明確的意識到,這是整個產業的問題。如果公司沒辦法做出有價值、有技術差異、能夠甩開競爭對手的產品,最後就會陷入低價競爭的迴圈當中,最後公司賺不到錢,員工也不會成長進步,大家比誰加班比較多,看起來比較努力而已。

同一時間,我手上的各種3C產品的折舊也漸漸到期了。我的筆電已經用了六年,開始會不定期過熱,鍵盤也開始鬆脫。因為沒錢所以先墊著用的ASUS手機時常會讀不到sim卡、網路連不上要重開機,頻率高到惱人的程度。鞋子破了、衣服舊了、眼鏡鏡片也早已磨損到會影響心情的地步。但我只是個薪水6000塊的役男,在台北等級消費下,光是伙食費就入不敷出。這些揮之不去的因素像夢魘一樣,不斷的侷限我思考的可能性。

負面情緒的迴圈

我突然理解憂鬱症是怎麼一回事。你向罹患憂鬱症的病人說看開點是沒有用的。因為現實把他所有可能性都封死了。他會陷入一個負面的迴圈,因為沒有錢,於是找工作的時候錢變成很重要的因素,但大多數的職缺薪水都不高,發展性也堪慮。而且如果把錢放到第一順位,你便無法傾聽內心真正想要的工作是什麼。這些道理憂鬱症的人都知道,他很努力的想要傾聽自己內心的聲音,但外在的惡劣的產業環境不斷的干擾他的思考,我該寫driver嗎?但driver是個枯燥乏味的工作。我該去系統廠嗎?但每個人都說系統廠是屎缺。還是該選比較高薪的外商?但外商大多數的工作是作客戶支援,並不是個長久之計。Jserv的包袱依舊掛在身上,他覺得自己不去學系統程式彷彿背棄了老師對自己的期望,但缺乏成就感的學習方式讓他無法繼續前進。

更糟糕的是,一旦這樣的負面想法持續超過一週,腦袋裡的某些神經迴路似乎會定型下來。你的思考會開始往悲觀的方向走,因為缺錢,所以變得更不敢投資自己,到書店連要不要買一本書都會猶豫半天。錢本身是帶來更多可能性的工具,但因為缺錢,不敢花錢,你等於是把大半的可能性都封死了。你不斷想找未來工作的方向,比平常變得更現實、更功利,但這不是好事,過於現實、悲觀會讓你看不到未來的希望,嘗試把一切怪罪在環境上,急功近利讓你無法做更長遠、短期內無法帶來回報的投資。

幸好兩三週之後,我總算脫離低潮與悲觀的負面迴圈,我試著整理出一些我自己的作法:

  • 運動,我在低潮這段時間依然繼續保持著重訓的習慣。一週將近4~5次,運動時大腦會分泌腦內啡,產生愉悅感,抵銷一部分的負面情緒,不讓其無上限的繼續累積。
  • 和朋友聊聊,線上或約出去吃個飯都好
  • 出去玩耍,脫離現實,我和朋友跑去馬拉灣玩水、跑去烏石被浪衝、跑去龍洞跳水

上述是較為消極作法,目的是避免情況惡化,但這些對於解決問題並沒有太大的助益。要脫離負面迴圈,我認為最有效的作法是

  • 中斷惡性循環,花一筆大錢在你目前最需要的地方上。
  • 找一個發自內心相信、並且願意投入努力的目標去實踐

脫離省錢的惡性循環

這樣的日子持續數周後,某天起床,我的內心突然浮現一個聲音:「不能再這樣下去了,我必須趕快把眼鏡換掉。」後來我去找了專業的配鏡店,配了一副上萬元的眼鏡。

戴上新的眼鏡後,透過毫無刮痕的新鏡片看世界,整個世界都光輝起來。每時每刻抬起頭來,都可以重新感受到世界的美好。但比起眼前的光明,更重要的是內心的轉變。你知道戴在你鼻樑上東西很貴,他不斷在提醒你,你是有價值的,你值得這些,你會意識到,自己該重新展開新的人生,思考新的可能性。

花錢的目的,並不是讓你大玩特玩,像壓力很大的上班族週末跑去百貨公司血拼轉移注意力。花錢真正的目的,是為了體驗投資自己帶來的好處,讓自己不要因為怕窮而省錢,結果越省越窮。穿一件用料好的衣服,讓自己出門時充滿自信、戴一副清澈明亮眼鏡、換掉那台sim卡常常接觸不良、鏡頭模組爛到根本不會想拿來拍照的ASUS手機。花錢只是手段,真正的目的是消除那些生活中帶來負面情緒的因素。

低潮是反省的好時機

在低潮的期間,我依舊不斷的反省,過去所做的決策與判斷,哪些是因為正確的觀念而產生好的結果,哪些想法是有問題的。

  • 追尋穩定的技術而跳去系統程式錯誤的觀念(但這不代表跳到系統程式是錯誤的),每個領域的技術都會不斷進步、演變,網頁也是、系統程式也是。真正的問題不是在技術變得太快,而是你沒有找到願意投入十年的方向
  • 認清你的失敗,是因為方向錯誤,還是方法錯誤。所謂的方向錯誤,是你本身就不適合、不喜歡、不該做這件事情,就像矮冬瓜跑去打籃球一樣。而方法錯誤,是你用錯方法,導致你在學習的過程中,充滿挫折。錯誤的方法包括找一堆書來讀,卻缺乏實做經驗、欠缺成就感等。
  • 把尋找目標這件事情當成一個長期的過程,請找到自己的內在動機,因為它們往往比外在動機更能長久。

人的內心其實相當複雜、難解,而且常常會自我矛盾。願意投入一件事情的理由,往往是許多不同的因素揉合在一起的結果,例如我決定投入系統程式這件事,其實包含了「我不想一輩子寫應用,我想知道我還能做什麼」、「理解電腦的底層原理好像很重要,這樣就可以活在工程師的鄙視鍊最上層」、「我很敬佩Jserv」、「感覺台灣產業需要這樣的人才」、「我覺得我的個性蠻踏實、有毅力的,應該可以勝任這樣的題目」。

但你看也知道,這些理由多半是自己內心的投射和想像,遇到現實很容易就直接被打臉。我們的心靈很容易被其他人所影響。賈伯斯就是這方面的佼佼者,他可以點燃工程師的熱情,把他們逼到極限來加快Mac的開機速度。厲害的業務員並不會讓你感受到他在推銷,但卻能夠讓你心甘情願掏出皮夾。心儀對象的一句話就讓你心甘情願的做牛做馬,反觀父母怎麼威脅利誘都沒有用。

有人會爭辯,幹嘛管那麼多?只要能夠驅使你自動自發努力的動機不就是好動機嗎?

不,不是的。一個顯而易見的例子是,為了錢工作的人,和為了理想工作的人,他們的表現絕對是不一樣的。過於理性的動機,例如錢多事少離家近,並沒辦法打動人心。羨慕與欽佩你的偶像,在遇到困難的時候,不見得有辦法帶你渡過難關。只是覺得「底層好像很重要」,如果沒有實際解決真實世界的問題,並不會感受何謂很重要,這樣的膚淺幻想很容易在遇到挫折時破滅。

我們往往是先透過感性下決策,最後才用理性解釋為什麼這麼做。而感性往往比理性更能夠打動人心,。你需要的是一個發自內心相信的動機,你願意學習、鑽研,不是因為背負著其他人的期望,不是因為薪水,而是像許多人一開始決定學吉他的原因一樣:「台上的人好酷,我想變得跟他一樣」。矽谷創業教父Paul Graham在如何才能去做你喜歡的事情裡談到:「不僅要做自己喜歡的事,而且是令人佩服的事,是那種做完可以說“哇,太酷了”的工作」。但不要誤會我的意思,你得先發自內心覺得很酷,進而把事情做好,才會受人尊敬,而不是為了受人尊敬,去尋找那些看起來能夠獲得聲望的工作。

每個人都是自己人生的駕駛,由自己決定開往的目的地。找到內心想前往的方向,才能夠享受旅途的美景,注意到各種有趣的機會,如果只是為了找到寶藏而前進,不斷患得患失是一件很可惜的事情。旅途中,你需要找到加油站,才能讓你的車子充滿動力,開往下一個里程碑,加油站就是你的成就感。

成就感就像油料一樣

沒有成就感的努力不會持久。為什麼大多數人沒辦法持之以恆的健身?但少數人可以練就一身好身材?因為大多數人持續了兩三個禮拜,沒看到效果,很容易就倦怠,不知不覺就放棄了。但少數人卻能夠撐過那段看不見陽光的日子。

我不願意把這件事情簡單的歸因於毅力,把那些放棄的人歸因於不夠努力。那些成功跨過無成就感之谷的人,可能是因為厲害的朋友邀約他們一起去運動,因此比較不會偷懶。前輩現身教學,幫助他們克服動作、姿勢的問題,變得比其他人更容易感受到自己的進步,遇到問題也能夠立刻修正。經過一兩個月之後,他們的身形漸漸有了改變,旁人開始稱讚,他們也掌握了常見的動作和肌肉的出力方式,他們對自己更有自信,也更願意繼續練習下去。

要失去成就感實在是太容易了,你只需要在達到自己的目標前,不斷遇到挫折就行了。例如不斷地看書,卻做不出有用的東西。不斷嘗試各種作法,但卻不知道這些作法有沒有效。把努力的對象放錯重點,鑽研一旁的小問題,你想解決的目標卻沒有太大的進展。自己一直撞牆,卻因為害羞不願意請教別人。久久看不見成果,缺乏他人的稱讚等。想要脫離這樣的循環,統統反過來做就好了。

不需要在一開始就想要把所有事情都全部搞懂。你需要經過一段時間,才會了解一個知識領域中最重要的20%是什麼,其他80%自然而然會漸漸清晰,因此不要死命的硬啃,盡可能讓你學習的過程充滿樂趣,享受旅途的風景。多多動手練習而不是看書,書只是參考資料,偶爾停下來看一下確認方向就好。最重要的是,盡快產出一些東西,你才有辦法獲得成就感,並且快速的修正。

找方向,找方法

搞清楚自己要什麼,找到正確的方向,試著釐清自己內心的聲音,哪部份的動機是基於其他人的期望,哪部份是基於自己的幻想,哪部份的動機才是最底層、最核心,最能夠打動自己的部份?用正確的方法努力,對成果有正確的期待,盡快累積成就感。不用急著擔心錢的問題,想想你那些揹著學貸的朋友還是咬著牙撐過來了。把目光從台灣的產業移開,從世界的需求思考自己的定位。把Ptt的tech_job版關掉,脫離負面悲觀的迴圈,從更高的層次去思考,找方向,找方法,才能夠看到更多可能性。

← Concurrency系列(五): Sequential Consistency的代價 [公告] 部落格名稱從Enginec改為Opass →
 
comments powered by Disqus