文章可能很長,先說一下
一 個人背景和工作內容
我個人的背景是年資一年的Java後端工程師,目前在電信業服務(非中華電信),學歷為清
交商管碩士(非資管)
年薪大概65-75萬(因為是年終占比太高所以不確定,月薪不到45K)
我的工作內容主要是Spring Boot開發,使用的技術框架主要是
swagger,hibernate,jdbc template,spring security等等
部署方面就是打包成war檔案,然後丟到linux主機的tomcat資料夾裡面而已....
後來公司導入jenkins之後,大概也不需要管部署
我的工作內容真的主要就是CRUD,而且還是給內部業務的的CRUD
我自己有感受到,我是那種要工作中有用到,才會體會比較深的類型
比如說我學生時代一直不太會用left join 現在終於比較熟
不知道sql指令要命中index,要下explain去檢查
以前不知道學生時代那些繼承的動物例子有甚麼用,後來工作後看到前輩去用basedao
裡面包了很多常見的功能像是paging之類的,才發現繼承的好用
我清楚意識到,因為我做的只有CRUD而且還不是給很多使用者的CRUD所以
非常害怕落入所謂的工作十年可是可能技能跟工作兩年的人一樣的狀況
版上的大大才多次提到類似的概念
原文問錯問題了,不管你學什麼,學多少技術種類,都不會影響你的薪水。學到什麼程度
,找什麼工作,才會影響薪水。
之前看了Drtech大的文章
https://reurl.cc/Yvx344
所以我的問題如下:
1. Java Backend要學多深 ?
之前看了本版的系列文章,
https://www.ptt.cc/bbs/Soft_Job/M.1527864627.A.626.html
還有幾篇 java 後端的面試心得
都會問到 jvm 調優,或是redis kafka相關的問題
但是我目前的公司應該是不會用到
2. 要找甚麼產業,哪些公司 ?
為了避免這篇文章太像伸手牌,所以下面會放入我覺得可能可以的產業和我自己的網路上
發現的觀察
# 二 做過的努力
1.
想說即使公司沒有大流量場景來訓練,然後大流量場景可能又和多執行緒有關
所以就想說去udemy上買相關課程
![](https://i.imgur.com/YaBiwGy.png)
目前大概看了三分之一,但還是有點霧煞煞@@
做過的事情是找了幾個網路上的範例,比較有開多執行緒跟沒開多執行緒
統計資料夾大小的速度差別
2. 基本的資料結構
去geekforgeek還有買書練習java資料結構,主要以leetcode explore為主
書我目前是看 數據結構與算法之美 是簡體書,好處是書中的code都是用java還不錯
目前大概是排序算法 練過快速排序,合併排序
linkedlist知道基本的時間複雜度,還有刪改操作
還有一些經典題目,例如反轉Linkedlist 合併兩個linkedlist,環的檢測等等
目前是感覺對於code的掌握度有變高,腦袋也有變靈活點,但可能因為我的工作性質,所
以還沒感受到資料結構的威力,我目前的工作性質大概只會用到兩種資料結構ArrayList
還有HashMap
3. 看對岸的面試題
對岸有很多JAVA面試題的影片,就是諸葛老師他們,睡前會看個一兩集,
蠻喜歡看一些像是mysql優化的
![](https://i.imgur.com/Cf0uon0.png)
或是對岸的圖零學院,他有一系列的刷題套路可以看
# 三 覺得還不錯的產業 電商產業和租車產業
看了電商產業的職位,有的會和金流有關
有的和物流有關
有的則是訂單相關
訂單部分好像又可以很複雜
之前看到有版友提過
- 訂單快照功能,保留當時的商品資訊 e.g. 價錢,規格等
- 是否需要跨商店結帳?
- 出貨時需不需要做到分批出貨?
- 退款時需不需要做到只退款部分商品?
- 出報表支援商業決策,譬如說過去一個月,哪間商店營業額最高? 哪些商品最熱賣?
像我就對這些問題的資料庫設計沒甚麼想法,我可能就停留在有一對多,多對多,然後要
做正規化而已
,比如說要知道過去一個月哪間商店營業額最高,應該就是直接下sql指令就好了吧?
當然這是我最初淺的想法
然後電商產業好像會有一些雙十一的的高流量場景?
國內JAVA為主的電商,我知道的有
momo 跟遠傳friday,但後者好像有大裁員,而且cakeresume上面顯示的薪水,好像也是
45K到70K的樣子,另外momo雖然非常賺錢,但是網路上查到的java工程師薪水好像也普普
另外我最近看到格上租車的職缺描述,裡面提到會設計高流量後端服務,還有微服務設計
![](https://i.imgur.com/bwjDkfo.png)
但是其實我沒有接觸過租車產業,不確定是不是如同cakeresume上面說的那樣
# 四 台灣系統廠
之前看台灣系統廠的中位數薪資,其實也不低,當然是比半導體低,但是也有一定水準
但是我實際去找 asus 或是 acer的JAVA工程師薪水,好像也是普普
![](https://i.imgur.com/VW1hS1o.png)
# 五 外商
![](https://i.imgur.com/Up3x6gP.png)
之前看到太陽鳥在徵才,也不太確定是要學到甚麼程度才能拿到比較高的薪水
# 六 我的學習困境
透過專案的訓練,開始學會用swag方便測試API,開始學會Spring Security懂得如何基於
腳色給予適當的URL保護,原本沒學過jdbc template,也慢慢學會了
但是外界常用的redis kafka 或是多執行緒技術我們公司目前應該是不會用到
# 七 結論
上面好像寫得有點太發散,所以我應該找甚麼產業的甚麼部門?
電商嗎,還是一些乙方,因為乙方我看過有些公司好像也有月薪七八萬
Java 後端應該要能學到甚麼程度,能解決甚麼樣的問題? 才能有一百萬左右的薪水?
我自己的想法可能是leetcode要能夠解掉easy
mysql 優化要能夠說出除了index命中以外
然後是不是要自己想辦法學會Spring cloud 這種微服務框架?
甚至還要會負載均衡 ?
--