轉職工程師,我要從哪邊開始?軟體、硬體?有這麼多程式語言該選擇哪個?我要怎麼轉?

閱讀時間約 12 分鐘

我要從哪邊開始

  1. 相信會進來看這篇文章的你或許是好奇,也或許是想要轉職但不知道該從何處開始的人,總之要是有興趣的話就再往下看,我會依照我的經驗作分享。
  2. 通常轉職工程師的人大部分是沒有相關背景的人,也就是你並非本科系,或是大學時可能修過資訊相關的課程但早忘光了,這邊我會以完全沒有相關背景的人做參考,因為我當初就是完全沒有相關背景的人,最後也轉職成功了,不過辛苦和淚水也沒少過,不過我覺得是值得的。這邊先講結論,一般完全沒有任何背景+非本科系的人建議轉職前後端工程師或是UI、UX也可以,不過UI、UX在台灣的話一般都是被歸類在前端工程師的領域。
  3. 假如完全是非本科系的人不建議直接轉最近很紅的AI、大數據、資料科學家、資安工程師,下面會提到為什麼

轉職工程師來說有分為硬體和軟體

  • 硬體工程師
  1. 所謂的硬體就是你平常在用的電腦、手機、網路都算是這些範疇,硬體工程師大概分兩種,第一種是PC工程師,就是維護PC的,簡單來說就是電腦壞了要你修,比如像是主機開不了、顯示卡出問題、記憶體出問題等等都算是PC工程師。第二種就是所謂的網管工程師,網管簡單說就是管理公司網路、伺服器的資訊人員,像是防火牆架設、網路IP架設、機房管理、防毒軟體、LAN、Switch、Router路由器等等主要是網路方面的硬體人員,因此網管工程師和PC的工程師差在網管比較是偏網路那一塊。
  2. 而兩者大概的區別就如同上面所述,先說明我並沒有要表達哪個比較高級,我是就外面的職場環境加上我個人觀察到的下去做分析,每一個工程師我都覺得很厲害,術業有專攻。只是一般來說PC工程師的發展性可能比較不高,因為PC工程師主要就是電腦壞了就去修,而網管工程師要了解網路的設定,IP、Router、防火牆、虛擬機等等,網管和PC工程師都算是硬體類的,但通常網管工程師如同上面說的,專業含量上會比單純的PC工程師還要高,因此薪資方面、發展性都會比PC工程師高。
  3. 那這樣的話是不是表示要轉職硬體工程師要選擇網管呢?其實也不是,因為我有看過有的人就是喜歡去修電腦,他覺得發展性不高也沒關係,他就是很喜歡修電腦,要他去學網路那一塊就是不要。主要還是要看個人,你要轉職硬體工程師,可以先去104打網管工程師 搜尋,可以先看看104官網上列的技能你有沒有興趣,或者是可以上Google搜尋相關資訊,最簡單的作法可以上Youtube看看網管相關教學先評估自己是否有興趣,要是你不排斥,或許可以試試。
  • 軟體工程師
  1. 這邊的篇幅會稍微長一點點,主要是因為自己本身就是軟體工程師這個領域,嚴格一點說的話是後端工程師。所謂的軟體簡單來說就是你摸不到、碰不到實體的基本上都可以說是軟體,比如Line、Facebook、Twitter、Youtube、各大瀏覽器比如Google、Firefox等等,這些都是你碰不到實體但是每天都在使用的軟體。
  2. 軟體工程師其實有非常多種,這邊只是做粗略分類,還有很多列不完,這邊就列幾個作舉例:
  • (1)前端工程師(包含UI、UX)

前端就是負責使用者看的到的部份,比如你今天打開網頁或是打開Youtube,只要你肉眼可見的範疇都可以算是前端,像是你滑鼠移過去會有動態效果,或是你發現方格子這個平台的按鈕是紅色的,這也是前端,總之肉眼可見的部分都是前端工程師要做的工作。而前端工程師所需具備的技能大概會是JavaScript、HTML、CSS、Bootstrap、前端三大框架(包含Vue、React、Angular),最重要的大概就是前端框架了,前端框架水滿深的,要討論起來滿複雜的,這邊就暫不討論了。

而台灣的前端工程師其實還要負責UI、UX的部分,因為台灣會把這兩個算在內,畢竟以老闆的角度來說還要花錢請專門寫UI、UX的人會太貴,UI就是使用者介面、UX就是使用者體驗,兩者的差別簡單來說UI就是負責畫面設計的部分,比如畫面中要有按鈕或是超連結等等,而UX要負責把按鈕放到對的位置,讓使用者用按鈕的時候感覺舒服流暢,UX主要是著重在使用者的感受。這只是舉其中一個例子而已,就我所知的是這樣子,當然兩者都有其專業性,畢竟讓使用者看畫面能夠賞心悅目以及點選按鈕能夠舒服流暢也是非常重要的,而且網頁是代表公司的門面,因此也很重要。

  • (2)後端工程師

