动不动就崩?咱今天敞开聊聊那些让人挠头的“技术部原因”

mysmile 5 0

大家有没有发现一个特别有意思的现象?就是现在这年头,不管你用个啥APP,哪怕是点个外卖或者打个卡,只要出问题了,屏幕给你转圈圈转半天,最后弹出来个“系统繁忙”,这时候你问客服,问运营,最后兜兜转转回来,给你的解释大概率就是那么轻飘飘的一句: “技术部原因”

这三个字简直成了互联网界的“万能膏药”,哪儿痛贴哪儿。但我跟你说,咱作为这行当里摸爬滚打过好些年的“老油条”,今儿个咱就抛开那些场面话,用咱老百姓能听懂的大白话,聊聊这所谓的“技术部原因”背后,到底藏着的那些让人哭笑不得的破事儿。咱不讲那些高大上的PPT,就唠点实在的嗑。

其实技术小哥也不想背锅,他们也是真没办法

很多时候,咱一听到“技术部原因”,第一反应就是:“这帮敲代码的水平不行啊!”其实讲道理,有时候真不赖人家程序员小哥。你想想,一个产品好不好用,就像盖房子,技术那是垒砖的瓦匠,但房子盖成啥样,那得看产品经理画的图纸啊 -1

我有一次就亲历过这么个事儿,公司要上个新功能,老板催得急,产品经理那需求文档写得叫一个含糊,就跟“给我画个好看的颜色”这种描述差不多,具体是哪种好看?潘通色号是多少?不管,你先画。结果技术小哥熬了几个大夜给做出来了,一上线用户全懵了,按钮藏得比秘密基地还深,流程绕得能把你整晕车。这时候老板脸一黑,又问起来,答案又是 “技术部原因” 导致的用户体验不好。

你看,这锅背得冤不冤?真正的在这儿:很多时候这个“技术部原因”,压根儿不是技术实现不了,而是业务逻辑在根儿上就没捋顺 -3。技术部就像是快递员,你把地址写错了,或者写个“老地方”,快递员跑断了腿送不到,最后你投诉快递员不专业,这上哪儿说理去?所以啊,下次再遇到事儿,咱得分辨一下,这到底是“技术部原因”,还是“那个拍脑袋定需求的人”的原因。

就像查案子一样,光是修复表面根本没用

还有一种情况更气人,就是同一个问题,它跟牛皮癣似的,反反复复地来。今儿个系统崩了,重启好了;明儿个又卡顿了,清缓存又好了。后边只要一到高峰期,准掉链子。这背后反映出来的 “技术部原因” ,其实是一种很深的无奈,叫做“没工夫挖病根”。

这就好比你家里水管漏水,你天天拿个盆在那儿接,虽然也能过日子,但你得天天倒水啊。真正的做法是把墙砸了,看看里头到底是管子裂了还是接头松了。但问题是,砸墙多累啊,还得花钱花时间,今天的工作已经排满了,先拿盆接着吧,等哪天有空了再说。结果就是,这事儿永远没空 -2

我跟你说个真事,有一回我们系统老是在夜里两点报警,运维的小兄弟每次都被吵醒,起来手动处理一下,让机器缓过来了就去睡。这么折腾了小半个月,一个个都熬出黑眼圈了。后来实在受不了了,几个人较上真了,熬了个大通宵去查日志、追数据,最后发现是里头有个自动脚本的时间设置错了,到了夜里两点就发疯。你说这事儿,如果不揪出这个根儿,光靠每天夜里起来“救火”,那就是用战术上的勤奋掩盖战略上的懒惰 -6。所以,当“技术部原因”导致问题重复出现时,大概率是团队陷入了“救火队员”的模式,没人给时间去当“防火员”。

人累狠了,代码也就跟着“罢工”了

再聊个更深的,一般外人看不到的层面。很多人都觉得程序员嘛,坐在办公室吹着空调,动动手指就把钱挣了。其实真入了这一行,你就知道那种赶项目上线的压力有多大。我们圈里有个词叫“死循环”,啥意思呢?就是因为BUG多,所以得延期;因为延期了,所以得拼命加班;加班狠了,脑子糊涂了,敲出来的BUG更多 -4

我就见过身边的同事,连续加班一个多月,整个人都是木的,眼睛里没神。那种状态下写出来的代码,你自己都不知道是啥玩意儿。这就像让一个48小时没睡觉的司机去开长途,你说这车能不翻吗?这种状态下出的问题,表面上你是 “技术部原因” ,代码写错了,逻辑没想清楚。但这背后的是:这是人的生理和心理极限被突破后,必然的“技术性崩盘”

很多老板不理解,觉得我付了钱,你就得给我干活。但他们没算明白账,把人逼急了,出的篓子更大,修复的成本更高。那种为了赶工期牺牲掉的质量,最后都得连本带利地还回来。所以有时候“技术部原因”导致的故障,其实是管理节奏出了问题,是那根弦绷得太紧,绷断了。

技术部也想好好干活,但总有些“猪队友”工具

最后咱说点具体的操作层面的。有时候“技术部原因”真挺冤,明明思路挺清晰,人也挺精神,但就是手头的“兵器”不给力。

你比如说,测试环境。很多小公司为了省钱,测试环境配得跟闹着玩儿似的。开发小哥在自己电脑上跑得好好的,一放到测试环境就歇菜。为啥?配置不一样啊,数据量一大就卡死。这就好比你练车的时候开的是自动挡,结果考试给你个手扶拖拉机,你能不熄火吗?很多时候排查出来的“技术部原因”,最后发现是基础环境或者工具链的锅 -3

还有那个让人又爱又恨的第三方接口。现在谁家做产品不用点别人的服务啊?支付接口、地图接口、推送接口...有时候咱们这边啥都没动,突然就崩了。为啥?人家那边升级了,或者人家那边网络波动了。这时候你用户端看到的是咱们这个APP打不开了,你骂的是咱们的技术。可咱们的技术只能干瞪眼,催着第三方的客服,跟催债似的,人家一句“正在排查”,你就只能等着。这时候的 “技术部原因” ,其实是在替别人的“技术部原因”背锅 -7

所以说啊,这简简单单四个字里头,藏着的可能是需求的糊涂、管理的粗放、流程的缺陷,或者是外部不可抗力的拖累。下次再碰上APP崩了,大家也别急着上火骂技术小哥,他们可能在工位上比你还着急,一边擦汗一边在心里默念:“这回可千万别再是那个早该重构的老代码出问题了...”

毕竟,在这个复杂的数字世界里,哪有什么真正的岁月静好,不过是有人在背后吭哧吭哧地修修补补罢了。咱多点理解,也希望搞技术的同行们多点较真,少点应付,争取让那“技术部原因”出现的次数,越来越少。