作者 DrTech (竹科管理處網軍研發人員)
標題 Re: [請益] 雲端技術是Java工程師的必備技能嗎
時間 Sat Sep 16 13:01:22 2023



連續幾篇,XX技術,是必備的嗎?

首先,我覺得許多人的盲點就是,
搞不清楚,"學技術"與"學工具"的差別。

同樣是用鍋鏟與刀具,
有些廚師可以,到星級飯店當主廚,領高薪。
有些人只能在小餐廳辛苦低薪。

同樣是刀具,螺絲起子,各種膠。
有些木工收費特別貴,耐用品質。
有些木工,卻爛得要死,縫隙大到你受不了。


同樣是學java 後端,資料庫CRUD。
有些人就是月薪十萬起跳。高流量不垮,成本低。
有些人就是月薪四萬。QPS只有10,還容易掛掉。

同樣是用學ChatGPT  API。
有些人月薪就是15萬起跳。順便解決AI非事實幻想問題。甚至用免費的Open LLM改就能達到同樣AI要求,成本低,品質好。
有些人就是4萬。只會改prompt,持續產生一堆不可用在客戶公司的非事實。成本高,品質差。


工具是什麼:

前端:JS,一堆framework(Vue , React…)

後端:
Java/.Net/Python 語法,
各種資料庫查詢怎麼用。
各種cloud native工具指令怎麼下。
kubernetes各種指令怎麼下。
各種CI/CD工具,怎麼用。今天是Jenkins,明年可能又是gitlab,換間公司可能是CircleCI


AI:tensorflow/Keras/pytorch API怎麼用。
HuggingFace的API怎麼用。OpenAI API 怎麼用。

這類工具,就是學起來只要幾個月,甚至更短的時間。但你會這些工具別人也很快就學會。

你今年用這工具,明年又有更好,更快,更便宜的工具出來了。今年出來一個AI模型了,明年出來更好的AI模型,我就換。

逼得你每年都要學新工具。
逼得大家每年學新東西。
但做得事情一樣爛,薪水也沒辦法提高。

你走向這條"技術學習之路",當然覺得"技術淘汰快",還低薪。因為這些根本不算技術,只是工具。


每年學會"更好的工具"當然很好,
大部分的人,還是在做品質很差,
價值很差的事情。

就像,你每年持續投資買了新的跑車,更輕巧,控制力更好,馬力扭力更大。但繼續跑交通擁擠的外送,在送餐。客戶持續怪你,為什麼送餐速度變慢了。

工具厲害:不代表你厲害,更不代表用戶有提高價值。多數人停留在,不懂得看場合選交通工具,駕駛技術爛,很爛的路線規劃。…

而這些才是真正該學的技術:
如何正確選擇,使用工具,高品質解決公司與使用者的問題。

zanyking其實把重點都說完後,我只是換個方式說。

技術:

前端:如何在多變的後端API格式,還能穩定處理各種例外狀況與資料。如何非同步的處理?

(這些都跟你用什麼framework無關,也不會被時間淘汰)

後端:

同樣的時間,軟體工具,硬體成本。你能做出查詢超快,QPS超高的資料儲存方法,幫公司?

如何選擇適當的framework,適當的資料庫,最小成本,最快達成公司需求。

當線上系統出問題了,你如何快速找到原因。Log/Trace/Monitoring機制是什麼才有效果。

流量小時,如何成本做得比別人低成本,更快交付。流量大時,如何做得比別人更穩,不要


如何把以上所說的技術,做成工具給別人用

如何把以上所說的技術,做成工具,賣給那些天天只會學工具的人用。

這些技術,會是5年,10年就淘汰的嗎?幾乎所有技術,我做了20年都還沒被淘汰。還一堆?


做AI的:

資料:在沒有乾淨標註資料的情況,怎麼樣把專案做好。如何在未來持續有更高品質的資料。

模型:

實際的業務問題,是該怎麼樣轉化為task。
(這件事情我也做了20年,看了20年paper,真的有學到的人不多)
模型的選擇策略是什麼,最適合當前場景的模型是什麼?你該怎麼樣選擇(修改)loss function?
真實使用環境軟硬體資源是什麼?如何在低硬體資源達到同樣效果。
訓練結果指標不如預期,你能不能有效分析根因,提升指標?上線的效果不如預期,你怎麼解決各種drift問題。

ML/AI產品化問題:
如何低成本高效率的serving,線上系統如何監控。如何自動化更新模型,讓AI效果持續維持或成長。

看到沒這都跟你使用哪個tensorflow版本無關,pytorch無關。不會因為tensorflow將來會不會被淘汰而影響。



其他不舉例了。

