招人的前端前端区别时候,JD上写“前端工程师”和“前端开发工程师”,工程工程收到的师和师简历其实差不多。但真把人拉来干活,前端前端区别差别就出来了。工程工程
我待过一家做B端SaaS的师和师公司,团队里有个哥们儿title是前端前端区别前端开发工程师。他的工程工程日常就是接需求、写页面、师和师调接口、前端前端区别改bug。工程工程产品说这个表格要加个筛选,师和师他加;设计说这个按钮圆角从4px改成6px,前端前端区别他改。工程工程活儿干得漂亮,师和师代码也干净,但也就到这了。你让他想想这个筛选功能背后的数据量级、要不要做虚拟滚动、后端接口分页够不够用,他愣一下,说“这不是后端该管的吗”。
后来另一个项目组来了个前端工程师。有次需求评审,产品提了个“用户列表支持按标签筛选”的功能。这哥们儿当场就问了一句:标签数据是存用户表还是单独建关联表?如果标签量大会不会影响查询性能?要不要在前端做缓存?产品懵了,后端也愣了一下。他不是要抢后端的活,他是知道这个功能一旦上线,前端渲染、请求策略、甚至交互响应都会受影响。他得提前把这些变量想进去。
这就是分水岭。前端开发工程师,核心能力落在“开发”两个字上——把设计稿变成可交互的页面,把接口数据渲染成用户能看的东西。他们关注的是实现质量:兼容性、响应式、代码复用、构建速度。这已经不容易了,很多页面仔连这个都做不好。
前端工程师呢,“工程”两个字压在身上。工程意味着系统思维。他得考虑这套前端代码怎么组织、怎么拆分、怎么部署、怎么监控。他得知道CDN回源策略对首屏的影响,得明白骨架屏和懒加载的取舍不是拍脑袋,得在技术选型时说清楚为什么用Vite不用Webpack——不是因为新,是因为冷启动快了那几秒在CI流水线里能省出真金白银。
我见过一个极端案例。某电商大促前,前端开发工程师把活动页做完了,本地跑没问题。前端工程师看了一眼,问:CDN缓存策略配了吗?图片压缩到WebP了吗?接口降级方案有吗?大促流量是日常的五十倍,你确定这个轮播组件不会在低端机上卡死?后来果然,活动上线十分钟,低端机用户滑动卡顿率飙升。那个前端工程师临时切了静态兜底方案,把损失压下去了。前端开发工程师在旁边看着,说“我没想到会这样”。
薪资上也能看出来。同一个城市,三年经验,前端开发工程师可能拿15k到20k,前端工程师能摸到25k甚至30k。多出来的钱不是白给的——遇到线上白屏,前者可能查半天说“我本地好的啊”,后者会直接看Source Map、查CDN日志、回滚版本、定位到是某个第三方脚本加载超时导致阻塞。
当然,不是所有公司都分这么细。很多中小厂title随便给,干的活都一样。但如果你面的是字节、阿里、美团这种量级的团队,面试官问的问题就能让你感觉到差别。前端开发工程师的面试考React生命周期、CSS布局、手写Promise。前端工程师的面试会问:如果让你设计一个前端监控系统,你会采集哪些指标?怎么上报?怎么避免影响主流程?
说白了,前者是“把东西做出来”,后者是“把东西做好,并且知道为什么这么做”。一字之差,差的是对整个交付链条的理解深度。