有时,做后端开发和维护也会遇到奇妙的事情。时间退回到几周前,当时有个任务是要修改测试环境中的数据库数据,我看是测试环境,并且就修改一个值,感觉并不麻烦,于是就接了下来。受限于业务的熟悉程度,还有访问测试工具的权限,我就叫上了另外一个组的同事 J 一起来处理这个需求。
因为我们想跳过复杂的行政流程,因此就采取了一个讨巧的方法去修改。虽然花了一些时间,解决步骤也比较讨巧,但从中我受益良多。等任务解决了,我就欣然的和对方汇报,说修改完成了。我想,也是因为回复的太过迅速,以至于给对方留下了一个「解决类似问题专业人」的印象,即便并非是我本人直接解决的。
时间继续推进,就在我快把这个事情忘的差不多了,类似的请求又发生了,而且是在最忙碌的时刻。通常,项目以两个星期为一个小周期,多个小周期凑成一个大周期。在大周期的末尾,所有的人都会集中起来,花上两三天的时间制定下个大周期的计划。此时是最忙的时候,因为要不停的开会,听其他项目的同时,制定自己项目的计划。
变更的需求发生在清晨。我刚坐到办公室,打开笔记本,就收到了消息。首先是需求方 K 的消息,再来是一个不太熟识的领导 P 远在印度向我打招呼,然后是组内安排计划的同事 B 和我私聊了这个事情,最后自然免不了上次帮忙的同事 J 的询问。
有这么着急么?我心里念叨着。为打消心里的困惑,还特地向同事 B 确认了一番,问是不是需要忽略近两天忙碌的会议,而去解决今早临时出现的问题。同事 B 和我说,她已经和另外组的同事 J 联系过了,毕竟他们组负责的内容,应由他们来处理。我说好,然后静静等待进展。
随着同事 J 不断的在和我联系,我大概确定了,这事情是非常重要的,看来要今天我是铁定跑不了了。于是我一边开着视频会议,一边打开了文档编辑器,准备数据库变更操作的 SQL 命令。这次的需求,看着描述类似,实则大相径庭:一来是涉及的车辆变得很多,二来是在实际的生产环境,而不是测试环境。前者,意味着我要准备一份长长的,包含许多车辆识别码的脚本,逻辑虽然不复杂,但架不住脚本太长,因此编辑时要格外留神。后者,实际的生产环境意味着任何的改动都需要提前报备,符合正确的流程,然后在选择正确的时间执行。一般来说,需要提前一两个星期的准备时间。(顺带一提,如果真的按照时间表操作,执行时间应该是在明年)我不担心技术层面的执行,但会很在意流程的合规,而这恰恰是程序员无法控制的。
倒是和我一起解决问题的同事 J 还挺淡定的,说让需求方去沟通吧,毕竟对方得给出合适的理由。我连声答应。
从上午到下午,我一边开着会议,一边准备脚本,一边盯着记录流程的网页,看看需求方是否有留言,状态是否更新了。过了一会儿,专门负责流程的组(另外一家公司)倒是不紧不慢的在里面留了言,询问是否有测试环境的变更记录,理由是否已经被描述,等等。
因为需求方也要和我们开会,因此回复也不算及时。又过了一阵子,同事 J 发消息提醒,说是流程已经被许可了,等下开完会,可以一起执行操作。我说好,同时瞟了一眼留言,只见里面赫然出现了一串红色加粗的大字。
这个变更需要被立刻执行,因为其中有一辆是苹果 CEO Tim Cook 的车!
太乐呵了,这是我第一反应。第二反应是有些紧张,毕竟问题涉及到的人身份比较特殊,这倒是也解释了他们会这么着急的缘故。
会议还在开,我的脑子就开始飘乎:「厨子(Cook)的车,他竟然会开这种车,竟然不是其它品牌的车?这是他的第几量车?是他的,还是他管家的?我这个操作看来是意义非凡呀。哈哈哈,厨子竟然也有今天,还需要远在大洋彼岸的我来帮忙。就让你感受到来自德国的神秘力量吧…」
一种奇怪的使命感在我心中升起,仿佛是在解决一件了不起的大事件。还没等会议完全结束,我就找了个由头提前离开,立刻和同事 J 取得了联系。简单商量了一下,因为我缺少权限,也没有额外的显示器,所以具体操作还得是由他来执行,我则负责检查和归档。实际操作分两步,第一步更改,第二部刷新。第一步进行得很顺利,但第二步出现了些问题,和我们的预期有些出入。
此时已经过了下班时间,我着急忙慌地给不同的同事留言,说需要额外的帮助。时间一分一秒过去,虽然仅仅过去了几分钟,但感觉却超乎想象的长。最后终于有一位资深的同事还在线,我立刻就将他拽入会议。经过一番理论讲解,以及执行过程中突入其来的小报错,波折后总算是正确的触发了刷新,变更请求也得到了正确的解决。
我将执行的状态和结果全部归档,并提醒请求方检查结果是否正确。我反复思索任务是否全部得到了妥善处理,等全部确认后,悬着的心才算落到地上。
结束以后,精神很疲倦,但脑中回忆起来,整段经历却散发着别样的有趣光彩。从中我也学到了不少,比方说技术与知识的可靠性,这是 junior 和 senior 之间的巨大鸿沟,同时也是当前很难依赖 AI 补足的。技术上,比如纯熟的 database 的应用,或是 psql 命令行的使用。知识上,有对业务系统的理解,也有对技术术语的理解。在紧急关头,不依赖搜索或 AI,而单纯使用一颗大脑去能去迅速定位并且解决问题,这是高手。
我希望成为可靠的人,这样就能「拯救更多的厨子」了。