一直说要用程序改变世界的Geek们,这次做到了

所有疫情便民小程序的背后,都有一群没日没夜赶工的程序员、产品经理。疫情当前,那些一直说要用程序改变世界的Geek们,这次,真的做到了。

本文首发于南方人物周刊

文 |本刊记者 邱苑婷

全文约4988,细读大约需要10分钟

疫情持续的一个多月来,人们养成了一些特殊的新习惯。

比如每天早上睁眼第一件事,是打开手机小程序,看看新增的病例数据和地区,找找自家附近有无确诊病例;比如买口罩可以用小程序预约摇号,摇中的幸运儿被称为“全家的希望”,像中了车牌号那样兴奋地晒朋友圈;比如在线找医生问诊;比如每日上传自己的健康状况,用健康码作为出入小区的凭证……

但鲜为人知的是,所有这些疫情便民小程序的背后,都有一群没日没夜赶工的程序员、产品经理。疫情当前,那些一直说要用程序改变世界的Geek们,这次,真的做到了。

以下是分别来自武汉、广州、成都的三位腾讯战疫小程序开发者的故事。在这个特殊时期,开发小程序不仅是技术活儿,更是一场与病毒赛跑的脑力活儿。无数个如他们一样的开发者背后,是无数平凡却闪光的战疫故事:几乎无休无眠的工作节奏、家人险些确诊的虚惊一场、一天两迭代的“魔鬼开发模式”……

“那天早上,老婆跟我说‘你女儿发烧了’”

口述者:武汉战疫小程序·项目负责人

熊威(腾讯云架构师)

2月7日“武汉战疫”小程序刚上线那天早上,老婆突然跟我说,你女儿发烧了。

我当时第一反应,“完了,我把我女儿害了”。从大年初四接到武汉市政数局(政务服务和大数据管理局)电话那天起,我几乎天天都要出门去市委市政府开会,和政府沟通开发需求、提供一些信息发布的平台,包括整合我们腾讯的医疗资源和健康服务做在线问诊、知识问答的小程序,能够帮助老百姓去解决问题。

最开始接到这个电话我是非常兴奋的,就跃跃欲试,觉得终于可以做事了。从1月23封城那天起我就不太害怕,想的就是十天过完可能就结束了。可我老婆天天看微博,看了之后就各种负能量,说万一你把我们传染了怎么办?

一开始我没在意。直到2月7日那天早上,老婆说女儿发烧了——我一下子很自责。可能这真的是我的个人英雄主义,可这些在家人健康面前是不值一提的。而且我每天跟指挥部各种人接触,每天通过接触数据了解的情况越来越多,加上我周围有朋友确诊了,说实话,我开始有点慌了。

好在,我女儿发烧的事是虚惊一场——我们很快发现只是因为家里暖气有点热,她流了很多汗,擦掉汗再量一次,体温就正常了。

从那天开始,头几天我会尽量不出门,在家沟通工作。但和政府沟通的需求非常多,后来不得不出门开会。最近这十来天,我就自己睡一间房,和家人隔离开,基本都是凌晨三四点才回家、早上八九点又出门,家人见不到我几面。

前几天我还跟老板吵了一架,太累了,真的太累了。我们现在这样做项目是违反自然规律的,正常项目两天一迭代,我们是一天两迭代。从中央到武汉市对疫情都十二万分重视,而这些领导就是我们现在每天面对的客户。他们提的要求也很高,有时留给我们的项目执行时间非常紧张。可能说我要上某项目,你明天就要给我上。

我们当时都觉得这是不可能的事情,但领导说,现在是打仗状态,不存在合不合理。

但后来真的做成了。那天大家发动集合了很多人,一起协作、分工,所有人加班熬夜,硬是在第二天把项目上线了。发现很多事情如果一味吐槽这不好那不好,根本解决不了任何问题,还不如做一些实际的事情去帮助改变。

因为人手不够,我们也有确诊后痊愈的同事现在远程帮忙。虽然身体精神状态肯定不好,因为他们吃药有时会有心悸、心跳过快、没有食欲之类的副作用,但还在坚持工作。

熊威 图 / 受访者提供

武汉是很特殊的。我们一开始也想开通很多功能,比如做一个数据可视化展示的平台,让大家知道哪个小区有多少人确诊、大概什么情况,就像腾讯地图,北京、上海、深圳,只要一定位就能显示周围小区有多少确诊、疑似病例。

当时我也想做,就问同事能不能帮忙做个武汉的。他说可以,很简单,我们联调测试一下,马上就能显示出来了。

但是当他把程序部署到政务云,联调测试,发现武汉的情况远比其他任何地方的都要复杂,直接程序卡死。

