前往
大廳
主題

非本科工程師轉職心得 + 簡易指南

專業訓練師 | 2022-07-29 00:22:08 | 巴幣 12 | 人氣 1472

乳提
開局放張油圖,希望有人會點進來

這篇主要是想幫助那些
同樣非本科但想入工程師這行的人一些方向跟建議
最後才是心得
大部分都是主觀意見,但我盡量客觀一點去敘述
這篇主要說的是網頁前後端為主
因為這應該是對非本科的來說,相對簡單的門檻
我自己學歷也沒很好,希望能給一些比我好的人多點信心

這裡不會分享太多面試心得
所以想看面試心得的就抱歉了
因為我覺得自己運氣算是很好,面試沒幾間就上了
當然更多的是無聲卡
可能是學歷不好,願意給機會的並不多
-
先簡單介紹一下個人學經歷
希望有能力認出我是誰ㄉ不要認親
私立科大,非本科,內湖那間    懂得都懂
以往都是做廚房內外場或物流之類的相關工作
等當兵時就一直想轉換跑道
花了點時間上網自學C#
後來去上課,學的是Python
程式經驗前前後後加起來快一年
目前是某新創的網頁後端工程師,年資半年
但前端的東西也要會一些
應該也算是半個全端了
目前工作上主要是用Python、JavaScript、HTML、CSS
基本上就是個Junior,所以想趁自己還記得走過哪些坑的時候
才來寫這篇文
我相信比我厲害的一定很多,所以有些地方可能會說錯或不夠精準
再請各位幫忙糾正或補充

1. 新手要學什麼語言?
這個問題可以看幾年前深海異音大大發的那篇文章(對程式開發有興趣的進來,常見的程式語言總整理)
寫的非常詳細
以個人的角度來看,我建議選C# / JAVA / Python
C# / JAVA相對好找工作,Python則是上手容易
至於Javascript,基於語言特性,我自己不喜歡
但走網頁開發一定會接觸到,所以你也沒得選就是了

2. 學寫程式,英文或邏輯/數學要很好嗎?
不用,我英文也很爛
現在不論是微軟Edge內建的翻譯或Google翻譯都很強了
除了中國用語以外,機翻感沒有以前那樣強烈
邊看原文邊看翻譯,也幾乎都能看懂
至於邏輯,是可以訓練的
所以不用太害怕
如果你英文或邏輯本來就強,學習的速度絕對更快
至於數學,當你走向底層運作或想深入了解原理才比較重要
如果只是知道如何使用就夠了的程度,倒也還好
另外就是
中文資源,其實沒想像中的多,幾乎都是爬蟲互相爬來爬去
更多時候用英文找會更快找到答案
我曾在知乎上看到有中國人說
百度一晚上,不如谷歌五分鐘
所以用英文下關鍵字還是很重要的

3. 非本科想挑戰資安、人工智慧之類的領域有搞頭嗎?
玩過看門狗系列都知道這些東西又酷又炫,是我也想學
這個問題我在學程式前也有,也曾在一些臉書社團看到有新手問
所以特別拿出來提
我相信一定有天才可以,但你我都不是天才
所以新手剛進來,請不要直接挑戰這個領域
資安、人工智慧真的沒有那麼簡單
但是當你經驗越來越豐富時,我認為是可以去嘗試的

4. 透過什麼管道學習比較好?
我會建議先上網自學,也順便看看自己有沒有天分跟興趣
有的話再去上課,或是你完全自學也OK
自學的話建議看看YT影片,我認為新手比較需要看是如何動起來(?)的
看書或看文章當然也行,但我個人覺得會比較容易失去動力
我也建議可以加入臉書社團Backend-Taiwan、Frontend Developers Taiwan
裡面很多大佬,也能在滑臉書時看到有關程式的議題
看不懂問題跟回答也沒關係,要讓自己融入那個環境最重要
以學習初期來說,實作>>>理論
資料結構、演算法、網路基礎架構等等都不是最優先該去理解的
不過你遲早都會碰到,所以不要想說前期沒碰之後也不會碰
技術債遲早要還的

