你可以沒有熱情,但不應該自我設限

大家都有熱情研究新技術嗎?
做軟體這一行,如果有熱情的話好像都過得很快樂。

原文發表在Front-End developer Taiwan臉書社團 ,為了回應團友Tai-Shun Huang的提問,結果反應還不錯,所以決定排版潤稿補完缺漏後重新發佈在個人medium


自我進修是對於自身專業的尊重,這可以套用到所有行業,只是前端技術迭代的輪替非常快所以特別有感,當技能樹越廣越深, 待遇與職稱也會呈正相關向上

學習新技術的好處,具體來說我覺得有以下幾點

  • 人腦的知識是由神經元網路連結而成, 越多的連結會深化你對於這門知識的掌握程度,學習曲線到後期是越來越簡單,你會發現自己學新東西越來越快,處理問題上也能用更全面的角度去思考,提出更高效簡潔的解法
  • 優化你的工作流程,我不曉得有多少人喜歡做重複浪費時間的事,至少我非常討厭,能自動化的東西就不會想手動,我不相信人類在做重複性質高的工作上會勝過電腦的效率與正確性,新技術很多時候其實是在優化你的工作流程,讓你能事半功倍 (換言之, 如果導入新技術是在拖慢你速度的話, 那不用也罷)
  • 跟上業界潮流,這個就比較偏現實考量,當職缺開出來與自己的技能樹不相符,你機會就硬生生少人一截,身為碼農雇員技術力就是你的籌碼,籌碼少的時候談甚麼都顯得彆扭,程序員職涯最怕就是掉入死亡螺旋,想離職但沒人要,留在一間技術債太多的公司追著解不完的bug也提升不了自身實力,惡性循環的結局就是等到公司營運不佳被Layoff而面臨中年失業危機

簡言之,學習新技術的目的是在於:

  • 深化對專業的掌握度
  • 優化自身的工作效能
  • 提升在職場上的籌碼

如果你是認真看待這份工作,想靠這份工作吃一輩子的飯,你都不應該停止學習,It’s part of the job.

新技術那麼多,怎麼追都追不完,哪來那麼多時間學?

新技術有如過江之鯽,尤其前端,常常會讓人有種怎麼追也追不完的感覺,怎麼在這一波又一波的技術浪潮站在風尖浪口, 我自己會簡單的過濾一下:

  • 這個技術解決了甚麼痛點?
  • 跟同類型技術相比,有甚麼優缺點?
  • 能解決我目前會碰到的問題嗎?還是帶來更多技術債?

通常這樣的過濾花不到你十分鐘,看個Demo、幾行程式碼、Benchmark,大概就可以略知一二了,要用沒有時間做為藉口實在說不過去

時間就像乳溝, 擠一擠總是有的

如果新技術正巧可以解決你現有的痛點,太棒了,一定要玩一下看怎麼整合到現有工作流程

如果新技術聽起來很炫砲但並不是直接能用上,那連結先存起來,有時間再來研究看看(通常會回頭看是當這技術變成Buzzword一直聽到,或是碰到難題突然想起來好像有這樣的解法)

如果技術聽起來就是個雷,果斷放棄吧,人生應該浪費在更美好的事物上

技術又有分

  • Design Pattern / Coding Style:這種比較抽象高大上,不是很好理解但是念通了對自己程式設計功力會大幅提升
  • 公用函式庫 / 框架:實戰的時候可以省掉很多手工,無聊可以看看原碼看人家怎麼實作的,萬一哪天想勤快一點自幹也知道該從何下手
  • 流程自動化 / 優化:Webpack、Git、Unit testing、CI 這些都算,看團隊看個人看需求,當用則用,最高原則是你是用這些來幫你省事而不是自添麻煩的

三者來說以第一種知識最為受用,因為內化成心法不管在哪都用得上;後兩者則是對你工作效能表現上會有助益,一個是內功一個是外功,兩者都應該與時並進不該偏廢一方


學以致用,做中學方能找到熱情

學技術是用來解決現實問題的,拿著牛刀沒牛好殺是件很無趣的事,如果你沒牛好殺,該思考的是是不是現在的工作環境限制住了你的發展,小心我前面提過的死亡螺旋!

熱情來自於設定目標達成之後大腦釋放多巴胺的正向循環,如果對學習沒有熱情,很可能是對於目標設定上的迷惘:

我學這個到底可以幹嘛?

這才是導致沒有學習動機的真正原因,你的大腦需要獎勵機制,你得先有一個痛點,通過學習而克服獲得獎勵,你才會食髓知味產生熱情

然而萬事起頭難,並不是誰一開始都知道有什麼問題好解,我在文章開頭說 “你可以沒有熱情,但不應該自我設限” 其實另一層意思是,你應該試著去培養對這份專業的熱情

不管是說提升自己工作效率,找題目解,甚至是換份新工作(通常會伴隨大量學習機會)這些都可以是動機,火車起步雖慢,但一旦跑起來後要停下來也很難

但如果火車真的啟動不了,恩~人生很長,每天做著沒有熱情的工作真的有意義嗎?

聽首歌吧

糊口飯吃不需要熱情,但有熱情在這條路上肯定能走得比較快樂也比較遠

又或許不是非得當碼農不可,換個跑道搞不好能見到另一片風光啊

願每個人都能在自己的領域找到屬於自己的熱情