成  就  一  直  前  進  的  你

成  就  一  直  前  進  的  你

loanding...

首頁>求職筆記>轉職軟體工程師!百萬年薪不是夢(上)

轉職軟體工程師!百萬年薪不是夢(上)

軟體工程師職涯前景看好且薪資傲人,是求職或轉職的熱門目標,坊間也有許多相關補習班,但業內真相卻是薪資落差極大!同樣是寫程式,究竟能夠領高薪的佼佼者在職涯中,做對了哪些事?

轉職軟體工程師!百萬年薪不是夢(上)
share
share

軟體工程師是許多人夢寐以求的轉職熱門選項,任何調查排行榜幾乎都高居前三,許多人認為只要轉職軟體工程師,就能坐在電腦前,不用風吹雨打日曬雨淋,就能獲得一份能夠做到退休的高薪高福利工作…但想在這個行業中出類拔萃,獲得現在難以想像的高薪以及不被淘汰,那可不能只會「寫程式」喔!

 

寫程式只是基礎,軟體工程師日常在做什麼?

軟體工程師的工作內容,根據薪資公秤,所述,其工作型態會分為三大類:1.專案需求釐清 2.執行與完成專案 3. 自我持續成長,其細節分述如下:

專案需求釐清:

軟體工程師需要跟專案需求單位或相關窗口,進行跨部門的溝通,了解其需求,然後與主管以及團隊成員討論技術上的可行性,並定義各項作業的優先順序,再回報給需求單位,獲得同意後,才能進入執行階段。

執行與完成專案:

前置作業完成,進入專案程式撰寫階段,但在此過程中,也會遇到不少技術困難,這時可透過查閱相關技術文件、與團隊討論,上網到相關論壇研究等方式解決。

當程式終於順利完成,還必須撰寫相關的技術文件與教育訓練文件,才能交給使用單位複測,而如果使用單位在此階段測試上有什麼不順,甚至發現新bug,軟體工程師也必須儘速處理。在許多中小型公司,就算專案完成交付給使用單位,但使用單位在運作上或是操作上有什麼問題,甚至看不懂技術文件,軟體工程師也必須協助教育訓練,直到使用者能穩定運作為止。

自我持續成長:

程式撰寫沒有一定的公式,「會」與「精通」的差異,對於程式碼大小與執行效能可能相差甚大,加上軟硬體技術不斷發展,必須持續精進自己熟悉的程式語言,並且學習相關領域(如前端工程師去了解後端與資料庫)的知識。

軟體工程師的分類多,專長方向大不同

除了工作內容龐雜,軟體工程師的分類也開枝散葉,光是最熱門的Web相關類,就可分為前端工程師、後端工程師與網站可靠性工程師( Site Reliability Engineer , SRE )三類,簡述如下:

Web前端工程師:

網站或 APP 向使用者呈現的介面,是前端工程師主要的任務範圍 ,必須會的程式語言有 HTML、 CSS  (熟悉 CSS 框架如 Bootstrap )、 JavaScript (能善用JavaScript框架如 React.js 或 Vue.js ),以及熟練 JQuery 函式庫,能串接來自後端的API,並且維護資訊安全。

除了程式語言的技術能力,前端工程師還要有一定的美感與使用者同理心,以及知道搜尋引擎優化( SEO )的基本概念,能夠靈活運用響應式網頁設計( RWD ),做出跨裝置、跨平台都能完善呈現的網頁。

Web後端工程師:

網站上的各種功能與資料處理,如何經由合適的程式語言撰寫成演算法,讓網站伺服器迅速運算與回應使用者需求,是後端工程師主要的任務範圍。

後端工程師必須至少精通一種後端常用程式語言,例如 PHP 、 Ruby 、 Python 、 Java 、 ASP.NET 等,並且能靈活運用後端開發框架,例如 Node.js 、 Rails 、 Django 等。也會撰寫 Web API 、以及了解 HTTP 、 TCP 等網路通訊協定以及前端程式語言的基礎。

資深的後端工程師通常也會涉獵部署網站、資料庫平台的軟體,例如 AWS 、 Azure 、 Google Cloud Platform ,使用資料庫開發工具如 MySQL 、 SQL Server 等,並持續精進系統、資料庫設計與系統效能優化的能力。

網站可靠性工程師:

通常稱為 SRE ( Site Reliability Engineer )或 DevOps ,工作任務為確保系統的伺服器與資料庫的運作,維護相關服務的穩定和性能。這項工作過去需要投入大量人力操作,但現代則是透過撰寫軟體來取代之前需人工才能完成的任務,所以也變成軟體工程師能發揮的領域。

