在搜尋引擎中,打下關鍵字[前端,轉職]往往會出現非常多的資訊,難免會有些補習班的廣告及年份已經過期的資料,故想要將自己知道的業界資訊分享給想要轉職前端的夥伴們,希望可以節省一些大家找資料和過濾正確性的時間,並讓轉職者們對前端有簡易的認識。
保持滾動式的持續更新 😆…
前情提要
在轉職之前,你可能會懷抱對軟體業過度美化的想法,或看到程式補習班打出轉職後高薪 XXk 等標語,但實際上,能轉職後馬上找到高薪的工作,要不是你頗具慧根、相關科系、有額外加分條件等…,通常都是 35k~45k 起跳(32k 的鬼故事 🫣,筆者也是常聽到),若要更高要往博弈業、區塊鏈走,但好不好走,適不適合,做膩了能否回歸,就又是另一回事了。
軟體業有哪些職缺?
目前軟體業有許多的職缺,常聽到的有前後端工程師,app(安卓|蘋果)開發工程師,測試工程師,程式架構師,UI/UX 設計師,網頁設計師,infra,AI 工程師等,SA,產品經理,大數據,全端開發工程師等。每個職能都是專業且會互相影響的,在產品的開發當中,會依照產品鎖定客群及公司策略,選擇組成的開發團隊人數及職能分佈。
ex.今天決定要開發 web 產品,最基本組成=> UI/UX +前/後端+ PM,若在大一點的公司就會有 SA 及測試工程師,來維持專案的進程及測試開發中產品是否能正常運行,人數的多寡會依照產品規模的成長增加。產品的上線(發布)則會有部署工程師(maybe 後端)+infra 來協助部署,當然還有許多合作上的細節,之後有提到時會在補充.
來談談非本科轉職的優缺點吧!
優點
原先的產業知識
假設非本科的我們,在轉職前對原先職能有一定程度的理解,那我們的優勢就是原產業的知識(domain know-how),若再轉職後,投遞相關產業可能有意想不到的加分效果,在面試表現時可以有更深度的回答及反饋,但也有可能根本不想回到原行業…😤
ex.轉職前為旅遊業的客服人員,轉職後又進了大型旅遊公司的開發團隊,那對整體的業務流程會有一定程度的了解,在程式開發上就能節省一些理解程式邏輯的時間成本,也能跟 User 或是產品經理提出意見,進行討論時能對於問題提出精確的描述~
換位思考
這標題並不是說只有非本科才有換位思考的能力,而是希望非本科轉職能有這個能力,畢竟我們轉職前是各種網站的使用者(YAHOO、GOOGLE、MOMO),而今天我們轉職成了工程師,我們從原先的使用者為主的思考模式必須轉換成開發者的角度。
ex.使用者自然希望一個鍵按下去能做完所有他關注的事物,但開發的角度我們則不然,我們可能會針對程式邏輯的組合提出疑問!(可能是兩種對立的觀點,我們要如何去調適這個轉換?)
溝通及合作能力
最重要的一點就是溝通及合作,邏輯可以培養,技術可以進公司再來慢慢學,但合作及溝通,從 0 開始要培養是非常困難的,大家可能覺得工程師不是按照上級指令開發,或是看看需求單開發就好了嗎?為什麼要溝通呢?
當然公司只有你一個人時自然不需要溝通,但若是在一定規模的公司上班,你配合的不是一兩個人而已,可能是好幾個團隊,每天都有會議要開,需求要確認,這時溝通與表達能力,自然而然地比重上升許多~,下方的描述開發流程區,就能體現為何溝通能力重要了 😵💫
缺點(可能遭遇的問題)
缺乏軟體業相關技術知識,套入先前行業別的模式處理開發事務,對整體開發流程不熟悉,無法順利以術語表達需求(無法順利溝通),找不到技術搜尋關鍵字怎麼下,功能不會開發,對未知事務的恐慌等等…,會有這些問題都很正常的,筆者也面對過這些問題。
前端知識: 對於前端而言的最基礎的知識就是 HTML+CSS+JavaScript(御三家),之於人體即是=>人體骨幹+表皮+肌肉神經, 好的可互動網頁這三項缺一不可,進階一點就會往框架方向加深(Js 一定要學好再碰),常見的前端框架(Vue,React,Angular,Svelte),框架簡略來說是為了簡化開發人員的精神負擔及節省開發時間,類比的話就是你可以走路從台北到高雄(原生 Js),也可以選擇搭飛機(框架)。
更底層一點的知識:網頁渲染流程、SEO、效能優化、SOLID 的程式碼架構及邏輯可循的撰寫模式、SPA、SSR、孤島架構、演算法、計算機概論 等…,你可以都不懂,但好薪水的工作都希望你能懂 QQ
整體開發流程: 以筆者目前經歷過的開發流程有兩種,以公司型態的不同有所區分,大家可以簡單參考一下。
1.接案公司:公司會以案件的大小及客戶給的開發時程評估這次有組隊的人選(PM+前後端+UI/UX),一開始會討論專案進行的方式,客戶的目標(產品要做什麼),並開始使用者訪談,確認專案的細節及核心邏輯,確認客戶一定要做的功能。通常一開始客戶會有各種天花亂墜的想法,我們就是要去限制他,哪些是技術上可以做的,哪些你就算把錢丟在我臉上,也是做不到的 XD,通常訪談會來回個兩三次,工程師則利用這個空擋去 survey 要用在專案的技術,及開始佈建一些基礎邏輯,方便使用者定案後,可以馬上開始開發。一但確認後,等 UI/UX 開始出稿件(前端需要依照稿件規格開發產品),前端會一邊進行稿件開發以及與後端 api 的介接(真實資料的串連),客戶若有變更或新的需求提出,則會回退至討論及設計,等待確認再回給前端開發,不斷往復,等到整體稿件及邏輯介接完成後,就可以進行產品測試及發布。
簡單的流程: 使用者討論會談=> UI/UX 設計=>前後端開發=>使用者變更=>回到 2 步驟=>專案測試及發布=>上線好棒棒!
通常開發時程不長,且以客戶為主體,開發的發言權不高.(薪水也不高 🤫)
2.專案公司(自有產品):流程架構則會以 PM、SA 去跟 User 訪談,等確認要做哪些核心邏輯後,拉 UI/UX 及開發團隊進入會議一起討論,若有問題則在會議上馬上提出,UI/UX 會在會議中 DEMO 頁面流程等,與使用者確認,使用者提出新需求,UI/UX 更正後會再另外發出會議,此流程會消耗較多的時間,再討論流程及頁面元素上,PM 及 SA 也會提供一些建議,協助開發者找尋技術方向,並在會議中限縮使用者的發想,開發順序則依照頁面上線排程進行安排,然後樸實無華的 UI/UX 出稿=>前端開發頁面=>後端出 api=>前端串接=>測試=>上版=>QA 測試=>確認上線
當然每家的流程都有不同,筆者僅以自身經歷提供簡略描述,在產品公司工作,則會有較多的時間餘裕,並且開發的發言權也有一定被採納的空間。
技術搜尋關鍵字怎麼下: 描述你享用的技術要拿來做什麼,或是要做什麼。
ex. Js array methods to slice item , CSS overFlow website , 我的網頁 404 怎麼辦?未知事務的恐慌: 開始轉職後,常常會擔心自己學的不夠多也不夠深,在開發上也常常四處碰壁,開到課程就想買,朋友推薦的書也想看,會擔心及恐懼自己不夠好。但事實上我們只要保持腳步持續進行就好,今天遇到什麼困難解決就好,不要放大恐慌性的思想,一切都會度過,然後遇到新的難關,再次挑戰並度過,只要保持好心態,持續進步都會度過的~
工作型態
接案公司類
大部分接案公司都是中小型企業(1~50 人),當然有例外,例如資拓、緯創等,通常開發模式以公司案件報價計酬,接越多賺越多(前提是能在時限內完成),敏捷開發抑或是隕石開發 🤯,技術上會採用較新的技術,畢竟案主可能會有很多突發奇想 XD,挑戰力高,成長速度較快,有機會成為全端一條龍,若對自己能力有保握,可以試試。
削價競爭,壓榨工程師開發時間的公司,也是略有耳聞,當然也有幸福企業,不以偏概全。
新創產品類
快速迭代技術的類別,人數也不會太多(50 人上下),公司很吃產品視野及老闆腦袋,需要常常更新版本,以達到快速拓展業務、開闢客戶、急速發展的宗旨,開發時程快速,但薪水也較優渥,容易被看見,升職或升薪幅度也較大。
建議可以挑自己喜歡的產品類別,新創起來才會更有動力,加班也更有…
沒選好,可能會落得蠟燭兩頭燒。
產品公司類
開發時程較為緩慢,不需要負擔公司賺錢壓力,若在團隊架構較大較完整的公司,可以完整學習開發流程,從開發=>測試=>部屬=>上線的迴圈,學習每個環節需要的技術能力,但通常越完善的公司,面試起來的難度也會越高,對轉職新手較不友善,通常要等多開缺比較有機會進入。(筆者較為推薦)
但也有可能進入養老公司,沒有保持進步,反而被公司綁住。
外商公司類
通常進去就發達了 XD,需要一定的外語能力(口說及閱讀),此類也較多遠端缺額,但職缺通常都比較少公布,若有人脈會比較好進入,也能解省外商面試的時間。
薪水參考價值居多,多面幾間公司,多談多比較,每年都出來試水溫,更有機會談到好薪水。
有哪些學習資源?
以下會推薦一些筆者覺得不錯的學習資源,並會描述使用哪些技術。
中文 youtuber: Alex 宅幹嘛[Vue 框架] , Tommy 騎巴哥[JavaScript] , Code Learning | 编程教程[底層知識] , 布魯斯前端[React], loyiCodes[資料結構], 在地上滾的工程師 Nic[開發者的心態],Web 實驗室[網路運作,底層知識] , Mike Cheng[Vue],CSScoke[CSS],Jomy King[JavaScript,綜合前端技術]
國外 youtuber: Online Tutorials[CSS 動畫特效],codeSTACKr[前端 RoadMap],LearnCode.academy[JavaScript],CrashCourse[資料結構],NetworkChuck[Linux],ByteByteGo[網頁底層],HackBear 泰瑞[國外的開發者簡述生活],awesome-youtubers => 集結各種優質頻道
udemy hahow hiskio 開發技術學習平台:網頁開發全端攻略|零程式基礎也適用,JavaScript + Vue3,JavaScript 全攻略:克服 JS 的奇怪部分,The Complete JavaScript Course 2022: From Zero to Expert!,The Complete 2022 Web Development Bootcamp
書本: JavaScript 犀牛書,鐵人幫入門系列等,網站互動設計進化之道。
github: Developer-Books,mind-map,针对小白的完整的算法训练流程,FrontEndGitHub,FE-Interview,frontendDaily
若有好的學習資源推薦,非常歡迎在下方留言 🙌
轉職成功,就是結束?
轉職成功絕非結束,是漫漫長路的開始,為了解決不同的需求,前端百家爭鳴,各種新舊技術交雜,我們都需要不斷的溫故知新,不要排斥學習,因為這條路,只有不斷的學習,才能讓你更加精進。也不要停止與業界人士交流,不論是公司同事或是只有一面之緣的技術論壇朋友,維持好的人際網路,會對未來的旅途有意想不到的加分效果,開始記錄你遇到的技術難點及筆記,也許在哪場面試中,就幫了你一把,也不要停止追尋更好的自己,畢竟轉職就是對自己的人生有所覺悟的體現,我們都值得更好的未來。