作者shter (飞梭之影)
看板Soft_Job
标题Re: [请益] 专精前端(或後端)vs全端工程师
时间Sun Nov 22 11:26:39 2020
※ 引述《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 元件,在後端也没有自己跑啥演算法
至种全端只是让前後端彼此不直接接触的桥梁,也只有一定规模的公司才会开这种缺
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.225.7.244 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1606015605.A.1C2.html
1F:→ GoalBased: 前端在干嘛你不知道 後端在干嘛你也不知道 怎麽觉得自 11/22 15:20
2F:→ GoalBased: 己是全端 11/22 15:20
前端在干啥是非常清楚的,因为资料是串给前端开发元件用
会存在 Vuex 的 state 结构下,本来就要开发测试元件看看读取操作是否符合需求
後端就真的比较像知道那些 C 程式要怎麽 call 的应用者角色而非开发者了
但还是要处理 session、排程、一些基础 table 的 CRUD
跟写 PHP 时比起来,node.js 不用 cron 而用自己的计时器排程满有趣的
3F:推 x246libra: middleware工程师,有点吃力不讨好,好像韧体唷xd 11/22 17:54
也不会喔,因为分工变的更明确
纯前端那边不再有 call API 或逻辑运算的东西,这些都丢在 sdk 内
於是 Unit Test 就切的很乾净了,前後端通讯与逻辑运算的测试程式就针对 sdk 跑
前端就专心刻元件、制作效果,也不会再跟後端勾勾缠
对於一直往下滑然後 load grid list 的预先快取也统一在 sdk 控制
不管是自己公司的前端或客户都不会出现 load 资料的差异
※ 编辑: shter (36.225.7.244 台湾), 11/22/2020 20:44:03
4F:→ netburst: 变成你在帮後端UT API 後端就不会自己测了 11/22 20:47
5F:推 ctrlbreak: 这个叫middleware... 11/22 22:56
6F:推 GGFACE: 好强 11/22 23:11
7F:推 kangan987: 这感觉跟我同事做的事差不多,机器那边是C,然後後端处 11/23 00:51
8F:→ kangan987: 理protocol存到资料库,再开功能给前端控制台,使用者 11/23 00:51
9F:→ kangan987: 只要从控制下就可以针对不同的机器下指令 11/23 00:51
10F:推 Royne: ipmi吗 11/23 04:09
11F:推 Csongs: 後端别分这麽细XDD 11/23 08:27
12F:→ j62065678620: 写unit test跟api没有关系 11/23 09:18
13F:→ Nitricacid: 这是後端... 11/23 16:31
14F:→ viper9709: 这个不是一般说的全端吧... 11/23 23:49
15F:→ sharek: 怎麽看都是用後端角度... 11/25 00:02