另外
如果你年齡低於30,我會建議你去搜尋產業新尖兵
這是政府提供的計劃,不用錢還能領補助
課程中也會要求你產出作品,結訓後會有業媒合
算是很不錯
我自己也是這裡出來的
至於就業媒合有沒有用,就看人吧
至少我的工作是在人力銀行上找的不是媒合上的

至於其他付費平台,我就不說了
我怕被當作商廣,真的有心人再私信就好了
不要傳哈哈姆特的訊息,我通常看不到,寄站內信我才有通知

5. 面試時要準備什麼?
作品集一定要,這是非本科唯一的機會
沒有作品是沒有機會的
具體來說要做什麼,這個我就不太確定了
前端跟後端的作品應該會不太一樣,可能要請有興趣的自己搜尋一下
以我自己來說,是當初培訓時的專案
簡單的網頁、登入系統,我當時主要負責將網站上雲端跟操作資料庫
倒是沒怎麼刻出網頁,但我當時防火牆其實也不太會設定就是了==
所以我還自己抽時間用Python寫個小遊戲

如果你是團隊搞出來的專案,至少要熟悉自己有接觸的技術
面試官一定會問,遇到的困難點跟解決方法也記錄下來,這也會問
就算最後的方法很爛,也沒關係,哪個新人不是這樣爛過來的?
至於Leetcode
有空刷就刷吧,被題目刷也沒關係
就當作訓練邏輯,設個時間點,超過就看怎麼解答
至少你有思考過,看解答的同時也能練習學著看別人的程式碼
也不是每間公司面試都考leetcode
不過拿leetcode考剛入行的非本科也不太適合吧?

7. 面試時薪水該開多少?
我人在雙北地區,所以其他地區我不知道
非本科我認為至少要35K以上
如果你對自己技術很有自信或是你有優秀的學歷
甚至開到42K也完全沒有問題
一是不要給後來的人拉低薪資水準
二不就是為了加薪才轉來軟體業嗎?就別開太低了

---
下面主要都是提及新手可能會對網頁相關技術會有的問題
所以提到的前後端都是以網頁為主,而且後端會多提一些
因為網路上很多都是前端經驗分享,後端稍微少一點

1. 前端好還是後端好?
都很好,不管哪個領域都有技術成份在
只要選你有興趣、可以得到成就感的那個就OK了
這點很重要,你沒成就感沒興趣,基本上很難在軟體業走下去
我相信會進來這行的大多數人都能在工作中找到成就感
前端以HTML、CSS、JavaScript為主
後端以任一後端語言、資料庫、Linux基本操作為主
從學習曲線的角度來看,後端會稍微難一點
但也沒那麼誇張
不過現在學前端的人越來越多,競爭會比較激烈

2. 前端哪個框架好?學框架還是學語言?
前端有三個主流框架
Vue、React跟Angular
以新手來說是Vue比較友善
React跟Angular等工作上有需要或是自己想學再去學
至於學框架還是語言好?
建議最好有JavaScript的基礎再去學任一框架
至少基本的變數、if else、函式、for 迴圈等要看的懂語法
不然會很痛苦
這些框架也是基於JavaScript或TypeScript去做延伸
(沒記錯的話,TypeScript也是編譯成JavaScript讓瀏覽器去執行)
所以,還是學好語言再去學框架會比較OK

至於Jquery,他也是JavaScript的框架(函式庫?我不確定哪個稱呼比較正確)
以前很流行,現在已過氣
不建議新手學,但台灣依然有公司會用
未來公司有需要維護Jquery的專案再去學就好
他沒有不好,只是沒那麼好了

3. 常見的後端語言有哪些?有框架嗎?
  • C# - ASP.NET
  • Python - Django、Flask
  • Java - Spring
  • php - Laravel
  • JavaScript - Node.js
