Roadmap to becoming a web developer in 2018. Source: github.com/kamranahmedse/developer-roadmap |
前幾天在 Front-End Developers Taiwan版有一篇文章: 大家都有熱情研究新技術嗎? 探討詢問軟體工程師們是否都對新技術有熱情去學習, 吸引了很多工程師參與討論。
軟體工程師算是比較特殊的行業,相對其他領域變化更加劇烈,之前我有一篇文章探討軟體工程師需要持續精進自我技能 “軟體工程師無法逃避的宿命:持續學習、大量練習”。如果一個人沒有熱情,要在工作中,或是下班後持續學習新事物會很容易burn out。既然學習、進步是大家對這軟體工程師的必備期望,那我們應該要想辦法培養我們的熱情,用技術做有興趣的 side projects,換個自己喜歡的公司或工作等等。在上篇文章之後,Pochen Lin 的針對這個主題寫了一篇軟體工程師對新技術、自我進修、熱情培養寫了一篇好文章。以下是經過他同意轉錄的文章。
題外話一下,我是藉由 Dosudo 讀書肚 (矽谷工程師讀書會) 其中一次的分享會認識來分享的Pochen Lin,讀書肚是部落格台灣工程師的矽谷故事作者(同時也是『砍掉重練:30歲開始也不遲的工作術 』的作者) Winston Chen 和台灣工程師 Ko-Chih Wu 共同創辦的讀書會。如果你也在矽谷,可以來參加活動認識身懷絕藝的華人工程師。
你可以沒有熱情,但不應該自我設限 - by Pochen Lin
自我進修是對於自身專業的尊重,這可以套用到所有行業,只是前端技術迭代的輪替非常快所以特別有感,當技能樹越廣越深, 待遇與職稱也會呈正相關向上
學習新技術的好處,具體來說我覺得有以下幾點
- 人腦的知識是由神經元網路連結而成, 越多的連結會深化你對於這門知識的掌握程度,學習曲線到後期是越來越簡單,你會發現自己學新東西越來越快,處理問題上也能用更全面的角度去思考,提出更高效簡潔的解法
- 優化你的工作流程,我不曉得有多少人喜歡做重複浪費時間的事,至少我非常討厭,能自動化的東西就不會想手動,我不相信人類在做重複性質高的工作上會勝過電腦的效率與正確性,新技術很多時候其實是在優化你的工作流程,讓你能事半功倍 (換言之, 如果導入新技術是在拖慢你速度的話, 那不用也罷)
- 跟上業界潮流,這個就比較偏現實考量,當職缺開出來與自己的技能樹不相符,你機會就硬生生少人一截,身為碼農雇員技術力就是你的籌碼,籌碼少的時候談甚麼都顯得彆扭,程序員職涯最怕就是掉入死亡螺旋,想離職但沒人要,留在一間技術債太多的公司追著解不完的bug也提升不了自身實力,惡性循環的結局就是等到公司營運不佳被Layoff而面臨中年失業危機
簡言之,學習新技術的目的是在於:
- 深化對專業的掌握度
- 優化自身的工作效能
- 提升在職場上的籌碼
如果你是認真看待這份工作,想靠這份工作吃一輩子的飯,你都不應該停止學習,It’s part of the job.
新技術那麼多,怎麼追都追不完,哪來那麼多時間學?新技術有如過江之鯽,尤其前端,常常會讓人有種怎麼追也追不完的感覺,怎麼在這一波又一波的技術浪潮站在風尖浪口, 我自己會簡單的過濾一下:
- 這個技術解決了甚麼痛點?
- 跟同類型技術相比,有甚麼優缺點?
- 能解決我目前會碰到的問題嗎?還是帶來更多技術債?
通常這樣的過濾花不到你十分鐘,看個Demo、幾行程式碼、Benchmark,大概就可以略知一二了,要用沒有時間做為藉口實在說不過去
時間就像乳溝, 擠一擠總是有的如果新技術正巧可以解決你現有的痛點,太棒了,一定要玩一下看怎麼整合到現有工作流程
如果新技術聽起來很炫砲但並不是直接能用上,那連結先存起來,有時間再來研究看看(通常會回頭看是當這技術變成Buzzword一直聽到,或是碰到難題突然想起來好像有這樣的解法)
如果技術聽起來就是個雷,果斷放棄吧,人生應該浪費在更美好的事物上
技術又有分
- Design Pattern / Coding Style:這種比較抽象高大上,不是很好理解但是念通了對自己程式設計功力會大幅提升
- 公用函式庫 / 框架:實戰的時候可以省掉很多手工,無聊可以看看原碼看人家怎麼實作的,萬一哪天想勤快一點自幹也知道該從何下手
- 流程自動化 / 優化:Webpack、Git、Unit testing、CI 這些都算,看團隊看個人看需求,當用則用,最高原則是你是用這些來幫你省事而不是自添麻煩的
三者來說以第一種知識最為受用,因為內化成心法不管在哪都用得上;後兩者則是對你工作效能表現上會有助益,一個是內功一個是外功,兩者都應該與時並進不該偏廢一方
學以致用,做中學方能找到熱情學技術是用來解決現實問題的,拿著牛刀沒牛好殺是件很無趣的事,如果你沒牛好殺,該思考的是是不是現在的工作環境限制住了你的發展,小心我前面提過的死亡螺旋!
熱情來自於設定目標達成之後大腦釋放多巴胺的正向循環,如果對學習沒有熱情,很可能是對於目標設定上的迷惘:
我學這個到底可以幹嘛?
這才是導致沒有學習動機的真正原因,你的大腦需要獎勵機制,你得先有一個痛點,通過學習而克服獲得獎勵,你才會食髓知味產生熱情
然而萬事起頭難,並不是誰一開始都知道有什麼問題好解,我在文章開頭說 “你可以沒有熱情,但不應該自我設限” 其實另一層意思是,你應該試著去培養對這份專業的熱情
不管是說提升自己工作效率,找題目解,甚至是換份新工作(通常會伴隨大量學習機會)這些都可以是動機,火車起步雖慢,但一旦跑起來後要停下來也很難
但如果火車真的啟動不了,恩~人生很長,每天做著沒有熱情的工作真的有意義嗎?
糊口飯吃不需要熱情,但有熱情在這條路上肯定能走得比較快樂也比較遠
又或許不是非得當碼農不可,換個跑道搞不好能見到另一片風光啊
願每個人都能在自己的領域找到屬於自己的熱情
你是如何培養及維持對新技術持續學習的熱情呢?歡迎留言討論!
歡迎關注我的粉絲專頁,了解更多矽谷經驗、矽谷人物專訪、及各式矽谷新奇事務。
https://www.facebook.com/PivotSoftwareEngineer/
軟體業真的很需要大量熱情去維持和進步,這是有趣的地方,不會覺得是做一成不變的工作,但也需要大量時間,尤其在有家庭和小孩後,看到單身的同事很熱血的玩新東西,總是流口水,就覺得自己時間怎麼都不夠,當然自己時間管理也不夠好沒辦法有效利用,就會想應該怎樣更有效率在家庭、工作、學習之間平衡,也跪求分享你的方法,一起加油
回覆刪除有家庭後真的很難像單身時一樣熱血的專注投入,也真的是只能找到一個平衡,畢竟每個人的時間都是有限的,而家庭也是需要好好經營的。可以看看我在下一篇介紹的 Deep work 這本書。 :)
刪除