WEB工程师
凌晨两点,程师我盯着屏幕上那个红色报错框,程师第17次刷新页面。程师客户在电话里说“按钮好像没反应”,程师实际上他指的程师是整个表单提交功能——一个被后端接口返回的 500 错误卡死的流程。这就是程师 WEB 工程师的日常:不是写代码,而是程师跟“意外”打交道。 我的程师工位上贴着一张便利贴:“用户不会按你预想的路径操作。”这话来自上周的程师教训。我做了一个商品筛选功能,程师逻辑上完美无缺:价格区间、程师品牌勾选、程师销量排序,程师每个条件都经过测试。程师结果上线第三天,程师运营同事拿着手机来找我,说“按了价格从低到高,怎么排序没变?”我检查了半小时,最后发现她用的是旧版本缓存页面。真相很简单,但排查过程像在黑暗里摸钥匙——你永远不知道问题出在前端 JS、后端缓存,还是 CDN 节点上。 WEB 工程师得同时扮演三种角色:建筑师、水管工和侦探。架构设计时,你得考虑页面首屏加载时间不能超过 3 秒,得权衡用 Vue 还是 React,得想清楚状态管理放哪层。但真做起来,又得写 CSS 让那个该死的下拉菜单在 IE 11 里不歪掉——2024 年了,还有银行内部系统用 IE。更折磨人的是调试:一个跨域请求报错,你查了网络面板、看了请求头、试了 JSONP,最后发现是后端少配了一个允许的域名。那种感觉就像你修好了车,结果发现油箱根本没油。 这行当有个反直觉的点:写代码的时间只占三成,剩下七成在沟通。产品经理说“加个分享功能”,你得追问“分享到哪?微信?微博?复制链接?”;设计师给的稿子上有个飘浮的动画,你得算算会不会引起页面重排导致滚动卡顿。最崩溃的是需求变更——上周刚做完的会员中心页面,这周领导说“把积分模块换成优惠券”。你看着自己写的 2000 行组件代码,心里清楚改动量相当于重写,但嘴上只能说“行,我评估下时间”。 不过也有爽的时候。去年我优化了一个报表页面,原来加载要 8 秒,用了虚拟滚动加接口分页后,降到 1.5 秒。第二天运营妹子跑来说“哎,现在点开就出数据了,好神奇”。那一刻的成就感,比拿年终奖还实在。WEB 工程师是那种“问题越脏,解决越爽”的职业,就像有人把一团乱麻扔你桌上,你花三天理顺了,第四天看见别人用起来顺畅,心里那点小骄傲藏都藏不住。 入行五年,我最大的感悟是:这活儿永远学不完。上周刚搞懂 WebAssembly 怎么调 Rust 代码,今天又冒出个 AI 自动生成页面的工具。你没法预测明年流行什么,只能保持一种“好奇且皮实”的状态——好奇新东西怎么玩,皮实到接受自己写的代码三个月后就被重构。说到底,WEB 工程师就是数字世界的泥瓦匠,一边砌墙一边拆墙,偶尔被砖砸了脚,揉揉继续干。