- Client(前端)
- 為使用者端如網頁、app,使用者身邊的裝置
- 會發出請求(如HTTP協定)到Server的API
- Server(後端)
- 為伺服器端,工程師能控制的主機
- 會執行一個網頁伺服器並連結資料庫,開放API給外界呼叫
- 對基本Linux指令的了解,Mac有一樣的指令,系出同源
- 對資料庫操作(SQL)的了解,使用者的資料都會存在後端
- 後端語言或框架的熟悉
- 門檻相對前端高,但也比較不容易被取代
- Python
- 被用在AI實踐、伺服器運維管理、刷題語言
- 學習上語法最簡單
- 伺服器後端相對少,大多新創、蒸蒸日上的公司在用
- 推薦沒有就業壓力、不確定目標、什麼方向可嘗試的新手
- Java:
- 穩定,大企業、銀行、傳產愛用,新創相對少
- 資工資管系通常都會,很多演算法、物件導向的書也是基於Java
- 使用上有Oracle的版權疑慮
- 推薦想找穩定工作、打好程式基礎的新手
- PHP:
- 如果是後端語言的職缺,PHP大概是最多的了,很多舊網站在用
- 推薦急著想找工作的新手
- Node.js
- 使用JavaScript撰寫,建議已經熟悉前端的工程師從Node切入
- JavaScript不是Java,名稱很像是歷史原因
- 因前後端語言一樣,很多新創使用
- 推薦短時間想拿高薪以全端為目標的工程師
- 使用JavaScript撰寫,建議已經熟悉前端的工程師從Node切入
- Go(Golang)
- 現代化高性能編譯語言
- 新創、高薪缺愛用,未來成長性高
- 通常不建議Golang為第一語言,推薦老手再學
- C#
- 全微軟工作環境下使用(不需要會Linux),也可以寫Unity遊戲
- 很多銀行、傳產、政府單位愛用
- 推薦想找穩定工作的新手
- Ruby:
- 有點冷門,開發快速,某些特定公司會用,如果以那些公司為目標可以學
- 除非到職的公司會帶,不然可以不用學
- C
- 軟體界最經典的語言
- 常見用在工作的語言90%都是參考C的語法
- 天生被用來撰寫作業系統,為寫UNIX而生
- 所有作業系統都離不開C
- 要了解資工的資料結構、作業系統、編譯器從C開始不會錯
- 通常C的工作都跟了解硬體、作業系統的domain綁在一起,所以門檻比較高
- 軟體界最經典的語言
- C++
- 通常做需要高效能的事情如遊戲引擎 交易系統 EDA
- 需要的工作通常要求高學歷理工背景
- 學生刷題比賽愛用
- Rust
- 在台灣非主流,在Linux開發 韌體開發 後端開發 前端開發領域持續成長
- 簡單來說是記憶體管理更安全的C/C++
- 很難寫,語法對機器友善,編譯器很嚴格
- 難學易精,跟JavaScript反過來
- Distributed Systems
- Designing Data-Intensive Application
- Linux
- DevOps
- SRE
- Kubernetes
- docker
- 什麼是Mircroservice架構?