軟體工程師作為一個群體,其實有非常多不同的細分職能。這篇簡單介紹有哪些常見的軟體工程師,以及他們主要在做什麼?
常見的軟體工程師種類
- 前端工程師 – 負責網頁的使用者介面及 interaction,使用 HTML、CSS 和 JavaScript 等技術。主要工作內容是設計和開發網頁前端,使網頁美觀、易用。
- 後端工程師 – 負責 server 端應用程式的開發,使用像是 Java、PHP 或 Python 等語言,以及框架如 Spring 或 Django。主要工作內容是設計和開發伺服器應用程式的API、邏輯和資料庫。
- Mobile App 工程師 – 負責開發 iOS 或 Android 的應用程式。主要工作內容是使用 Swift/Objective-C 或 Java/Kotlin 等語言,設計和開發 native 應用程式介面和功能。
- DevOps 工程師 – 負責持續集成、持續交付和 IT 自動化等工作。主要工作內容是使用 DevOps 工具和技術,以加速應用程式的開發和部署流程。
- 資料科學家 – 負責分析資料和建立機器學習模型。主要工作內容是使用 Python/SQL 和 machine learning 技術,從資料中取得 insight,以及訓練和優化 machine learning 模型。
除此之外,還有專注於雲端基礎架構、網路安全、嵌入式系統或其他領域的軟體工程師。軟體工程是一個廣泛的領域,所以工程師的角色和專注領域都有很多。
更詳細地說,Web 開發工程師的工作內容包括:
前端工程師
- 設計和開發網頁介面,使之美觀、易用,負責使用者體驗的改進和優化
- 使用 HTML、CSS 和 JavaScript/TypeScript 等技術構建網頁
- 負責網頁互動功能的開發,如頁面滾動效果、表單驗證、Ajax 等
- 確保網頁在不同瀏覽器和裝置上正常顯示,負責網頁的瀏覽器兼容性和手機兼容性的測試和修正
- 可能需要了解 UI 框架如 React、Vue 或 Angular
後端工程師
- 設計和開發網頁後端的 API、邏輯和資料庫
- 選擇和使用適合的程式語言和框架,如 Java/Spring、PHP/Laravel 或 Python/Django 等
- 處理資料庫和被呼叫的 API
- 確保應用程式有高效能、可靠並能處理大量流量
- 負責網站的安全性,包括防範 SQL 注入攻擊、資料加密等
全端工程師
- 具備前端和後端工程師的技能,能夠負責整個網站的開發;
- 能夠結合前端和後端的技術,創建一個順暢、安全和效率高的網站;
- 能夠更好地理解整個網站的運作原理,更好地進行優化和維護。
延伸閱讀:前端、後端與全端工程師,哪種軟體工程師薪水更容易有百萬年薪
DevOps 工程師
- 持續集成 – 自動化建立和測試軟體, 整合程式碼以節省時間並減少錯誤
- 持續交付 – 自動部署和更新應用程式和服務,以便快速且可靠地傳送新功能給客戶
- 部署自動化 – 使用工具和腳本自動部署應用程式,而不是手動執行部署過程
- 監控及度量 – 收集應用程式和基礎架構的度量資料,並監控其健康情況以排除問題
- IT 自動化 – 使用工具和腳本自動執行各種 IT 任務,以減少錯誤和節省時間
- 雲端基礎架構 – 管理和最佳化與公有或私有雲端運算有關的基礎架構
DevOps 的目標是促進軟體開發和 IT 作業團隊之間的合作和交流,並增加開發、測試和部署的速度,以滿足快速變化的需求。
16 週進度班有效學習 JavaScript 全端開發,半年成功轉職工程師
除此之外,還有跟Data相關的工程師職位:
資料科學家
- 資料收集:理解商業問題和資料需求,從各種不同的來源收集、清洗和整理原始資料;
- 資料分析:使用統計學、機器學習和其他數學方法如使用 SQL,Python 等工具分析資料和找出 pattern分析資料;
- 資料視覺化:使用各種工具和技術,如表格、圖表和可視化,呈現資料的結果;
- 建立模型:選擇或訓練合適的機器學習模型以解決問題,使用機器學習技術建立預測模型,對資料進行分析和預測;
- 技術實現:評估和優化機器學習模型的表現,使用各種程式語言和技術實現資料科學的結果;
- 報告呈現:向客戶、經理和其他專業人員呈現資料科學的結果,溝通分析結果和模型表現給非技術同事,並提供建議和解決方案。
- 維護和監控機器學習模型
總體來說,資料科學家需要對商業問題有深刻理解,並能夠使用資料科學技術解決問題並跟其他同事有效地溝通。
延伸閱讀:資料科學家在做什麼?Data Scientist 工作內容與3大核心技能
資料工程師
資料工程師負責環繞資料的基礎設施和流程。他們的主要職責包括:
- 建立和維護資料流程: 這是從資料源獲取資料,然後存儲、處理和傳送資料以供使用的過程。資料工程師開發和管理清理和結構化資料的流程。
- 選擇和實施資料儲存解決方案:資料工程師根據存取模式、成本和規模選擇和實施適當的資料存儲技術。例如,他們可能在資料庫、資料倉儲等之間進行選擇。
- 優化資料效能和品質:資料工程師監控資料流程和存儲,以確保資料準時傳送並符合品質標準。他們努力優化吞吐量和待命時間等方面。
- 自動化和測試基礎設施: 資料工程師自動執行流程並實施一致的程式撰寫實務。他們還執行測試以及和找到問題,以確保穩定性、可靠性和效率。
- 與資料科學家和資料分析師合作 – 資料工程師與資料科學家和分析師合作,了解他們的資料需求,並建立解決方案,使他們有效地工作。
資料工程師負責建立和維護所需的資料基礎設施和流程,以存儲和處理資料。他們致力於提供乾淨和可存取的資料,讓資料科學家、分析師和其他人能夠使用資料。
延伸閱讀:資料工程師工作內容是什麼?
其他台灣常見的工程師職缺還包含了:
MIS 工程師 (管理資訊系統工程師)
- 分析業務需求並建議 IT 解決方案 – MIS 工程師與組織內的各個部門合作,了解他們的agenda和資料需求。然後他們分析這些需求並建議 IT 解決方案以滿足它們。
- 設計和開發系統 – MIS 工程師負責系統的技術設計和開發。他們實施他們所建議的解決方案,並確保系統滿足要求和運行正常。
- 整合系統 – 當系統或應用程式需要整合時,MIS 工程師協助完成整合。他們有助於確保所有應用程式和資料庫正常地互動和交換資料。
- 培訓和支持使用者 – MIS 工程師通常需要培訓系統使用者並為他們提供技術支持。他們解決系統問題並確保使用者能夠有效地使用系統和應用程式。
- 監測和優化系統 – MIS 工程師密切監視系統並執行隨需效能調整。他們稽核系統安全性和效能,並優化或升級系統以滿足變化的業務需求。
MIS 工程師分析組織的需求、設計和開發 IT 系統以滿足這些需求、整合和優化系統、並培訓和支持系統使用者。
韌體工程師
韌體 (Firmware) 是嵌入式在硬體裝置中的軟體。它位於軟體和硬體之間,負責控制和操作基本硬體元件。韌體通常被永久地烘碟在讀取只記憶體中。
韌體的一些常見應用包括:
- 控制嵌入式系統如路由器、機上盒、智慧型裝置等
- 管理硬體元件如顯示器、鍵盤、閃存等
- 提供基本作業系統功能
- 與作業系統的引導程式互動以啟動系統
韌體工程師的主要工作內容:
- 分析硬體需求 – 韌體工程師與硬體工程師合作,分析新硬體元件的需求和規格。
- 設計韌體 – 韌體工程師設計韌體來控制硬體裝置的低層功能。他們使用韌體語言和集成開發環境開發韌體。
- 測試和除錯 – 韌體工程師嚴格測試韌體,找出和解決任何錯誤或Bug。他們需要排除韌體相容性或其他問題,並持續測試和優化韌體。
- 文件 – 韌體工程師編寫文件詳細說明韌體的功能和規格。這對其他工程師來說是很重要的參考資料。
總而言之,工程師是一群多工的專業人員,在各種不同的領域中都有他們的重要作用。從前端工程師到後端工程師,再到全端工程師,每一種工程師都有自己的專業知識和技能,並且在他們的專業領域中都有持續的發展。因此,如果您對軟體開發有興趣,不妨透過有效且扎實的學習成為一名工程師,在這個領域中實現自己的夢想。