前面是語言,後面是該語言常用的框架
台灣應該就這些為主,不是沒有其他的
但我認為新手應該要以生態系較龐大的語言去學習,出錯了才容易找到問題
另外我今年1月有在人力銀行上查詢各後端語言的佔比
體感是C# >= Java > JavaScript >= php >> Python
如果現在查詢的結果不是這樣,我也只能說時空背景不同

4. 資料庫要學哪種?
MySQL / PostgreSQL / MS SQL
三個選一個,語法不會差太多
基本的新增修改刪除查詢要會
其他GOOGLE就好
當然資料庫還有其他種,像是MongoDB或Redis
但以新手轉職需求來說
我不認為學習的優先度要放前面,可以等有需要再去學

5. Linux要選哪個?一定要看文字介面(終端機)嗎?
建議選Ubuntu 18.04、20.04或是CentOS7
不為什麼,就很多人用,能更容易地找到答案
如果是練習,其實不一定要用終端機下指令
用圖形化介面(GUI)也可以,但你實務上幾乎都只有終端機
所以還是早點適應比較好

6. 學到哪種程度才算會?
這個問題每個人的答案應該都不一樣
我認為是,除了基本的變數、函式、流程控制、迴圈,還有物件導向概念以外
你還需要知道有哪些那個語言有哪些Method(方法) / 函式庫 / 套件
可以用最快的方式來幫助你完成工作
沒事不要自己造輪子,多估狗一下,你會輕鬆很多
語法什麼的倒是其次,上網隨便找都有
能做到這些,應該算足夠熟悉一門語言了

--
最後給正在轉職路上的人建議
並不是進來了這行業就不用學
反而要學的更多
以我自己來說,也是工作後才開始學習HTML、CSS跟JavaScript
在工作前只有懂概念跟知道他們是什麼東西而已
而市面上不論哪間補習班
都只是幫助你開始,不太可能會教得很深
自己一定要花時間去實作,只是程式邏輯懂但寫不出來的話等於不會
另外,學會除錯也是工程師必點技能
錯誤訊息在每個語言都不太一樣,但就是一定要學著看,如果你看不懂
最簡單就是整串丟估狗
新手容易遇到的錯誤,基本上都會有解答
而有些語言的錯誤訊息會給代號,你也可以改丟錯誤代號,這樣也可以找到答案
所以不要害怕程式出錯,出錯了才會進步
我甚至覺得,反而要去嘗試要怎麼樣才能讓程式出錯
這樣會學得更快一些。

剛開始學習的時候一定會對自己的技術跟知識覺得沒辦法勝任工作
這很正常,但你還是要大膽一點投履歷
因為假設你真的順利找到工作了
就表示公司願意給你機會表現
而願意讓你表現的公司也一定會給你時間表現
實務上也都會有同事或前輩讓你問,不太可能讓新人從0刻起專案
但也不要忘了,他們也沒有義務教你,所以如果可以的話,還是要自己學習
不過如果你真的遇到了讓新人從0刻起的環境,建議快逃==


最後如果你想看更多關於技術方面的可以點這個
不是我寫的,但這篇確實有料
不僅給新手方向,也給剛進來這行業的人方向
其中他還提到DevOps,但我不是很熟悉
就不多提了,看有沒有人願意補充的

大guy4這樣,歡迎大家揪錯跟討論

創作回應

==
還活著嗎 現在怎麼樣
2023-03-01 17:54:56
專業訓練師
離職了 很多原因
2023-03-01 18:04:53
==
那你還是工程師嗎
2023-03-01 18:12:52
專業訓練師
目前不是 還在找工作 但也是找工程師缺
2023-03-01 18:25:24
==
喔喔 那加油
2023-03-02 05:34:57
芋泥波波
某內湖學店同校推==話說樓主只有上過新尖兵嗎?
2023-08-08 07:49:58
專業訓練師
2023-08-08 07:58:48
專業訓練師
在上課之前有先自學一點,不過當時是學C#
2023-08-08 07:59:30
芋泥波波
是在楊梅職訓所嗎
2023-08-08 08:01:35
專業訓練師
不是,在台北
2023-08-08 08:31:11

相關創作

更多創作