2020 年初,突如其來席捲全球的新冠疫情,使得各行各業不得不快速轉型,數位化、自動化、線上化成了大公司、小商家等全員都必須面對的問題。Spring Professional躍科人才協理梁家榮指出,自新冠肺炎爆發以來,軟體開發與應用方面,包含前端與後端工程師,人才需求不斷向上成長(詳細文章可參考【走勢反映產業循環 跨界軟體人才供不應求】)。由此可見,原本就已經很受歡迎的軟體工程師,在疫情的推波助瀾下,近幾年更躍升為市場上炙手可熱的職缺。

軟體工程師又可細分為前端軟體工程師、後端軟體工程師以及全端軟體工程師。本篇文章將著重於後端軟體工程師,除了詳細介紹後端軟體工程師的工作內容之外,還將進一步解析要成為後端工程師所需的技能、薪資待遇,以及如何找到高薪的後端工程師工作。

如果您也對前端軟體工程師有興趣的話,歡迎參考Glints文章【前端軟體工程師職責是包含什麼?如何找到高薪前端職位?】。


後端工程師(back-end developer)工作內容

在前端工程師將一般消費者會接觸到的使用者介面、網頁、排版等門面建構完成後,所有消費者在網頁上所執行的動作,都會需要仰賴後端工程師的技術來完成,如:放入購物車、儲存至我的最愛、查看歷史訂單、註冊成為會員等。

如果以查看歷史訂單這個行為來做說明,當使用者點選「歷史訂單」的指令時,伺服器端會進行邏輯分析,從龐大的資料庫中找出使用者過往曾經購買過的訂單,並將所有訂單資訊傳至前台,讓使用者可以查看過往訂單內容。

如以流程圖來說明,當使用者在網站上進行特定動作時,網頁的運作包含了「瀏覽器←→伺服器←→資料庫」,簡易來說,後端工程師的主要任務即是開發伺服器端的應用程式。後端工程師需要根據不同專案的商業邏輯開發框架,當使用者在前端瀏覽器下指令時,後端伺服器資料庫需有邏輯性的撈取相對應資料,並於頁面上呈現正確的結果。因此,清晰的邏輯思考力、有能耐與巨量的資料共處、程式碼編寫能力、以及熟悉商業模式等,都會是後端工程師缺一不可的能力。


後端工程師所需技能

精通至少一種後端程式語言與框架

後端工程師主流的程式語言包含PHP、JavaScript、Ruby、Java、Python、C#…等。程式語言即是指與電腦溝通的語言,即使選擇不同的語言,達到的目的是相同的,即為「與電腦溝通」,但不同語言分別又有不同擅長的項目。

框架指的是程式語言開發的模式,透過框架,軟體工程師才可以更有效率地將抽象概念,包裝成可使用的函式或類別。節省時間、擴展性高為使用框架的兩大優點。不同框架是由不同的程式語言編寫而成。

以下將簡單列出各個後端主流語言的優缺點,與其相對應的框架:

PHP

  • 優點:相對來說易學、好懂、易開發,為目前市占率最高的程式語言,高達83%
  • 缺點:無法支援複雜的程序,語法較不嚴謹,無法常駐記憶體
  • 框架:Laravel、CakePHP

JavaScript

  • 優點:被廣泛使用於Web應用開發,可增添網站的交互性,多平台兼容
  • 缺點:在不同瀏覽器中會有效果落差,安全疑慮容易被攻擊
  • 框架:NodeJS

Ruby

  • 優點:開發與部屬高效率,擅長網站原型開發,易於使用商業套件
  • 缺點:對新手來說學習曲線較陡,程式執行效率較差
  • 框架:Ruby on Rails

Java

  • 優點:編譯時即能發現錯誤,生態鏈完整,框架、編譯工具以及模組系統等皆非常優秀
  • 缺點:編譯型語言開發效率慢,不夠靈活,程式碼不易優化
  • 框架:Spring Boot

Python

  • 優點:程式語言結構簡潔易讀,應用層面廣
  • 缺點:執行速度較慢
  • 框架:Django、Flask

C#

  • 優點:與Java相似度高,語法功能先進,擁有完整的團隊支援,適合寫遊戲
  • 缺點:程式碼結構較複雜
  • 框架:Asp .NET

了解基本的前端程式語言

以建築來比喻,後端是建築物的鋼骨結構,前端則是外觀的設計裝潢,設計裝潢不喜歡可以打掉重練,但鋼骨結構很難修補,拆掉整棟建築物也垮了。身為一個建築師,我們不會在對於成品外觀毫無概念的情況下,就一股腦兒的開始建構鋼骨結構,通常是為了達到某種狀態或模樣努力著。

