手机屏幕的光晃得我眯了一下眼,凌晨三点十二分,一个老客户发来消息。没有寒暄,直接就是一句"系统出问题了,登录不上去"。
我盯着天花板看了三秒,脑子里快速过了一遍最近上线的那个项目。一个月前交付的库存管理系统,当时验收很顺利,客户还说终于能把那些Excel表格甩掉了。
翻身坐起来,打开电脑连上后台,看到错误日志里密密麻麻的红色提示。是数据库连接池的问题,最近他们业务量突然上来了,并发数超过了最初预估的范围。这种场景测试阶段确实没覆盖到——谁能想到一个小商贸公司半年后能把生意做这么红火。
给客户回了一句"在看了",然后开始改代码。
说真的,定制软件这行干得越久,越觉得上线不是结束,而是另一种开始。前期的需求调研、设计、开发、测试,那些都是可控的、有计划的。但软件真正跑起来之后,碰到的情况千奇百怪,用户的操作习惯、业务的增长速度、硬件环境的变化,任何一点都可能让一个"完美"的系统露出破绽。
凌晨三点的书房很安静,只有键盘的敲击声。我一边调参数一边想,当年入行的时候以为程序员就是写代码,后来才发现,写代码只是这份工作的一部分。更多的时候,是在跟人打交道,在理解一个行业的运转逻辑,在把客户脑子里模糊的想法变成屏幕上可以点按的按钮。
差不多四十分钟后,系统恢复了。我在消息里写了下原因和后续的优化方案,建议他们最近做一次压力测试,看看还有没有其他瓶颈。客户回了个"收到,辛苦了",又补了一句"没想到你们半夜还能响应"。
其实这种事在梓彤超越并不算是特例。做了十二年企业数字化服务,熬过的夜、处理过的紧急情况数都数不清。有些是技术问题,有些是业务流程没理顺,还有些纯粹就是用户忘了密码。但不管是什么情况,客户找你的时候,一定是他们自己解决不了的时候。这个念头一起,就很难心安理得地等到第二天早上。
天快亮的时候我又检查了一遍监控数据,确认没问题了才关电脑。窗外已经有鸟叫了,楼下早餐店隐约传来卷帘门拉起来的声音。
我靠在椅背上想,这个客户最初找到我们的时候,连需求都说不太清楚,就是觉得"想要个系统管管货"。我们一起去仓库看了三次,把入库、出库、盘点、报损这些环节一个个摸清楚,最后做出来的东西超出了他的预期。他说了一句让我记到现在的话:"原来软件不是买个盒子就能用的,是有人帮我把我脑子里乱糟糟的想法理清楚了。"
这句话比任何技术文档都让我受触动。定制软件的本质,不是写代码,是理解一个人、一个团队、一个企业,他们到底在做什么、想要什么、害怕什么。代码只是工具,真正有价值的是那个把需求翻译成功能的过程。
后来那个客户又介绍了两个朋友过来,都是做商贸的,需求类似但各有特点。每次接到这种转介绍,都觉得是对之前那些深夜里敲键盘的时刻,一份很实在的认可。
太阳已经完全升起来了,我泡了杯茶,准备等会儿再睡个回笼觉。今天还有两个方案要写,一个老客户要续约维护服务。日子就是这样,一个接一个问题,一个接一个解决,慢慢就走了十二年。
偶尔回头看,觉得这行最迷人的地方,不是技术本身,而是你做的东西真的有人在用,真的在帮他们解决问题。这种连接感,是屏幕和代码给不了的。