SRE 的工作內容為:設計網站可靠性流程與策略與開發自動化流程與程式、建構系統架構、管理部署流程。對系統進行容量規劃,管理相關設定,效能調校,分析系統效能瓶頸並改善,以及針對異常事件警示與回報、處理。

SRE 工程師需要至少懂得 C、 Node.js 、 Python 、 Java 、 Ruby 等其中一個程式語言,並有編寫腳本語言的能力,深入了解Linux系統與相關指令,熟悉各種自動化工具,例如 Docker 、 Chef 、 Puppet 、 Shell Scripts 等。由於雲端服務已經是主流,所以 SRE 工程師也需要熟悉各大廠商的雲端服務工具,例如 AWS 、 Azure 、 Google Cloud Platform 等。以及相關的資安軟體,熟悉各種網路攻擊手法與防禦方式。

 

出社會之後應該如何轉職成軟體工程師

軟體工程師在職涯的優勢有:工作機會多,基本上是事求人。專業技能不受產業限制。累積的經驗對未來工作有幫助,工作環境通常相對單純、未來可預期的加薪幅度、甚至跳槽可談的價碼,通常都比一般上班族高。只要轉職者是真的有心、有熱情、有毅力,在一年內學會特定的程式語言,成功轉職通常不是太難的事情,可參考下列各點:

選擇培訓機構:

例如職訓局、資策會,民間補習班等,通常能夠有系統的讓學生習得目標程式語言。而且類似學校的環境,有老師教,有機會能發問,能夠跟同學討論,甚至有競爭感,比較有動力繼續學習下去。

此外,這類補習班的課程學費較為昂貴,通常一次約6~10多萬,並且還沒算上舟車勞頓的費用,也必須在固定的時間上課,時間上較沒有彈性。

線上課程平台:

線上課程為講師在網路上授課,除了影片教學外,通常學員可以連絡上講師本人,詢問課程內相關的問題,學習時間比較自由,課程內容也可以無限次數重複觀看。

線上課程需要付費,但通常遠小於實體培訓機構,由於線上課程平台之間競爭激烈,有時會有優惠價或包套特餐,但如果想完整的學完一套軟體課程,通常還是得付出上萬元的學費。

買書或以網路免費教學輔助自學:

網路上有許多的軟體工程師的教學資源、如論壇、教學影片等,如果能夠利用這些資源,幾乎都可以自學,也確實有人靠自學就順利轉職成為軟體工程師。

網路自學的最大優勢是有許多免費的資源,以及論壇上有很多熱心的網友幫忙回答問題,而且能夠培養出強大的自學能力,對未來職涯遇到問題,尋求解決方案時,也能事半功倍。

大量的實作練習與培養專案能力:

無論是選擇自學還是機構培訓,都要想辦法不斷的練習與實作,甚至想辦法找課外練習的機會,例如參加「黑客松」( Hackathon )競賽!
從這些練習甚至比賽的淬鍊中,不斷掌握撰寫程式的「熟悉度」、「細膩度」、「速度」等功力程度,也能以是否能完成比賽為標準,以及是否有與需求方、團隊成員的溝通能力,評估自己的程度,未來才能把寫程式從「學會」變成真正在職場有用的「技能」。

參加相關程式語言的社群:

轉職者雖可以透過各種學習方式,習得如何撰寫程式,但對於軟體工程師的思維模式,或是業內的行事風格,則未必能很快地融入,對求職或工作都可能有影響,因為「思考模式不轉變,對於主管及同事的觀感,轉職者還是像軟體工程師界的局外人」。

故建議從開始學習程式撰寫時,就積極參加一些同樣程式語言的開發者社群,甚至相關的實體聚會,除了能觀察軟體工程師的思維模式,還能找到前輩討論、指點迷津、吸收經驗,甚至成為在業界的人脈,增加因推薦而獲得的工作機會,這對於非科班出身的轉職者,相當重要!

上一篇: 面試尾聲「還有什麼問題想問嗎?」,這樣回答最加分! 下一篇: 面試怎麼穿?「正式休閒」高級穿搭術

你可能會喜歡的文章

author

作者簡介

我是林驊仁 / 職涯當「實事求是 精益求精」

職場修練近30年,待過公私財團法人、新創公司、大型傳產、上市櫃企業,歷練基層到中高階經理人。職場識途老馬精選好文章,幫你鋪開職涯康莊大道!

totop