前言
這次想分享我到底怎麼從零轉職網頁全端工程師的,轉職之前是什麼背景、具備什麼基礎、是什麼原因讓我想要轉職、如何真的轉職成功、轉職成功後遇到什麼困難、如何克服這些困難、而最後又為什摩要回到馬達的領域裡面。
轉職前的背景
在成大研究所時期主要研究馬達設計,使用的工具是Ansys Maxwell (那時候叫做Ansoft)以及JMAG,而老師給的題目是沒人做過的,沒有學長姐可以問,老師給予的輔助也比較少,需要自己看書找人問。
但也是因為這樣,自己摸索的過程當中對於電磁原理、轉動機械產生了很高的興趣,受當時給我建議的何博、明賢哥很大的影響,做任何設計之前,需要先了解基礎的物理公式,先用計算的方式得出設計,再來設計細節。
為什麼要轉職
研究所畢業後順利的進入台達做研替,產品是目前最火紅的電動車的馬達,但進入業界之後,發現電磁分析的設計,到最後實際成品,其實有一段非常大的差距,單純模擬是很難獨自開發產品的,而且做產品跟做研究是非常不一樣的,做產品的成本非常高,需要的是不斷的優化,因此常常在修改參數、跑模擬、然後再修改參數、再跑模擬。
在優化模擬的過程中,如果每一次只修改一點尺寸就需要重新畫一張CAD,這過程中常常會做許多的重複動作,因此我開始思考有什麼比較簡化的方式,一開始是使用Ansys裡面所提供的尺寸參數化,但隨著我想做的自動化功能越來越多,像是自動判斷結果數值並作出反應,就需要一些程式來輔助。
其實ANSYS本身就有提供python控制的方式,但是當時沒什麼資訊,我只會寫一點點的matlab,用python根本就是天方夜譚,但那時候就產生一個想法,如果我會寫程式的話有多好,我就可以用程式來控制這些優化過程,按一個鍵去跑,我就可以去看NBA了(誤)。
再來是考慮到研替以後的職涯,當時看了一本書 “三年後,你的工作還在嗎?”,這本書的作者後來成立了“大人學”。我開始思考依當時的狀況,自己算是最小戰鬥單位: 行腳商人、總管、工匠的哪一個? 工程師看起來是工匠,但對於馬達這個產品的工匠來說,我會的模擬分析,應該只能算是10%的工匠。
那有沒有什麼技能是可以成為獨自就能創造產品的工匠呢? 當時找到的答案就是學習成為網頁全端工程師。
如何轉職
找課程
大概是研替結束的前半年,開始想要成為網頁全端工程師後,就開始檢視自己會什麼,要找什麼課程來補強。我只會寫一些基本的matlab code,這對於寫網頁是否有用? 答案是沒有。我連html是什麼鬼都不知道,所以要找的課程就是要完全新手的課程,google了網頁全端的課程,當時剛好Alphacamp第一次辦線上課程,也搞不清楚Ruby on Rails是什麼就報名了。
學習網頁開發的過程
Alphacamp當時做的最好的一件事就是有幫我們分組,一起討論專案的感覺真的很不錯,互相激勵學習也會督促自己別偷懶,而且我們這組四個雖然沒有上Demo day,但是全部都有轉職成功,現在也在軟體業裡面工作。
另外一個從Alphacamp學到的方式就是記錄自己的學習,這我一直非常受用至今,不過當時的單純紀錄課程學習是不太夠的,應該要記錄解決問題的過程。
寫到這裡,想探討一下花錢上Alphacamp的課到底有沒有幫助呢?
說實在除了在基本的網頁、程式知識、紀錄習慣與分組討論很不錯之外,後面工作上的幫助是非常的少。他們已經做得很不錯了,這其實是我自己學習心態的問題,我覺得沒幫助是因為當時並沒有想用程式解決的問題,只是單純想要找到網頁全端的工作,所以可能會一直去看104上的求職條件,找面試會問的問題,把面試問題的解法背下來,想說這樣就可以找得到工作。
當時的我也沒有對程式有興趣,當然不會去深入瞭解每行code,都是在抄課程的範例,作業的部分當然會自己做,但就不會更深入想去多瞭解。所以一直到做完期中專案,對於整個rails的架構其實還是一知半解。唯一比較有學到東西的一次,是因為做期中專案的時候有發現排序上的問題,花了九牛二虎之力才發現是ruby跟rails所給的function有排序上的差異所造成。
轉職成功
既然當時的程度這麼爛,到底怎麼找到工作的呢? 禱告,就真的是靠著一直禱告,運氣很好的在面試第五間的時候,到了一間港商金融公司,被問到一個關鍵問題 “有沒有在學習的過程中遇到問題,如何解決”,我把上面發現排序問題的過程講了出來,表現出了一個 “邏輯清晰,具備解決問題的能力” 的有潛力的人的形象(這我後來有跟主管印證),前四間在還沒被問到這個問題的時候就因為被發現寫code能力太差而失敗。
回顧與檢討
現在來看,比較好的方式應該是,邊上課邊從當時的工作上直接尋找能用網頁來解決的問題,當成工作一的部分,再透過解決問題來學習,並且記錄下解決問題的過程,之後再透過複習這些解決過的問題再來問延伸問題,再想辦法解決並記錄下來,這才是比較好的學習方式。
這樣有幾個好處
- 當成工作,比較不會覺得是額外花時間學新東西,如果是額外花時間,常常會覺得想偷懶,當成工作的話比較會有責任感來完成。
- 真正學到的東西都是從解決問題後累積起來的,透過程式解決問題的過程必定會對程式有更多了解。
- 透過複習解決過的問題,去延伸其他問題有非常多的好處。
- 培養問問題的能力: 為什麼這樣可以成功,如果換成其他方式可不可以成功…等,這個能力在後續工作非常非常的重要。
- 加深這個問題的印象:當反覆思考之後,問題的解決方式就變成你的自然反應,忘也忘不了。
- 同一款問題其實有很多個面向:其實可以透過這樣的方式把問題整個深思熟慮過,思考的層級會比第一次解決的時候還要高。
下期預告
找到工作後就一帆風順了嗎? 當然不是,真正痛苦的才剛開始,就留著下篇文章再來分享吧,敬請期待~!