您是 Junior Developer 還是 Senior Developer?
還記得剛入社會,第一次看到 Junior、Senior 這兩個單字時,我直接聯想到國中、高中的英文,如下:
Junior high school (國中時期)
身上穿的衣服是爸媽準備什麼,你就穿什麼
遇到問題不知道怎麼解決,舉手問老師、回家問爸媽...等
不熟悉環境、常常犯錯
想起我國中時期,每個老師其實都蠻嚴格的
- 一般來說,有科目考試不及格時,少一分打一下(聲音很響亮那種)
- 化學式背錯就要抄幾十遍 (到現在我還記得元素表, 氫鋰鈉鉀銣銫法、鈹鎂鈣鍶鋇鐳…等,真的不誇張)
- 數學不能只寫答案,還要寫計算過程...
- 英文考太差,會被用木板打手掌心真的很痛
- 恩...太多處罰
也是因為這樣子的教導方式,我們才能”打好基礎“,對未來升高中也有幫助
簡單來說國中就是需要被雕磨的時期
Senior high school (高中時期)
開始有自己解決問題的能力
逐漸有個人自尊,有一定程度的自律
注意自己的打扮,自己想怎麼穿就怎麼穿
- 考試題目逐漸傾向申論題,要你思考
- 不再會像國中老師那樣,成績不及格要自己負責
- 遇到問題能當下做判斷與處理
高中則開始要學會思考並為自己做決定的時期
看了上面的國中、高中的例子,其實大概就能了解 Junior 與 Senior 差別,接著我們從工作面來看
Junior Developer (初級開發者)
- 只熟悉一種語言、方式…等等
- 練功打基礎的時期
- 一個口令一個動作
- 解決問題的能力不足、常常寫錯功能
- 常常被 PM 或主管電的不要不要
- 需要不斷找人協助
- Coding Style 沒有一定的要求
- 無法舉一反三寫出功能
- 無法確切知道客戶要什麼功能
Senior Developer (高級開發者)
- 能使用多種語言來完成專案
- 可以用穩重且快速的方式來解決問題。
- 能對專案做評估,分析可能會遇到哪些困難的問題並提供解決方案
- 能使用不同的方法來改善程式本身的優缺點
- Coding Style 重視度很高
以上是目前對 Junior vs Senior 在工作面的基本差異
(當然其實還有很多項目可以列出~)
準備好朝向 Senior Developer 了嗎!