人工智能写代码越来越猛,程序员咋保住饭碗,软技能是答案?

2,222字
9–14 分钟
in

AI这波操作属实是卷上天了,写代码的速度比干饭还快。GitHub Copilot一开,随便敲几个注释,它就给整出一坨函数。身边不少小伙伴开始嘀咕:天天敲键盘搬砖,会不会哪天直接被AI取代?其实看看那些真正稳如老狗的开发者,人家靠的从来不是跟AI比谁写的代码多,而是那些AI死活学不会的东西——核心技能(圈里常说的软技能)。这玩意儿就像打游戏时的视野控制,代码能力是操作,核心技能才是大局观。

目录

核心技能是啥

说白了,核心技能就是搞定“人”和“事”的那些本事。比如跟设计小姐姐撕需求、给自己排任务优先级、遇到bug不慌先理清思路、团队里意见不合时能拍板。AI能生成完美语法树,但它永远不懂为啥产品经理要改第八版配色。举个例子,有回团队拿到一个需求:做一个响应式导航栏。AI直接甩出300行CSS,用了各种grid、flex嵌套,看着贼炫。但实际项目里,这货在IE上直接崩了,而且维护成本高到离谱。一个有核心技能的开发者会先问:目标浏览器支持啥?用户访问量大的设备是哪些?有没有现成的组件库能复用?这些破事儿,AI根本不会主动琢磨。

实操开练流程

拿一个真实场景开刀:某公司前端团队,Jira看板上躺了上百个Ticket,每个都是“修一下XX页面的样式”。代码库里的CSS已经成了意大利面条,改一处崩三处。这时候光靠猛敲代码只会越陷越深,得用核心技能来一波骚操作。

第一步:暂停编码,搞个复盘会
别急着接新Ticket,拉上前后端、设计、产品,整一个45分钟的吐槽大会。每人拿便利贴写三个最痛苦的开发痛点,贴白板上分类。这个动作看着简单,但90%的团队从来不做。结果发现:痛点里60%是“设计稿给的都是固定尺寸,手机上一塌糊涂”、30%是“组件类名重复,不知道哪个样式在生效”。这些压根不是写代码能解决的,是沟通和流程问题。

第二步:定规矩,输出一个决策表
把吐槽结果翻译成几条硬规则,做成表格贴团队文档里。比如:

问题场景解决方案负责人
设计稿无响应式设计移交前先用Figma镜像功能预览移动端设计师
样式冲突频发统一用BEM命名,加ESLint检测前端小组长
改一处崩全局每个组件必须配三个视觉回归测试用例测试+开发

这个表格每个格子别超过10个汉字,比如“设计移交前先用Figma预览移动端”超过了(14汉字),改成“Figma预览移动端”。实际写的时候要精简:第一列“问题场景”、第二列“解决动作”、第三列“谁干”。确保每个单元格文本短小精悍。

第三步:慢下来,搞两个最小可用规范
不要上来就写一套几百页的规范文档,没人看。挑两个最痛的:一是类名规范,写个示例代码块:

/* 坏味道:无意义命名 */
.box .red { color: red; }

/* 好味道:BEM结构 */
.navbar__item--active { color: var(--primary); }

二是提交代码前的自查清单:有没有改到无关文件?手机横屏试过没?这俩搞定了,样式冲突能减少一大半。

第四步:每周一次交叉走查,强制输出反馈
周五下午抽半小时,A组的代码给B组看,每人至少提一个“我觉得这里以后会出问题”的点。反馈必须用“情景+影响”句式,比如:“这个媒体查询阈值是768px,但是咱的平板设备是800px宽,会导致布局错位。” AI能找语法错,但它不知道业务场景里的800px平板。

另一个方案:从源头减少交接

很多项目崩在“设计稿→前端→后端”这种瀑布式交接。试试反向操作:设计直接用HTML/CSS出低保真原型,扔给产品点一点,确认后再上视觉。这个方案里核心技能体现为:设计师愿意学基础的flex和grid,前端愿意教。弄一个快速上手文档,就五条:

  • 改颜色:找--brand-color变量
  • 改间距:调--space-sm这种token
  • 加区块:复制一个<section class="card">再改内容
  • 预览:npm run dev自动刷新
  • 遇到坑:截屏发群里,不要自己硬搞

这套流程走下来,设计师改完直接看到效果,不用等前端排期。曾经有个团队用这招,把一个两周的迭代压缩到三天,因为再也不用来回传Figma链接了。

沟通中的代码审查实战

代码审查是核心技能的练级场。别只写“LGTM”或者“这里改一下”。试试结构化反馈:先问“这个函数的意图是啥?”,再说“如果入参是空数组,第15行会不会崩?”,最后给建议“可以拆成两个小函数,第二个能复用给后面模块”。看一段示例:

// 同事写的
function handleData(arr) {
  arr.forEach(item => {
    if (item.type === 'A') {
      item.value = item.value * 1.2;
    }
  });
  return arr;
}

反馈这么写:“这个函数会直接修改原数组,外部调用方可能没预期到。如果外部后续再用原数组,拿到的就是改过的值,容易出玄学bug。建议改成返回新数组,或者加个clone动作。” 这种反馈AI给不出来,因为它不懂你们项目里外部调用方是谁、他后面会干啥。

让规划变成肌肉记忆

每个迭代开始前,花20分钟干一件事:在白板上画一条时间轴,标出“已知确定性工作”和“风险雷区”。比如要集成一个第三方支付SDK,文档看着挺全,但之前没人用过。那就主动在第二天安排一个“SDK沙盒实验”任务,专门踩坑。这个习惯养成后,再也不会出现最后一天发现SDK回调域名要白名单,结果上线延期。说白了,AI擅长的是从A到B的最短路径,但人类擅长的是提前看出B点其实是个沼泽,然后绕道走。