這與後端工程是的狀態相似。一般而言,後端工程師初期的功能即為「產生前端」,身為後端工程師,必須要了解前端的運作,才會知道如何透過後端來創造前端,如果後端工程師處於完全不懂前端的狀態,也不會知道要如何產出。但相對的,前端工程師並沒有非得了解後端的運作不可,所以才會有前端比後端容易入門的說法。

如想了解前端常用的程式語言,可以參考文章【前端軟體工程師職責是包含什麼?如何找到高薪前端職位?】。

資料庫處理能力

後端工程師的主要目標之一,即是讓伺服器在資料海中做出正確的運算,取出正確的資料。現今,大大小小的電商、社群平台等皆為有資料庫的網站,又稱「動態網站」,網站可以儲存使用者的行為,再根據使用者的需求回拋正確的資料。當你去回想每天生活中接觸了多少資料庫網站,便可以明白相關技能的需求量有多大,也因此,要求後端工程師同時擁有「資料庫處理能力」已成常態。

擁有資料庫處理的能力,方能知道要如何開發伺服器端的應用程式,在使用者於瀏覽器下指令時,才能精準地透過伺服器應用程式至資料庫拿取需要的資料。

deal with big amount of data

其它

擁有上述所提的技能固然重要,但若想成為優秀的後端工程師,還必須要相當熟悉公司的商業模式及產品特性,唯有對自家的產品優勢以及獲利模式足夠了解,才有可能開發出能夠支持,甚至是優化自家系統的架構。

除此之外,清晰的「邏輯思考能力」也是後端工程師必須具備的特質。當使用者在瀏覽器下出A指令後,要如何設計相對應的伺服器應用程式,讓運作可以準確無誤地給予使用者所需的資料,需要仰賴一層一層的推導與模擬,方能設計出最精準的路線。

cowork with colleagues

後端工程師薪資待遇如何?

由於後端工程師入行門檻相對比前端工程師還要高,因此多數後端工程師的薪水也會比前端工程師還要高。根據調查,後端工程師的起薪通常落在月薪5萬元(年薪約60萬),如待在成長快速、規模大的企業或是外商,起薪甚至有機會達到6-7萬。擁有3-5年以上資歷晉升為資深後端工程師後,年薪達到100萬甚至是200萬實屬常態。

對軟體工程師薪水想要了解的更仔細,可以下載並參考Glints的【台灣數位人才趨勢報告:薪資與企業文化特輯】。


身為後端工程師,如何提高薪水或是找到高薪工作?

如想要找到高薪的後端工程師職缺,無庸置疑,必須持續精進自身的程式編寫、框架開發能力,擁有更多的實務經驗,讓自己可以獨當一面,晉升為資深後端工程師,是一般人精進薪水的管道。

除了後端工程師職位本身需具備的硬實力之外,近幾年,即使是技術人員,公司也開始看中如「團隊合作」、「溝通協調」般的軟實力。後端工程師在工作上也有許多機會參與大大小小的專案,需要面對與PM、與上級主管、甚至是與負責同一專案的同事溝通,如果專業技能極強,卻沒有辦法在團體裡與同事相互支援、配合,對主管來說也是蠻頭痛的。當公司遇到加薪或是升遷抉擇,且所有人的硬實力底子都相當豐厚的情況,軟實力匱乏的工程師獲得升遷、加薪的機率自然也會降低。

除了原公司的晉升、加薪,跳槽至外商也是薪水越級跳方式之一。在坊間非常常聽到說法為「外商公司願意給出比台商多1.5倍的薪資」,使得各行各業都有努力不懈想躋身外商的求職者。由於薪水開的相對比台商高,求職者眾,進入外商的門檻自然更高。除了專業能力之外,外語能力拿到入場票不可欠缺的條件。


結論

許多嚮往工作環境自由,或是懷抱著百萬年薪夢想的工作者,都以軟體工程師為求職或是轉職目標。但在確定了「軟體工程師」這個職業目標之後,下一步要煩惱的就是要成為前端、後端還是全端軟體工程師。相信看完本篇文章的介紹,大家已經清楚成為後端軟體工程師需要具備什麼技能、工作內容是什麼,以及如何提高甚至是找到高薪的工作,也可以更近一步釐清自己想要成為什麼樣的工程師。

如果你希望可以得到更多資訊,可以追蹤Glints的臉書粉絲頁,每個星期都可以看到熱門職缺與職涯資訊 。

你也可以到Glints – Taiwan去了解更多!或是註冊帳號,收到職缺通知!

延伸閱讀:

對軟體工程師求職有興趣的人,可以看看Glints的其他精選文章

About Author

旅遊成癮患者,同時也是愛海的山系女子
熱愛文字的所有樣貌,除了知識型文章,也寫生活、寫旅遊

Leave A Comment

Your email address will not be published. Required fields are marked *