轉職軟體工程師,你必須經歷的三個階段
「我不是本科生,適合寫程式嗎?」這樣的討論,是每個轉職工程師的人心中,一定曾冒出來的問題。
其實像這樣非黑即白、非敵即友、非 true 即 false 的二分法命題很容易討論,也很容易討戰,特別是文人相輕,自古皆然,誰也不想自己學的專業被批得一文不值,所以只要立場不一樣很快就能戰起來。戰起來倒也不是壞事,只是到最後可能容易淪為戰文而失焦… 啊,扯遠了。
很多學生,或是在網路上很多人會敲我,問我說「現在還適合轉職工程師嗎?會不會太晚?我適合嗎?」坦白說,這些回應都應該要「個案回答」,但成為工程師這件事情上,還是有一些通則。就透過過年這段時間寫了篇文章,來跟大家分享我觀察到的通則。
從我的觀察中,無論原來的背景為何,只要通過這三個階段,就是一個「可以在求職市場上立足的工程師」。
先分享一下我的背景:我從事資訊相關行業近 20 年,為了謀生曾經寫過 ASP、Perl、PHP、Python、Flash(ActionScript)、Objective-C…等程式語言,最後落腳在 Ruby。曾辦幾大型的技術研討會,也曾在國內、外的技術研討會當過講者。自己出過兩本跟程式相關的書,有一本還賣得不錯,應該算是有資格談談這個議題(笑)。
最近寫文章很流行破題,先破個題,這三個階段分別是:
- 一、學習並熟悉至少一款程式語言。
- 二、善用開發工具解決問題,完成有用的專案。
- 三、多人協作,完成更大規模的專案。
記得當時年紀小
記得我高中時候,有一門叫「工藝課」的課,因為是普通高中,所以這種對升學沒直接幫助的課常會被移去做別的事,但我真正開始接觸電腦程式正是這個工藝課。
那是個還有大、小片軟碟機、家裡電腦有比較大容量的硬碟就可以在同學之間秋好一陣子的時代。當時學校教的是 QBASIC,但我完全不知道這到底要幹嘛,也不知道敲打那些指令有什麼用途,所以只好巴著當時班上幾位比較厲害的同學跟他們拷貝作業,改幾個字之後交差了事(那時候不要說什麼 Stack Overflow 可以抄了,連 Google 都還沒出生咧)。因此,在高中的時候,班上那些會寫程式的同學對我來說就跟神一樣的存在。講到這裡,我突然可以理解現在其它人看到我開 editor 在寫程式的感覺了。
附帶一提,那時候覺得可以用貼紙把磁碟片旁邊的孔貼起來就能防止資料寫入這件事好酷!
是說,作業交了之後,就沒再碰電腦了。運氣不錯,高中畢業後,大學勉強有個醫學院的後段班的科系可以讀。忘了什麼原因,差不多是大三還是大四開始學了 Photoshop,後來因為這項技能,被學校電算中心找去幫忙設計海報,然後就在那邊開始學著用寫學校的校務系統,就這樣誤打誤撞闖進程式設計的領域了,這也是我第一個寫有真正使用者會用的系統(就是學校的老師跟學生啦)。
回到前面提到的「我不是本科生,適合寫程式嗎?」這個題目,我寫程式近二十年來,除了自身成長之外(經驗值 & 體重),也近距離看過不少朋友從新手變成老手,我可以跟大家說,寫程式這件事情跟是不是本科生並沒有直接的關係(其實這本身就是個假命題?)
另外,從 2009 年開始從社群開始的社群分享,到後來的校園推廣、企業內訓及開班授課,這十年下來,我看到不少從完全新手或是非資工、資管科系畢業,變成現在在業界做得很好的朋友(當然也有更多失敗的例子),我有觀察這些朋友們的「成長軌跡」,分別是這三個階段:
- 一、學習並熟悉至少一款程式語言。
- 二、善用開發工具解決問題,完成有用的專案。
- 三、多人協作,完成更大規模的專案。
關於軟體工程師…
在開始討論「新手成長必要的軌跡」之前,我們先聊聊「軟體工程師」吧!所謂的軟體工程師,廣泛來說,就是在工作的時候,使用一種(多種)程式語言,撰寫電腦看得懂的指令,叫電腦幫我們工作,這樣的角色就叫軟體工程師。
很多人對工程師有很多誤解,例如:「不從小開始學程式,長大就學不會了」,或是覺得不是資訊相關科系畢業就沒辦法當軟體工程師。
工程師其實也有分領域,如果你的目標是進到 IC design house,若不是頂尖大學電機資工碩博士,我想是沒什麼機會。如果你的目標是成為大數據、人工智慧方面的專家,不具備數學、統計或演算法方面的背景知識,大概也沒什麼機會。
但如果是做出像 Dcard、活動通、Uber、honestbee…等網路服務的網站工程師,那就算不是相關科系畢業也是很有機會的。還有一些關於成為工程師的迷思,也讓我晚一點再跟大家說明!
轉職成微軟體工程師,沒有方向,要怎麼開始? 轉職必須經歷文章中提及的三個階段,你該如何進行?
✔ 一、學習並熟悉至少一款程式語言。
✔ 二、善用開發工具解決問題,完成有用的專案。
✔ 三、多人協作,完成更大規模的專案。
想瞭解轉職更多內容歡迎參考:https://ubin.io/75mLtf
【轉職資訊】 五倍紅寶石 X ASTRO 全端工程師實戰訓練營(立即點擊瞭解更多)
ASTRO 致力於帶領初學者在程式領域找到適合自己的職涯之路。透過教學與媒合,幫助學員拓展職涯眼界,在程式圈活躍發展。 對生活現況有所不滿、渴望自己有所成長嗎?五倍紅寶石擁有專業師資、完整技能培訓、跨國業界人脈,讓 ASTRO 帶你到你想要的高度!