既然前端是負責使用者看的到的部份,那後端反推就是使用者看不到的部分。沒錯,真的就是這樣,但什麼叫做看不到的部分呢?以方格子這個平台來舉例,假如你正在看這篇文章,你會發現下面會有一個叫做贊助支持創作者,成為他繼續創作的動力這個標語,你按下去後會有不同的價錢可以選擇,比如你今天選擇300元,當你按下去付完錢後你看的到錢已經進入我的帳戶了嗎?除非你有上帝視角,或是通靈能力,不然你是看不到的,沒錯,重點在於你看不到的部分,這就是後端,前面講的錢的部分其實就是牽扯到後端的金流。

另一個例子更生活化,假如你有訂閱迪士尼、Netflix、Youtube premium都算,你只要訂閱後付完錢就可以使用相關的服務了,這些通通都是後端,因為你看不到金錢流到公司的帳戶,可能有人會說,沒有啊,我看的到要我付錢的選項啊,比如我看的到要我訂閱一年、半年、一季等等,但你只是看的到要你付錢的選項而已,那只是畫面的部分,因為你看不到金錢的流向,這些金錢流向涉及到所謂的API、資料庫等等後端的技術。

所以後端工程師和前端工程師差別在有沒有處理畫面這塊(謎之音:台灣的前後工程師通常都會變成全端),後端工程師主要是處理後端邏輯和資料庫、API這塊,使用的程式語言有滿多的,比如Java、C#、PHP、Go等等,資料庫的也是有很多種的資料庫,比如SQL Server、Oracle、MySQL等等。後端框架是依照你使用的程式語言不同而有不同的框架,比如Java通常就是Spring框架、C#就是.NET Framework(現在微軟是叫做.NET框架,整合了.NET Framework和.NET Core)。

前面講的部分可能有人看了後還是沒有很懂也沒關係,先有個概念就好,只要記得前端就是你肉眼所見,後端就是肉眼看不到的。而我就是屬於後端這塊,我算是後端工程師(謎之音:雖然我現在有在使用前端框架Vue,但嚴格上來說我還是後端工程師),主要是使用C#程式語言做開發。

  • (3)測試工程師

測試工程師也很重要,但因為我身邊沒有認識的人在做這塊,所以這塊我比較不熟。而測試工程師在幹嘛呢,就我知道的部分來說大概就是當你系統或是產品開發完後就需要給測試工程師做一些程式上的bug有沒有問題,比如模擬使用者會輸入一些很奇怪的文字或數字等等,來模擬各種情況來測試系統有沒有bug。而為什麼測試工程師很重要呢,因為你產品或系統開完後怎麼知道完全沒問題呢,你要是都沒有完整的測試就上線給使用者使用的話心臟要很大顆,因此測試工程師也會有自己的測試相關工具去測試系統。

  • (4)AI、大數據、資料科學家、資安工程師、韌體工程師、物聯網等等

這部分在第一段有提到為什麼轉職不要選這個呢?因為這部分的工程師都是適合給本科系的人做的,就算有非本科系的人做,我相信有超強的大大本身是非本科系但是在這個區塊,但那和前後端比起來還是算少數的。那有人會問說為什麼這個區塊的工程師通常是給本科系的人做呢,因為這個區塊的工程師比如說像是AI工程師好了,AI工程師需要懂得演算法和資料結構、機器學習、深度學習、神經網絡,並且可能需要時常閱讀相關論文,當然還有很多的專業知識需要懂,但對於非本科系的人來說是非常困難的,除非你真的很有天分並且也很努力。

而我上面提到的AI課程要是有興趣的話也可以自行上網Google一下,要是你看得下去的話那恭喜你,你是天選之人,可能有機會轉到這領域,但也只是有機會而已,因為一般外面的AI相關工程師可能幾乎都是從大學到研究所總共約6年的時間都在學習AI課程,而你是半路出家的話想直接進來就必須跟外面的這些人競爭。而其他像是資安工程師、韌體工程師等等也是一樣的情況,基本上都是給本科系的人做的。這區塊的人才大多都需要有資工相關課程的硬底子的基礎,否則實在很難讓非本科系的人從零開始入門

