你如何看待你的技術成長?你在公司一兩年,但總覺得越到後期成長幅度低到不行?或是都認為工作內容都在做重複性的事物?你最後一次很快樂地寫程式是什麼時候?如果上面的問句有讓你產生漣漪,就必須小心自己的程式能量正在逐步萎縮中,為什麼會這樣呢?就讓我一一道來。
當你開始第一份工作,任何事情都讓你覺得十分新鮮,以我來說來了,當時我開始在幫企業設計網頁時,就覺得「哇,我在幫公司設計他的形象網頁耶,這東西是會上線的,不是自己練習的,好有成就感~」、「公司有好多 Code 可以參考哦,看完我一定可以變得超強!」、「工作要用到的程式還不是很熟悉,趁這機會補起來」。前幾次你會覺得很新鮮又超有成就感,但是如果是超過十次、五十次?甚至一年兩年,你真的還會覺得有趣嗎?
答案自然是否定的,所以工作到最後當然會乏味,原因是每間公司都會有自己的生存法則,當你前一年已經習慣他們的 SOP 後,到後面就會覺得無趣,且技能也培養到能夠應付公司業務的程度。假使靠這套流程就能養起一整間公司,它們自然不會想要更動,除非有重大改版會影響到營收,才會認真思考改進。如果剛進社會的前端沒意識到這點,就很容易在一間公司待了兩三年,但還是會覺得自己沒什麼成長,就算要找工作,也會覺得沒什麼可以拿來當做籌碼的能力而退卻。
究竟什麼是「達人」呢?要怎麼樣才可稱自己具有「匠人」等級?所謂的專家就是在各種細節上都會有病態般地自我要求,而前端開發更是如此。
你認為前端開發是什麼呢?新增個 HTML 裡面寫一寫用瀏覽器打開就會出現,就以為是自己是前端嗎?那麼以下數點你掌握幾點?
每一個層面都值得花上大半年的時間去投入,如果公司沒有提供這個養分,為了讓自己成為專業的前端工程師,和前端有關係的細節你當然都需要深入去瞭解。
承上所提,也不是要你像無頭蒼蠅一樣學東學西,如果你希望自己學得更有成就感,最容易的方式就是尋求更有挑戰性的工作。所以我都會貼 Toptal 上面的前端人才履歷給新手前端參考,Toptal 其中的優點是在每個前端人才裡面都會寫到自己的工作經驗,以及在每間公司上負責的工作項目,也可因此拓展自己的前端視野,不會以為自己待得公司就是全世界,這樣就太過井底之蛙了。
如果國外的職缺很遙遠,其實你也可以在 FB 前端社群或 104 尋找資深前端工程師的職缺,思考一下自己還欠缺什麼,再來去評估自己要花上幾年才能配得上這份職缺,那它就會是一份很棒的目標。
我都會建議朋友可以多做一些 Side Project,什麼是 Side Project 呢?就是工作之外,你自己也去搞一些東西來實作。譬如來說公司本身已經有一套很成熟的開發流程,直到有一天你發現目前有幾項新技術能加速工作流程,但因為自己還不熟悉,所以自己找了些專案來實作,等自己玩得比較熟以後,覺得這流程可行再推薦公司使用。
那有沒有一些 Side Project 的方向呢?這裡也條列一些讓你參考,也是我幫自己挖坑的項目:
最後我也來分享自己學習技術的方向,當我想學一個新技術時我會先自己研究個大概輪廓,然後主動和上面的人說:「我會 XX 技術了,它可以幫業務帶來一些不同的方向,可以去推推看」,可能是吸引力法則吧,就真的會有幾個專案跑進來讓我實際應用技術在專案上。能幫公司賺錢,技術也可以跟著升級,實在一舉兩得。所以如果發覺公司沒辦法給你成長時,另外個方向就是你自己推坑新技術給大家,至於要如何在公司推坑新技術又是另外一個坑了,有機會我會再到下篇來分享。