软件开发者,别把自己活成只会接需求的人形接口

admin

前两天晚上十一点多,我给一个做开发的老朋友阿哲发消息,问他周末要不要一起去爬山,他隔了半小时回我一句:“还在改需求,产品说明早要演示。”后面跟了一个很疲惫的表情,我问他不是上周刚上线吗?他说:“上线只是开始,改字段、补兼容、修临时问题,一样都跑不了。”

阿哲不是个例,很多软件开发者都有类似的日常:白天开会、对需求、联调、回消息,晚上才有整块时间写代码;好不容易进入状态,一个“在吗”弹出来,思路又断了,外人觉得开发者就是坐在电脑前敲键盘,实际上他们更像是在需求、时间、质量和情绪之间反复找平衡的人,也正因为这样,我特别想说一句:软件开发者,别把自己活成只会接需求的“人形接口”。

我身边还有一个具体例子,去年冬天,我们合作过一个做后端的姑娘小林,她技术很扎实,脾气也好,谁找她帮忙都说“行”,产品临时加字段,她接;运营要导数据,她接;同事接口调不通,她也接,结果那个月她连续两周加班到凌晨,体检报告出来一堆指标飘红,更扎心的是,月底复盘时,大家只记得“项目按时上线了”,却很少有人注意到她一个人补了多少坑,她后来跟我说:“我不是不会拒绝,我是怕拒绝了显得不配合。”这句话我记了很久。

软件开发者当然需要协作,也需要理解业务,但协作不等于无限接单,理解业务也不等于所有模糊需求都自己扛,我一直觉得,开发者的核心价值不是敲了多少行代码,而是能不能把一个问题拆清楚、把方案做稳、把风险提前说出来,代码只是表达方式,真正值钱的是判断力,一个需求来了,先问清楚目标、边界、验收标准,比闷头写三天更重要;一个接口要改,先确认影响范围、回滚方案,比拍胸脯说“没问题”更靠谱,这些东西听起来不“酷”,但它们决定了一个开发者能不能长期走得稳。

还有一个很现实的生活实例:我自己曾经也陷入过“响应越快越专业”的误区,手机一响就看,群里一@就回,结果一天下来好像什么都没做完,后来我强迫自己做了两件小事:上午十点前不开即时通讯软件,集中写最难的那段逻辑;每次接需求前,先在文档里写三行——要解决什么问题、不做什么、什么时候能交付,刚开始有人说我“变慢了”,但奇怪的是,返工反而少了,沟通也顺了,因为很多争论,其实不是技术问题,而是一开始没人把目标说清楚。

我个人观点很明确:软件开发者一定要学会给自己留“认知余量”,这个行业更新快,AI 工具也越来越强,写一段增删改查、生成一个页面、补几个测试,门槛确实在降低,但工具越强,人越不能只会“接任务”,你要知道为什么这样设计,要知道系统坏了怎么定位,要知道一个看似简单的需求背后会不会拖出连锁反应,说得直白点,AI 可以帮你写代码,但不能替你承担判断;可以帮你提速,但不能替你建立信任,未来的软件开发者,拼的不是谁敲得快,而是谁更会定义问题、谁更懂业务、谁能让团队少走弯路。

所以我现在特别想劝同行几件事,第一,把“接需求”改成“谈需求”,别怕多问两句,问清楚不是能力差,是专业,第二,给自己设边界,非紧急问题集中处理,别让碎片消息把一天切碎,第三,留下记录,需求变更、技术决策、踩坑原因都写下来,这不是形式主义,是保护自己,第四,照顾好身体,颈椎、眼睛、睡眠这些老生常谈,真出问题时一点都不老生常谈,第五,别只做任务,也做一点自己的小作品、小工具、小总结,那是你区别于“人形接口”的东西。

软件开发者这份工作,说到底是用逻辑和耐心把混乱理顺,它值得认真做,但不值得把自己耗成一台只会响应的机器,我们可以配合,可以加班救急,也可以在关键时候顶上去,但别把“随时在线”当成职业素养,别把“所有需求都接”当成好人缘,真正成熟的开发者,不是永远说“行”,而是知道什么该做、什么该拒绝、什么该一起想办法。

阿哲后来还是去改了那个需求,但他跟产品约好:演示前只修影响主流程的问题,其余排进下个迭代,周末爬山他没来,不过给我发了一张中午下楼吃面的照片,说“今天至少按时吃饭了”,我看到那张照片,反而觉得比上线喜报更踏实,软件开发者首先是个活生生的人,然后才是写代码的人,这个顺序,别弄反了。

目录[+]