所有疫情便民小程序的背后,都有一群没日没夜赶工的程序员、产品经理。疫情当前,那些一直说要用程序改变世界的Geek们,这次,真的做到了本文首发于南方人物周刊文|本刊记者qxdxt
所有疫情便民计划的背后,都有一群夜以继日工作的程序员和产品经理。目前一直说要用程序改变世界的Geek这次真的做到了。
这篇文章最早出现在《南方人物周刊》上。
文字|我们的记者qxdxtg
编辑| bldxxm rwzkjpz@163.com
全文约4988,仔细阅读约需10分钟。
疫情持续了一个多月,人们养成了一些特殊的新习惯。
比如每天早上睁眼第一件事就是打开手机小程序,看看新增加的病例数据和区域,看看你家附近有没有确诊病例。比如买口罩,可以预约用小程序摇号。正在抖的幸运儿被称为“全家人的希望”,晒朋友圈就像中奖车牌号一样兴奋。比如网上咨询医生;比如每天上传自己的健康状况,用健康码作为进出社区的凭证.
但鲜为人知的是,在所有这些疫情便民项目背后,都有一群夜以继日工作的程序员和产品经理。目前一直说要用程序改变世界的Geek这次真的做到了。
以下是来自武汉、广州、成都三个腾讯战疫小程序开发者的故事。在这个特殊时期,开发小程序不仅是一项技术工作,更是一项与病毒赛跑的脑力工作。在无数像他们这样的开发者背后,有无数平凡却闪耀着战争流行病的故事:几乎无眠的工作节奏,家人近乎诊断的虚惊,一天两次迭代的“魔鬼开发模式”.
“那天早上,我妻子告诉我,‘你女儿发烧了’。”
旁白:武汉战疫小程序项目负责人
现代奇迹(腾讯云架构师)
2月7日,“武汉战疫”小程序上线的那天早上,我老婆突然跟我说你女儿发烧了。
当时我的第一反应是,“结束了,我伤害了我的女儿”。从大年初四接到武汉市政治统计局(政务服务和大数据管理局)电话的那一天起,我几乎每天都要出去和市委、市政府见面,就发展需求和政府沟通,提供一些信息发布平台,包括整合我们腾讯的医疗资源和健康服务,做线上咨询和知识问答的小程序,可以帮助普通人解决问题。
刚开始接到这个电话的时候,我很激动。我渴望尝试,觉得自己终于可以做点什么了。自从1月23日封城后,我就没太害怕过。我想的是十天之后可能就结束了。但是我老婆天天看微博。看完之后,她有各种负能量。如果你感染了我们呢?
一开始我不在乎。直到2月7日早上,老婆说女儿发烧——,我自责。也许真的是我个人的英雄主义,但在家庭健康面前不值一提。而且我每天都和总部的各种人有联系,每天通过联系资料了解情况越来越多。另外,我身边的朋友已经确诊了。说实话,我开始慌了。
幸运的是,我女儿的发烧是虚惊一场。——我们很快发现,只是因为家里的暖气有点热。她出了很多汗。把汗擦掉再量一遍,她的体温就正常了。
从那天开始,头几天我会尽量不出门,在家工作。但是太需要和政府沟通了,后来我不得不出去开会。在过去的十天里,我独自睡在一个房间里,与家人隔离。基本上是凌晨三四点才回家,早上八九点出门。我家人没见过我几次。
前几天,我和老板吵了一架。我太累了,真的很累。我们现在所做的是违反自然规律的。普通项目每两天迭代一次,我们一天迭代两次。从中央到武汉市,他们都非常重视疫情,这些领导就是我们现在每天面对的客户。他们的要求也很高,有时候留给项目实施的时间很紧。可能我想接某个项目,你明天给我。
那时,我们都在想
但后来真的成功了。那天,每个人都聚集了很多人,一起工作,分工合作。他们都加班熬夜,但第二天就把项目上线了。发现很多事情根本解决不了,不如做一些实际的事情来帮助改变。
因为人手不足,我们也有同事确诊后已经康复,现在正在远程帮助。虽然身体的精神状态肯定不好,因为他们吃药的时候有时候会有心悸、心跳加快、食欲不振等副作用,但是他们还是在工作。
现代奇迹地图/受访者提供
武汉很特别。一开始我们还想开放很多功能,比如做一个数据可视化展示的平台,这样我们就可以知道哪个社区有多少人确诊,情况如何,就像腾讯地图、北京、上海、深圳一样,只要定位就可以显示周边社区有多少确诊和疑似病例。
当时想做,就问同事能不能在武汉帮我做。他说是的,很简单。让我们共同测试一下,马上就会显示出来。
然而,当他将该程序部署到政务云进行联合测试时,发现武汉的情况远比其他地方复杂,直接程序被卡住了。
他从没想过会有这么多。也就是说,他的整个算法、显示逻辑、交互逻辑(都不适合武汉)和武汉是一个数量级的。
2月22日,武汉健康码上线首日,已有15万人申请。未来,这些健康码、通行证、出行状态都可能组合成一个码,甚至是医保卡、社保卡、公交卡。也许在未来,你可以用一个代码走遍世界。
有时候有成就感。之前我们在《武汉战疫》里贴了一个关于疫情的问答。后来一家做医疗随访的公司说想和我们合作。我问为什么?他告诉我,方舱医院有些患者喜欢看这些医学科普知识,留存率也很高。
我们的小程序也
有动态更新医院床位数量的功能,上面有武汉市肺炎求助电话。我们小区就有一位,觉得自己感染了,但一直没去治,因为排不上队。最后还真是通过这个小程序找到了医院,晚上打的电话,第二天早上就住进医院了。
也就是说,我们做的这个小程序,充当了一个信息互通的平台。一开始政府对我们这些面向公众的信息化项目会比较谨慎,但看到这些项目的成效还不错,后来也改变了很多。
我老婆现在也比较支持我,很温暖的。她知道我凌晨三四点才能回家,可能每天晚上给我留个言,说“注意身体,我给你做好了绿豆汤”——因为我最近上火了——还有“知道你平常吃不到水果,我把水果切好了,你回来直接吃就好”。
现在我就想疫情赶紧结束,恢复正常的状态。但当下我们肯定不能退。生命更重要,真的是这样。
你摇到的口罩,背后是一群人连续的彻夜未眠
叙述者:广州穗康小程序产品经理jmdmg
当广州人第一次在朋友圈晒口罩预约结果时,开发广州穗康小程序的腾讯产品经理jmdmg和他的团队却心急火燎地整夜没睡——他们要在第二天早上7点前,向所有预约了口罩的用户发出一条提醒短信:申请成功只是进入了排队序列,不意味着已成功预约到口罩。
为了避免出现线下大规模聚集,他们紧急联系通信运营商、广州应急办,导出用户数据,编辑说明文字……足足几十万人需要被通知,但由于一次群发人数有上限,负责发短信的同事整整发了一个晚上。
为了全广州市民的口罩,穗康团队每晚平均入睡时间是凌晨三四点,熬夜通宵是家常便饭。每天下午4点左右,负责口罩供应的广药集团会将次日广州各门店的口罩储备数量统计给jmdmg,由技术人员导入后台更新,依此决定第二天可摇号预约口罩的总数。
穗康在广州已有一千多万注册量,解决的又是民众急需的问题。面对可预见的海量高并发,jmdmg和团队最骄傲的一件事情是:“我们没有宕机。”
在穗康上线前,出于先前设计处理高并发项目的经验,为了避免后台崩溃,技术人员特地设计了“三重缓冲策略”:
第一重是将登记界面里的基础数据全部静态化,以最快速度显示界面、避免无谓的后台数据交互;第二重是排队分批放行,类似地铁高峰期分流分批放行人群,根据每日情况和时段设置不同的可放行用户比例,主动调控用户量;第三重则是排队策略,所有登记报名先进入后台排队序列,并不立即运算口罩预约结果,而是由一个后台程序集中排队处理,避免高并发运算带来的性能问题。
以备不时之需,他们还向腾讯额外申请了16台服务器,甚至准备好了兜底方案——一个拟好的宕机公告。
“但是还好,这个公告目前还没有用上。”jmdmg笑着庆幸。
上线以来穗康已经迭代了20多个版本,预约口罩的规则也经过了几次迭代。 “口罩抢购”模式其实并不是最好的模式——因为这种规则对于手速慢、不熟悉科技产品的老年人等不公平。新版本的摇号机制则是2月16日才上线——其实广州市政府相关领导及项目团队在早期就有考虑这个较为透明公正的规则,但之所以“姗姗来迟”,也是因为摇号涉及公证、数据封存等产品之外的问题,流程较为繁琐,系统逻辑也要做更复杂的处理。为了第一时间让广州市民有口罩可约,他们才决定先推出简单版本,再一步步迭代改进。
穗康团队和政府部门开会 图 / 受访者提供
但由于平台直接服务于公众,又处在疫情特殊时期,每一次版本规则的更新,项目组都必须将新规则上线的准确时间点提前预判并公之于众。对jmdmg和他的同事来说,这便成了一条绝对不可变更的deadline,倒逼项目组疯狂赶工。“每天都在倒计时下干活”,他们形容自己的状态。
jmdmg笑称,经过这次疫情,亲戚们终于知道自己的工作是做什么的了。jmdmg的很多同事会把速效救心丹放身边、教家人心肺复苏术,开玩笑说以防意外。而在家习惯闭门工作的jmdmg,他的小儿子经常会在门外怯怯地问:“爸爸,你可以开着门工作、让我看看你吗?我保证不打扰你。”“然而每次进门后,他都会兴风作浪一番!”jmdmg笑着说。
jmdmg 图 / 受访者提供
一个个开发者“敢死队”,散若满天星
叙述者:“2亿战疫开发者公益联盟”项目负责人
tsdsc
“2亿战疫开发者公益联盟”的tsdsc也已经分不清楚每天是周几了。
疫情在全国散开,腾讯希望以提供资金和资源的方式,联合更多服务商和开发者,支持他们为政府、医疗、教育、企业等机构快速开发疫情服务小程序。
自从2月1日腾讯高层决策启动“2亿战疫开发者公益联盟”起,由腾讯基金会为主体、CSIG(云与智慧产业事业群)与微信合作执行,他所在的三人执行组仅用两天时间梳理好流程分工。
设计这个公益项目的原则是普惠性,必须兼顾效率和公平——也就是说,这个公益联盟无所谓淘汰与否,他们只想在疫情特殊时期,团结一切能团结的力量。
2月3日发布项目,当天便收到七八百份报名信息。截至2月8日,他们已经收到全国1395家公司、项目组的报名,来自北京、上海、广东、四川、贵州、安徽等五湖四海——这是散落在全国各地共同“战疫”的潜在开发者伙伴。
由于涉及到一千多家团队的了解考察,为了筛选优先批次,他们组建了一支50人的团队,专门负责打电话给报名团队,一家家了解情况,口干舌燥地一天下来,大概也只能访谈两三百家。根据属地原则,他们会优先选择项目本地的企业开展合作,尤其是在多个城市有分支机构的团队,由腾讯提供前端政府支持团队、架构师团队,再筛选一批有交付能力的团队进行系统培训。
由星星之火燎原,四川、贵阳、宿州、镇江、汕头、河源……各地的开发者联盟随之陆续展开了防疫一线的工作:
在四川,腾讯与四家合作伙伴结成“战疫联盟”,与四川省政府合作,用技术手段甄别与武汉、湖北相关的人群,同时建立申报健康状态、线索上报等快速入口,开发健康码,后续服务于企业开工复工;
在安徽宿州,这个人口680万左右的安徽四线城市,“微应急”小程序访问量每天达到200万次以上;
在贵州贵阳,借力于广州穗康口罩预约的技术架构,三天已发放三十余万口罩……
到2月26日为止,腾讯“健康码”已覆盖超过7亿人口,累计亮码人次超过5亿,是服务用户最多的健康码。在此之前,由于各地政府对于民众健康上报以及疫情管理的需求强大,腾讯已经帮助各地政府推出了超过60个疫情服务小程序,提供超过60项便民利企的疫情服务,其中包括“健康上报”等功能,在“健康码”产品概念成熟之后,疫情小程序也快速升级。
这些也许都曾夸下海口说“要用程序算法改变世界”的开发者们,现在散落在全国各地。他们有的在西部、每天去政府开会,会议室没有暖气也不敢开空调,瑟瑟发抖;有的开会要用喊的,因为与会者都戴着口罩为了安全分坐四个角落;有的在不间断的会议里挂掉了妈妈打来的电话,晚上才蓦然想起那天是自己的生日;有的每天晚上12点前从没离开过政府大楼,每次后半夜打开微信,都会看到妈妈凌晨一两点给他发来的信息:你回来了吗?
tsdsc笑着说自己现在最怕接到客户电话,每个电话都意味着,需求还要继续改。他和同事基本每两天能睡上一会儿,和合作伙伴的会议总是安排在凌晨12点——那是与政府沟通需求的白天和程序员开始赶工的下半夜的空隙时段。
因为活儿越来越多,他们开会的时间越来越晚,从凌晨12点到现在的凌晨两三点,开会的人也越来越少,从sldqd的合作项目组合作伙伴方全员参加,到董事长、CEO、CTO三人,再到最后只剩下董事长:“不好意思,人手紧张,CEO和CTO都去干活儿了……”
tsdsc着实觉得,两亿,对全国各地的战疫开发者来说,其实不过是杯水车薪的补贴。参与公益联盟的开发者们,无一不是拿出团队里最精干、段位最高的技术力量,超负荷地持续着这场特殊的信息化战疫。因为和政府的需求沟通必须当面进行,他们戏称自己为“敢死队”,每次集结合作伙伴前,他们首先要问的一个问题是:
“你们的人,这时候敢不敢出来?”