如果你持續學工具,當然很好。但千萬別把工具當多有價值的事情,工具從來就不是賺錢的法寶。工具明年出更好的,你學的技術當然被取代。

你是一個廚師,你把技術當成學工具當然好。但不代表你的廚藝。


如果你將技術定位為:
我怎麼用工具,做出低成本,省錢的,高效,客戶最滿意的東西。那麼價值就來了,而且這技術可以用一輩子到退休。

你是一個廚師,你把技術當成,怎麼樣用現有的鍋鏟工具,做出最符合客戶滿意的菜。這技術可用一輩子。


最後還是強調一下,

不是學最新的工具,程式語言,方法不重要。
很重要,我也一直在學。而是真正值錢的技術,不是你用了什麼新工具,而是你用工具能解決什麼樣難度的商業問題。

要快速提升技術,最快的方式就是選對戰場工作環境了。選對工作環境,環境與同事會讓你學到技術。

你想成為廚師,但天天在微波食品區,跟人談明年哪家微波爐可以讓食物更好吃,會自動控溫。當然可以,但這真的會讓你變成有價值的廚師嗎?

工具當然重要 (程式語言,前後端framworks,各種API怎麼用) ,但只剩下工具,很可惜,很沒價值,且淘汰快。



--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.54.104 (臺灣)
※ 作者: DrTech 2023-09-16 13:01:22
※ 文章代碼(AID): #1b1JQa9v (Soft_Job)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1694840484.A.279.html
※ 同主題文章:
Re: [請益] 雲端技術是Java工程師的必備技能嗎
09-16 13:01 DrTech
※ 編輯: DrTech (42.73.54.104 臺灣), 09/16/2023 13:03:47
gino0717: 南無阿彌陀佛1F 09/16 13:05
ja841014: 推2F 09/16 13:08
nh60211as: 確實3F 09/16 13:10
wulouise: system design我覺得算是generic domain knowledge,中文的技術定義太廣泛,不過framework的確就只是工具4F 09/16 13:11
prag222: 實務上一堆學了framwork就覺得自己了不起領得還不錯的..6F 09/16 13:27
za755188: 推推7F 09/16 13:56
devilkool: 推8F 09/16 14:28
kurtsgm: 有些剛入職場的人會把技術跟syntax畫上等號 只能笑笑了9F 09/16 15:35
drajan: 話是這麼說 但是大多數獵頭也只看得懂你會用什麼工具 而不是看你會什麼技術10F 09/16 15:50
keepxha: 那剛好過濾掉樓上說的獵頭 浪費時間12F 09/16 18:15
BoXeX: 也是有些技術適用範圍變小啦  像是以前後端code
有一堆各種省資源的作法  現在幾乎都只能在韌體看到了13F 09/16 18:56
viper9709: 推這篇~跑車外送跟微波廚師的比喻很棒15F 09/16 20:26
ssccg: 其實很多行業的技術就真的只是使用工具的技術
純軟這行不一樣的是用工具的碼農碼工跟生產工具的大廠、頂尖公司就是同業16F 09/16 20:31
k798976869: 其實一直換新工具其實也蠻有用的 可以裝忙創造就業機
對公司不一定有幫助 但對技術人員是好事19F 09/16 20:51
umum29: 學framework是基本功 要拼命學 因爲那都是高手的結晶22F 09/17 01:47
drajan: 開發出framework但沒人用還算是高手嗎?哭哭23F 09/17 06:53
superpandal: 翻譯就是工具的重要性取決你用來做什麼 但工具的好壞會影響你實現目標 就是市面上太多不令人驚豔的工具才如此  而好的工具通常也伴隨好的哲學
哲學即是找尋方向與道路的學問
工具用的好就是人劍合一 用不好就是... 當然好不好有原因24F 09/17 08:24
kop14922000: 想請問一下,要如何去選擇"對的環境",尤其是對一個剛入門的新鮮人,要如何去判斷這間公司是能夠學到讓自己的價值提升的?還是說只要自己知道不要只是學工具,要學習在什麼樣的需求之下去運用這些工具用最少的成本去達成需求這樣就好了呢?30F 09/17 09:58
smily134: 推推35F 09/17 11:31
loveu8: 推~
to kop14922000, 這個問題要反問一下自己期望的目標
以前把這些目標,看有沒有機會跟業界資深的前輩請益
然後在面試階段,去提出適當問題,讓公司的人
去回答你的問題,從問題中去判斷,是否未來加入的公司
有符合你學到東西的環境機會,或者有機會探索學習的環境36F 09/17 15:15
d8888: 推~~42F 09/17 17:41
Citadel:43F 09/17 18:10

--
作者 DrTech 的最新發文:
點此顯示更多發文記錄