他根本没想到会有这么多。也就是说,他整个的算法、展示逻辑、交互逻辑(都不适合武汉),任何一个城市跟武汉都不是一个量级的。

2月22日武汉健康码上线第一天,已经有15万人申领了。未来,这些健康码、通行证、出行状态,可能都会结合到一个码里,甚至是医保卡、社保卡、公交卡,可能以后,就可以一码走天下。

确实有时候会有成就感。我们之前在“武汉战疫”里上线了一个有关疫情的知识问答,后来有一个做医疗随诊的公司说想跟我们合作,我问为什么呢?他告诉我,方舱医院的一些患者喜欢看这些医学科普知识,留存度也很高。

我们的小程序也有动态更新医院床位数量的功能,上面有武汉市肺炎求助电话。我们小区就有一位,觉得自己感染了,但一直没去治,因为排不上队。最后还真是通过这个小程序找到了医院,晚上打的电话,第二天早上就住进医院了。

也就是说,我们做的这个小程序,充当了一个信息互通的平台。一开始政府对我们这些面向公众的信息化项目会比较谨慎,但看到这些项目的成效还不错,后来也改变了很多。

我老婆现在也比较支持我,很温暖的。她知道我凌晨三四点才能回家,可能每天晚上给我留个言,说“注意身体,我给你做好了绿豆汤”——因为我最近上火了——还有“知道你平常吃不到水果,我把水果切好了,你回来直接吃就好”。

现在我就想疫情赶紧结束,恢复正常的状态。但当下我们肯定不能退。生命更重要,真的是这样。

你摇到的口罩,背后是一群人

连续的彻夜未眠

叙述者:广州穗康小程序产品经理汤文亮

当广州人第一次在朋友圈晒口罩预约结果时,开发广州穗康小程序的腾讯产品经理汤文亮和他的团队却心急火燎地整夜没睡——他们要在第二天早上7点前,向所有预约了口罩的用户发出一条提醒短信:申请成功只是进入了排队序列,不意味着已成功预约到口罩。

为了避免出现线下大规模聚集,他们紧急联系通信运营商、广州应急办,导出用户数据,编辑说明文字……足足几十万人需要被通知,但由于一次群发人数有上限,负责发短信的同事整整发了一个晚上。

为了全广州市民的口罩,穗康团队每晚平均入睡时间是凌晨三四点,熬夜通宵是家常便饭。每天下午4点左右,负责口罩供应的广药集团会将次日广州各门店的口罩储备数量统计给汤文亮,由技术人员导入后台更新,依此决定第二天可摇号预约口罩的总数。

穗康在广州已有一千多万注册量,解决的又是民众急需的问题。面对可预见的海量高并发,汤文亮和团队最骄傲的一件事情是:“我们没有宕机。”

在穗康上线前,出于先前设计处理高并发项目的经验,为了避免后台崩溃,技术人员特地设计了“三重缓冲策略”:

第一重是将登记界面里的基础数据全部静态化,以最快速度显示界面、避免无谓的后台数据交互;第二重是排队分批放行,类似地铁高峰期分流分批放行人群,根据每日情况和时段设置不同的可放行用户比例,主动调控用户量;第三重则是排队策略,所有登记报名先进入后台排队序列,并不立即运算口罩预约结果,而是由一个后台程序集中排队处理,避免高并发运算带来的性能问题。

以备不时之需,他们还向腾讯额外申请了16台服务器,甚至准备好了兜底方案——一个拟好的宕机公告。

“但是还好,这个公告目前还没有用上。”汤文亮笑着庆幸。

上线以来穗康已经迭代了20多个版本,预约口罩的规则也经过了几次迭代。“口罩抢购”模式其实并不是最好的模式——因为这种规则对于手速慢、不熟悉科技产品的老年人等不公平。新版本的摇号机制则是2月16日才上线——其实广州市政府相关领导及项目团队在早期就有考虑这个较为透明公正的规则,但之所以“姗姗来迟”,也是因为摇号涉及公证、数据封存等产品之外的问题,流程较为繁琐,系统逻辑也要做更复杂的处理。为了第一时间让广州市民有口罩可约,他们才决定先推出简单版本,再一步步迭代改进。

穗康团队和政府部门开会 图 / 受访者提供

但由于平台直接服务于公众,又处在疫情特殊时期,每一次版本规则的更新,项目组都必须将新规则上线的准确时间点提前预判并公之于众。对汤文亮和他的同事来说,这便成了一条绝对不可变更的deadline,倒逼项目组疯狂赶工。“每天都在倒计时下干活”,他们形容自己的状态。

