|踏出成為軟體工程師的第一步|初階後端工程師的工作內容

APPX
appxtech
Published in
May 13, 2022

故事的一開始…

團隊最近因為公司業務的需求,希望能找到新的、合適的夥伴與我們一同努力,於是開始在人力銀行刊登職缺。

在收到一些投遞者的履歷之後, 我們注意到投遞者的背景其實五花八門什麼都有,讓我們開始思考是不是職缺的內容有沒寫清楚的地方,或是有沒有其他可以調整的部份,因此才會有這一篇文章的產生。

關於我們理想中的後端工程師的夥伴…

我們對於後端工程師的夥伴有一些自己的期待與想像,也希望能透過這一篇讓各位可以更了解工程師平常的工作內容(世界)。

===

先從介紹我們團隊的服務內容開始。

因為我們團隊主要是承接軟體專案的開發(也就是所謂的外包)。 所以我們團隊對於專案的產出就會是一套系統的程式碼,透過程式碼的執行可以讓客戶滿足他們的商業需求。舉個簡單的例子譬如說客戶希望可以做公司的排班系統,點名系統,薪資系統,甚至是電商的平台譬如說像PC Home這一類的也都是我們可以協助的範圍。

而後端工程師的工作內容簡單來說,就是將PM跟客戶討論出來的需求,用程式碼的方式來實作出來,才能滿足客戶對專案的期待。

下面舉個實際例子解說:

客戶希望可以在電商結帳畫面上按下送出按鈕後,程式要能進行信用卡扣款,並且寄信通知客戶訂單成功資訊。

(*圖片來源 : dribble.com )

後端工程師在了解客戶需求後,需要構思程式的內容,包含:頁面互動的API規劃、後續資料處理及通知等行為的實作。

以上面的畫面來說,頁面上互動的API會有以下幾支:

1. 畫面上欄位即時的驗證API ,如:會員個資的驗證API,確認Email 存在。

2. 信用卡資訊的驗證API ,確保信用卡號正確以及發卡銀行資訊。

3. 地址郵遞區號的驗證 API。

4. 統一編號的驗證API (*就像驗證我們國內的有效統一編號)。

5. 真正送出訂單API。

而後端透過API(#5)收到資料之後,後續要處理的動作有:

6. 驗證收到的表單資料 (Server-Side Validation)。

7. 撰寫程式跟第三方串接,才好完成信用卡授權及完成交易動作。

8. 依照授權後的結果,更新系統的資料,並且寄出相關的通知信件。

這些動作落實到程式碼的話,會需要用到的技能大約就是以下這幾種類型:

1. API的開發(不含資料庫互動),像是:如何撰寫API來接收表單的資料以及如何驗證,甚至是檔案上傳的處理、透過SMTP寄信等等。

2. 資料庫的互動─如何撰寫程式碼查詢資料庫,如:客戶資訊、客戶最近三個月曾下過訂單的明細(含哪些產品)。甚至是寫程式算出今天最熱賣的前五大商品等等。

比較進階一點的話,就是要顧慮到系統效能,如千人同時存取時的效能,百萬筆/千萬筆的資料庫查詢不應該太久等常見的議題。

以上就是後端工程師最常見的工作內容,方便大家參考囉。

===

藉此機會,也想要工商一下我們團隊目前的職缺。
這次開放的職缺就是後端工程師的職位,主要的工作內容也就會是開發後端的程式(API),方便前端的程式可以呼叫。目前使用的技術大多為主流的物件導向語言,如 C#, Java, Node JS(TypeScript)。工作的內容除了上述的程式開發以外,我們也會讓工程師參與專案需求的討論,當然也包含了跟PM team的需求釐清,測試案例討論以及RD team內部的技術分享及Code Review環節。

如果有興趣的朋友,可以到這裏看JD ,歡迎跟我們聊聊。

--

--