程式語言要選哪個以及該怎麼轉職工程師

  1. 對於完全的新手來說的確會這樣問,就像是覺得說我要學英文、日文還是德文呢。其實程式語言要選哪個這樣問會有點怪怪的,因為要是沒有界定要做哪種工程師前並不會知道要選哪個程式語言,原因是每種工程師都有相對應的程式語言做選擇,比如後端工程師通常就是C#、Java等等。這邊我直接以前後端來說明,因為這兩個我最熟,那為什麼要以這兩個做說明呢,因為前後端工程師是轉職最容易的領域(最容易是指相對於其他工程師而言,不代表前後端工程師要學的技術很簡單),這是對於非本科系的人來說,所謂的非本科系這邊再說明一次指的就是你並非資工系或資管系,不好意思這邊我還是把資管系納入,我知道資管系和資工系不同,但資管系還是有碰到程式,而我想把碰到程式這個條件盡量排除,我想讓真的完完全全沒有碰到過一丁點程式的人納入非本科系的範圍,因此你要是日文系、英文系(我是公共行政學系)也是很有機會轉職成功的,不要小看自己。
  2. 前後端工程師其實前面也有提到過了,前端工程師主要用的的程式語言是JavaScript、jQuery、還有前端三大框架(Vue、React、Angular),框架你可以當作是好用的工具,可以幫助你把程式寫得更簡單的工具,先知道這樣就好了。而CSS是風格頁面語言,HTML是標記語言,那為什麼我要把這兩個和程式語言切開呢,因為這兩個並不算是嚴格的程式語言,卻是網頁不可或區非常重要的一種網頁技術。因此如果你想要轉職前端工程師,至少你HTML、CSS、JavaScript是一定要會的,否則就走不下去了,因此你要是有興趣的話可以去YouTube先打關鍵字HTML、CSS、JavaScript,先看看你對於這些有沒有興趣,要是有興趣的話再考慮轉職這條路。
  3. 後端工程師也是前面也提過了,後端工程師有很多種,我這邊以ASP.NET做介紹,因為我本身就是ASP.NET後端工程師,ASP.NET是一種網頁技術,而ASP.NET通常都是搭配C#程式語言來寫的,因此C#就是後端工程師必備技能了。並且後端工程師也還有資料庫需要學習,資料庫的語言叫做T-SQL,簡單講就是可以拿來對資料庫進行相關操作。後端工程師還有很多技術可以說明,但這邊先以簡單的例子做基本介紹就好了,因為這篇文章是給初學者看的。
  4. 不管是前端還是後端工程師,可以先上網爬文或是看YouTube影片的免費教學先進行學習,要是能看得下去就再考慮是否可以轉職,因為要是連看都看不下去,第一關都破不了的話後面就不用玩了。能夠看下去的人再考慮轉職,而轉職要怎麼轉呢?我當初是去恆逸上課(先聲明並非幫他們打廣告,而是我當初真的就是去這邊上課的所以才講),不知道恆逸的人有聽過資策會吧,要是不知道資策會的那應該知道職訓局吧,簡單來說就是教非本科系的人從不會寫程式到會寫程式的教育機構,其實現在也有很多類似的機構,比如六角學院或是五倍紅寶石等等。他們就是培訓非本科系的人學程式並且在最後上完課前大概一個多月左右會開始做專題作品,這些專題作品是讓你拿去外面公司面是用的,因為外面公司要面試你的方式就是用專題作品來面試你,不然你沒辦法證明你懂這些技術。當然也是有人是靠自學後自己做一個專題作品拿去面試的強者,不過我不是,因此當初才會報名課程希望有人能帶領我進入這個世界。

總結

  1. 今天你要是選擇轉職這條路就必須要堅持下去,轉職這條路上是很辛苦的沒錯,因為我就是過來人,但這條路選了就要繼續堅持下去千萬不要放棄,否則不如一開始就不選這條路,選了也是浪費錢。
  2. 當工程師必須要記得,你去上的課程只是帶領你進入這個領域而已,並不是說你之後都可以不用學習了,大錯特錯,工程師是要一直持續精進的行業,並且必須要有自學+自行Google的能力(現在有GPT更方便),當然對於非本科系的新手來說是相當困難的沒錯,不過這也是必經之路,因為工程師就是要有這些技能,所以要轉職前必須要有這些觀念才行,如果你能接受這些的話那恭喜你,你跨過第一關了,那你就具備了工程師的條件了,大家一起加油(感謝看到這裡的你,寫得真的太長了,怕大家不想看)。





6會員
4內容數
半路出家的後端工程師(現在身分是後端工程師/blog作家),會叫夏普先生是因為我常用C#(#念作sharp)做開發,這邊會不定期分享轉職的心得、技術文章等等,希望能和大家多多交流交流
留言0
查看全部
發表第一個留言支持創作者!