Re: [請益] 專精前端(或後端)vs全端工程師

作者: shter (飛梭之影)   2020-11-22 11:26:39
※ 引述《LennonX (生れて、すみません。)》之銘言:
: 小魯妹我是個資歷一年多的前端工程師,
: 就自己興趣來說,還滿想接觸後端,目標是 Full stack。
: 但最近資深同事一直告訴我一個概念,如果是為薪水著想,
: 與其全端樣樣通卻樣樣不精,倒不如認真鑽研前端技術,讓自己在前端變得很厲害。
: 小魯妹有點訝異,因為我一直以為市場喜歡的是全端,
: 感覺全端的機會與薪水都會高於只偏向前(或後)端。
: 畢竟面試過很多公司,感覺他們都希望是前後端都能掌握的工程師。
: 不知道各位年薪 300 的大大怎麼想呢?
之前剛好有一份工作是全端,我不知道是否會趨勢化,但全端不一定是一人包前後的案子
事實上那是一份不小的專案,前後端各有數人在開發,甚至客戶 App 也會來串機器
簡單介紹一下那個專案架構
我方開發 web 前端,機器上跑大量 C 的程式,需要把既有 command line 東西視覺化
為了達成雲端操作,所以需要有一個全端來設計 API + SDK
為了讓原本寫 C 的人繼續專精,所以我的工作是寫 Node.js call 機器上的程式
設計 API 讓打過來的需求轉成對應指令然後在執行完把節果格式化後拋回去
拋回去的前端我也要自己寫一支 js library
我方 web 前端用 Vue,客戶 App 用 React Native,政策因素都不直接打 API 到機器
而是有點像引用 Google 服務方式 import js sdk 進行操作
然後我要順便處理己方 web 端 Vuex 的管理
於是,我們的 web 前端變成不需要自己 call API
而是根據需要 call SDK function 或在 computed 收 Vuex state
更專心於把資料顯示在畫面上的元件開發工作,不處理打 API 的流程順序格式轉換啥的
而輸入檢查因為是我做 sdk check function 前後端都用同一支 js 跑來維持一致性
其實有滿多開發上不重複寫的便利性在
客戶也不用管機器位置、API 參數、回傳格式,就 sdk call async function 而已
想想這可能算是一種較專精的全端工作,不寫畫面,所以也沒用 webpack 打包
而是用 Rollup 去打包一支 sdk js
並讓前後端都通用的程式碼要在 Node.js 與 Browser 上都能順利執行
最後是知道那些 C 程式的輸入、輸出資料格式要怎麼整理前端會比較好處理
( Command Line 下回來的資料如何 parse 後弄成 JSON 給前端吃)
反過來說,這的確也是不專精,你雖然知道前端要怎麼處理資料轉成畫面
但你在前端沒有自己動手在刻那些 UI 元件,在後端也沒有自己跑啥演算法
至種全端只是讓前後端彼此不直接接觸的橋樑,也只有一定規模的公司才會開這種缺
作者: GoalBased (Artificail Intelligence)   2020-11-22 15:20:00
前端在幹嘛你不知道 後端在幹嘛你也不知道 怎麼覺得自己是全端
作者: x246libra (楓)   2020-11-22 17:54:00
middleware工程師,有點吃力不討好,好像韌體唷xd
作者: netburst (133 134 592)   2020-11-22 20:47:00
變成你在幫後端UT API 後端就不會自己測了
作者: ctrlbreak   2020-11-22 22:56:00
這個叫middleware...
作者: GGFACE (ggface)   2020-11-22 23:11:00
好強
作者: kangan987 (Jon.Snow)   2020-11-23 00:51:00
這感覺跟我同事做的事差不多,機器那邊是C,然後後端處理protocol存到資料庫,再開功能給前端控制台,使用者只要從控制下就可以針對不同的機器下指令
作者: Royne (哲哉)   2020-11-23 04:09:00
ipmi嗎
作者: Csongs (西歌)   2020-11-23 08:27:00
後端別分這麼細XDD
作者: j62065678620   2020-11-23 09:18:00
寫unit test跟api沒有關係
作者: Nitricacid (硝酸酸)   2020-11-23 16:31:00
這是後端...
作者: viper9709 (阿達)   2020-11-23 23:49:00
這個不是一般說的全端吧...
作者: sharek (...)   2020-11-25 00:02:00
怎麼看都是用後端角度...

Links booklink

Contact Us: admin [ a t ] ucptt.com