Photo created by freepik
近年來,工程師普遍高薪、福利佳及自由的工作環境,讓「網頁開發工程師」這個職業成為許多人夢寐以求、躍躍欲試的轉職選項。
台灣新創企業相繼開出許多軟體工程師的職缺,像是前端開發、後端開發、網頁開發工程師等相關職缺,大舉徵招人才。
然而,多數人認為「我非相關領域畢業,能轉職工程師嗎?」因為大學沒有受過專業科目的教育而產生卻步,覺得轉職軟體工程師是一件困難的事情。其實不然,非本科系畢業也可以學習程式語言,但不是一件容易的事情。在轉職成為軟體工程師之前,有四件事情你需要先思考,來幫助你判斷自己是否真的適合踏上網頁開發工程師這條路。
你適合成為網站開發工程師嗎?
你是否願意接受挑戰?
跨領域學習本身就難,更何況是要學習一個從未接觸過的程式語言,難免會感到焦慮。現在網路科技發達,可以找到許多免費程式教學的網站,讓想踏入程式領域的新手試水溫,可以選擇適合新手入門的程式語言像是 Ruby、Python、JavaScript,在練習寫程式的過程中,思考自己是否喜歡 coding 的感覺?面對問題卡關時,能否承受挫折及耐心的檢查程式碼並找出錯誤嗎?
可以試著幫自己建立一個檢測計畫:規劃約三個月到半年的時間,使用低成本學習程式語言應具備的基礎技能,像是購買書籍、或是免費程式教學網站來養成。
當你知道理論,但實作卻卡關時,不是因為沒天份,而是還不夠熟悉解決問題的方法而已。回顧你之前的思考流程,是不是哪個地方想錯,能不能用其他思路解決問題。
一次專注一個問題,不要想同時解決多個問題。當你測試完一個任務,沒問題後,再推進到下一個任務。如果不這樣做,你可能會累積很多未爆彈,到最後根本不知道問題出在哪。
這段時間內,以「興趣」為主,盡可能多方嘗試不一樣的技能組合。例如:原本以為自己比較擅長前端網站美感與畫面邏輯處理,經過學習後反而對後端技能更有興趣,此時可以考慮是不是要換個語言,或許會有新的發現。
如果嘗試三個月以上,依然對網頁開發領域很有興趣,那麼就可以嘗試更多資源來學習這項技能,表示擁有成為一位網頁開發者的潛力。
紮穩基礎技術後再挑戰更進階的技能,有助於降低一開始踏入程式領域的挫折感,從學習中找到成就感,更能持續 coding 下去。
許多人在轉職初期,會跳過「測試的過程」,只因單純看到朋友成為工程師薪資不錯就貿然投入這個領域,其實這是一件非常危險的事,因為你很有可能在不了解自己的狀況下,而投入過多成本,卻沒有辦法取得預期的結果。
你是否對網頁開發有熱枕?
「為了一個小問題卡了兩天,但就是找不到方法」、「我學的好慢,我應該不適合當工程師吧?」、「怎麼又出現一堆 Bug,解都解不完」
在學習程式的過程中,是否曾經閃過這些念頭?開始自我懷疑到底適不適合寫程式,但其實這是必經過程,這些過程都是在幫助你增進 debug 除錯的能力。經常需要藉由研讀技術文件、利用關鍵字搜尋,歷經無數次解決程式卡關,從錯誤中學習並內化,才有辦法讓自己的能力更提升。
要如何知道自己是否對網頁開發有足夠的熱忱?隨著你在程式學習之路上練功打怪,你會更了解自己的寫程式能力、偏好、情緒及盲點,有助於面對更多的挑戰。當你架設出網站後,成就感的提升,自然而然會成為你繼續前進的動力,熱忱是幫助自己走出低潮的關鍵。
你是否願意不斷學習新的程式語言?
科技更迭快速,開發工具版本不斷更新,甚至新的框架或是程式語言不斷的被開發出來,在前端的世界裡,可能每年就會有一個框架大突破。如果想要在快速變動的領域裡長期發展工程師職涯,持續學習就是基本功。
每天充滿挑戰與變化,面對多種的程式語言,該怎麼選擇新的程式語言來學習呢?
對於新手工程師來說,可能在初入職場一到兩年,光是工作上的任務都快做不完了,更不用說工作任務外的學習。也許從工作中學習很快,但是當你被交付一個任務需要使用到新技術時,你是拼湊做出來,網頁能動就好,交差了事?還是會試著研究相關技術文件、寫技術筆記、查詢相關關鍵字,甚至在工作較不忙的時候,動手做一個小的 side project 來熟練技術呢?
養兵千日,用在一時,臨時抱佛腳的技術是不會紮實的。
不管是以工作為導向的針對性學習,或是以興趣為主的學習,都是能讓自己的開發技術不斷精進。但學習只是手段,重要的是要釐清學習動機,思考自己想透過學習達成什麼樣的目標,除了技術面外,軟實力也是重要的一環,溝通與協調能力會決定能否與他人順暢協作。
相較於其他產業,網頁開發工程師想在快速變化的環境中不被淘汰。持續學習是很重要,與時俱進,才能確保自己的技術價值。
你是否能獨立作業?
網頁開發工程師的日常業務,大多數人的刻板印象是坐在電腦前面,對著鍵盤敲敲打打。然而,其實是為了節省開發時間「定義問題,找出最佳開發方法」。
進入開發後,網站工程師需要先與團隊成員討論規格與實作方式,例如:前端工程師與後端工程師討論架構的設計與分工、API 串接格式等,接著才會實際寫 code。而在自己執掌的項目交付給需求窗口前,測試與除錯 (debug) 也是必要的,此外,功能交付後的教學與維護也是由同位網站工程師負責。
所以,網站工程師必須要具備獨立作業的能力,並且要能夠獨當一面,能不能自己完成一項任務對工程師來說相當重要,而且要能夠用邏輯清楚的言語參與會議、交代自己的工作計畫、主動提供其他夥伴協助、碰到任何問題都主動回報、與其他夥伴合作解決問題,甚至需要和夥伴們一同完成更大的任務,並且具有明顯可量化的產出。
成為網頁開發工程師後的優勢
薪資結構漂亮
在台灣的網頁開發工程師薪資,相較於其他行業,本身起薪就比較高。進入產業後,薪資並不是穩定自行成長的,而是靠你的技術實力為自己加薪,如果工作表現平庸可能調薪幅度不大外,甚至學習能力跟不上程式語言的演進,最終會被市場淘汰。
如何讓薪資成長?除了專業技術力外,還需做到下列兩件事情
1. 在工作中有經手過中、大型專案經驗
所謂的中、大型專案是以專案複雜程度而訂,時程是要以季、年為單位,且開發完後也有在營運維護的階段,較常見的像是電子商務網站、B2B 系統等等。
如果開發週期都是以幾天幾週為單位,那表示專案內容相對來說也較小,也看不出你的開發經驗深度。
2. 前後端部門團隊協作經驗
是否有團隊協作的經驗,例如:一個系統由幾個前端與後端共同完成,並實際運用版本控制系統進行分工,協作時不需花太多時間進行工作溝通,就能快速進入團隊狀況,提升產能才是最重要的。
具有移動力
在網站工程師人才養成的過程中,是需要一分耕耘一分收穫,是目標明確的且願意花時間投資,專注於技術實力的培育,累積一定的開發能力。
程式語言的邏輯是相通的,要轉換另一種程式語言的學習,其實是容易快速上手的,或是程式語言版本更新時,也可以快速跟上。再者,專業技能不受產業限制,網站工程師能參與各種產業,幫助產業優化,所累積的開發經驗對工作是有幫助的。只要擁有電腦設備及開發軟體,就可以在世界各地寫程式。
工作機會多
隨著科技越來越發達,雲端、線上、科技相關的服務與產品越來越多,甚至有更多新創公司崛起,市場對於網頁開發工程師的需求高,不只在台灣,世界各地都有網頁開發工程師短缺的問題。原因可能很多種,像是海外企業挖角、資訊人才培育不足、傳統科技大廠人才競爭等,供不應求。
因為網站工程師的工作機會變多,但也代表著,工程師需要更努力,花更多時間過濾工作與篩選公司,才不會錯過理想的工作。
結語
許多人把轉職想成大學重考一樣,非 1 則 0,彷彿一邊工作用閒暇之餘的時間進修,就沒辦法一邊準備轉職。你如果了解,許多人轉職是透過下班後的持續進修,同樣能完成學習順利轉職,那你可以考慮的選項會彈性很多。
轉職成為軟體工程師有可能比你現在的薪水高出許多,但要付出的努力也是比別人高出數倍。你現階段有多少餘裕的時間讓你額外進修準備轉職?你要付出多少機會成本來達到目標?評估該學什麼程式語言比較好?如果全職投入學習,必須評估存款是否足夠支持未來的生活與進修等問題。
與其一直躊躇不前不知道該不該轉職,做好轉職計劃與準備,都比空想擔心還要來得務實許多。
也許,會有人說,「我非本科系出身,真的能轉職成網站工程師嗎?」、「自己已經 三十幾歲了,不知道來不來得及在工程師的學習道路上開始?」其實這些問題的背後不是在問科系或年紀,而是反映了這個年紀的生活階段和社會壓力。
如果你想問有沒有非本科系轉職成功的案例,他們又如何成功?想安定轉職焦慮?你可以參考這些成功學員的心路歷程。
藉由持續學習,在學習過程中認識自己,你會發現眼前職涯的路會越來越清晰。
最終不管你的決定是否真的要成為網頁開發工程師,在探索職涯的過程都會讓你看到以往沒看到的視野。