汤文亮笑称,经过这次疫情,亲戚们终于知道自己的工作是做什么的了。汤文亮的很多同事会把速效救心丹放身边、教家人心肺复苏术,开玩笑说以防意外。而在家习惯闭门工作的汤文亮,他的小儿子经常会在门外怯怯地问:“爸爸,你可以开着门工作、让我看看你吗?我保证不打扰你。”“然而每次进门后,他都会兴风作浪一番!”汤文亮笑着说。

汤文亮图 / 受访者提供

一个个开发者“敢死队”,散若满天星

叙述者:“2亿战疫开发者公益联盟”项目负责人

谢卓霏

“2亿战疫开发者公益联盟”的谢卓霏也已经分不清楚每天是周几了。

疫情在全国散开,腾讯希望以提供资金和资源的方式,联合更多服务商和开发者,支持他们为政府、医疗、教育、企业等机构快速开发疫情服务小程序。

自从2月1日腾讯高层决策启动“2亿战疫开发者公益联盟”起,由腾讯基金会为主体、CSIG(云与智慧产业事业群)与微信合作执行,他所在的三人执行组仅用两天时间梳理好流程分工。

设计这个公益项目的原则是普惠性,必须兼顾效率和公平——也就是说,这个公益联盟无所谓淘汰与否,他们只想在疫情特殊时期,团结一切能团结的力量。

2月3日发布项目,当天便收到七八百份报名信息。截至2月8日,他们已经收到全国1395家公司、项目组的报名,来自北京、上海、广东、四川、贵州、安徽等五湖四海——这是散落在全国各地共同“战疫”的潜在开发者伙伴。

由于涉及到一千多家团队的了解考察,为了筛选优先批次,他们组建了一支50人的团队,专门负责打电话给报名团队,一家家了解情况,口干舌燥地一天下来,大概也只能访谈两三百家。根据属地原则,他们会优先选择项目本地的企业开展合作,尤其是在多个城市有分支机构的团队,由腾讯提供前端政府支持团队、架构师团队,再筛选一批有交付能力的团队进行系统培训。

由星星之火燎原,四川、贵阳、宿州、镇江、汕头、河源……各地的开发者联盟随之陆续展开了防疫一线的工作:

在四川,腾讯与四家合作伙伴结成“战疫联盟”,与四川省政府合作,用技术手段甄别与武汉、湖北相关的人群,同时建立申报健康状态、线索上报等快速入口,开发健康码,后续服务于企业开工复工;

在安徽宿州,这个人口680万左右的安徽四线城市,“微应急”小程序访问量每天达到200万次以上;

在贵州贵阳,借力于广州穗康口罩预约的技术架构,三天已发放三十余万口罩……

到2月26日为止,腾讯“健康码”已覆盖超过7亿人口,累计亮码人次超过5亿,是服务用户最多的健康码。在此之前,由于各地政府对于民众健康上报以及疫情管理的需求强大,腾讯已经帮助各地政府推出了超过60个疫情服务小程序,提供超过60项便民利企的疫情服务,其中包括“健康上报”等功能,在“健康码”产品概念成熟之后,疫情小程序也快速升级。

这些也许都曾夸下海口说“要用程序算法改变世界”的开发者们,现在散落在全国各地。他们有的在西部、每天去政府开会,会议室没有暖气也不敢开空调,瑟瑟发抖;有的开会要用喊的,因为与会者都戴着口罩为了安全分坐四个角落;有的在不间断的会议里挂掉了妈妈打来的电话,晚上才蓦然想起那天是自己的生日;有的每天晚上12点前从没离开过政府大楼,每次后半夜打开微信,都会看到妈妈凌晨一两点给他发来的信息:你回来了吗?

谢卓霏笑着说自己现在最怕接到客户电话,每个电话都意味着,需求还要继续改。他和同事基本每两天能睡上一会儿,和合作伙伴的会议总是安排在凌晨12点——那是与政府沟通需求的白天和程序员开始赶工的下半夜的空隙时段。

因为活儿越来越多,他们开会的时间越来越晚,从凌晨12点到现在的凌晨两三点,开会的人也越来越少,从最初的合作项目组合作伙伴方全员参加,到董事长、CEO、CTO三人,再到最后只剩下董事长:“不好意思,人手紧张,CEO和CTO都去干活儿了……”

谢卓霏着实觉得,两亿,对全国各地的战疫开发者来说,其实不过是杯水车薪的补贴。参与公益联盟的开发者们,无一不是拿出团队里最精干、段位最高的技术力量,超负荷地持续着这场特殊的信息化战疫。因为和政府的需求沟通必须当面进行,他们戏称自己为“敢死队”,每次集结合作伙伴前,他们首先要问的一个问题是:

“你们的人,这时候敢不敢出来?”