※ 引述《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 元件,在后端也没有自己跑啥算法
至种全端只是让前后端彼此不直接接触的桥梁,也只有一定规模的公司才会开这种缺