2026年8月11日,星期二,天气晴。
这是我毕业后正式上班的第一天。也是全球三千万开发者的末日。
> 早上:一切都那么完美
早上八点四十七分,我站在深圳南山科技园一栋玻璃幕墙写字楼的十二层,胸前挂着印有"星帆科技·初级前端开发工程师"的工牌,手里端着一杯入职时前台小姐姐帮我泡的美式咖啡。昨天刚从广州的城中村出租屋把行李搬来深圳,合租房的床板太硬,一夜没睡好,但心情依然好得不行。
投了三百多份简历、面了二十多家公司、被拒了十八次之后,终于有一家公司愿意要我了。试用期月薪八千,转正一万。对于一个二本计算机专业毕业、大学四年在宿舍打了两年游戏、最后一年才突击学了React和Vue的普通学生来说,这份工作是我能抓住的最好的一根稻草。
我的工位在办公区靠窗的第三排,桌面放着一台崭新的ThinkPad,旁边是一盆绿萝和一个印着公司logo的马克杯。带我的mentor老严是个三十出头的全栈工程师,头发有些稀疏,穿一件洗得发白的黑色T恤,正在工位上吃肠粉。看到我来了,老严抬头冲我笑了笑:"来啦?先把电脑开机,等会儿我拉你进咱们的GitHub组织,先把代码clone下来跑一遍。"
"好嘞严哥。"我把咖啡放在桌上,按下笔记本的开机键。我爸昨晚还打电话来,说在亲戚群里发了"我家子昂在深圳科技公司当工程师"的消息,收获了三十多个赞。我当时觉得有点丢脸,但此刻坐在工位上,看着落地窗外深圳湾的景色,我觉得他发的那条消息也不算太夸张。
> 九点二十三分:最后一行正常的命令
上午九点二十三分,老严在Slack上发了一个链接,是公司GitHub组织里的一个私有仓库。"这个是咱们'星云CMS'管理后台的代码,你先clone下来,然后我帮你分一个简单的bug改一下,练练手。"
我回了个"好的",打开终端,输入 git clone 命令。我对这个命令不算陌生,过去一年在B站看了不少教程,GitHub上也有几个我仿写的项目用来当求职作品,虽然那些项目加起来不到五十个star,但好歹让我在面试时有东西可以聊。
进度条跑到73%的时候,终端突然卡住了。我以为是网络波动,等了几秒,屏幕上弹出一行红色的报错:
我皱了皱眉,重新敲了一遍命令。这次更离谱,终端直接返回:
"严哥,这个仓库好像……没了?"我转过头去看老严。他正嘴里嚼着肠粉,含糊不清地说:"不可能,我刚还开着呢。"他刷新了一下浏览器里的GitHub页面,然后整个人愣住了。
> 九点三十分:世界开始崩塌
老严的屏幕返回了一个纯白色的404。他连续刷新了好几次,页面纹丝不动。接着他打开公司其他几个仓库的页面,一个接一个地返回404,就像多米诺骨牌一样倒下去。
"搞什么……"老严放下筷子,抓起手机打给后端的李哥:"老李,你那边GitHub能打开吗?我这边所有仓库都没了。"
电话那头的声音大得连我都听见了:"全没了!我特么所有服务配置文件都在上面,现在生产环境的docker-compose拉不下来,整个部署流水线全红了!"
短短三分钟,整个办公室从安静变成了一片嘈杂。有人在大喊"GitHub Status呢?看Status页啊!",有人回了一句"Status页本身也打不开了!",然后是一阵噼里啪啦敲键盘和此起彼伏的手机铃声。我坐在自己的工位上,手里还握着那杯已经凉了的美式咖啡,整个人完全懵了。
我第一反应甚至不是担心代码丢了,而是担心我这份工作——第一天上班,我还没来得及做任何事,公司的技术基础设施就崩塌了。
> 上午:灾难应急
技术总监从自己的办公室冲出来,大声问:"谁有本地备份?谁有最新的完整本地备份?"后端的李哥说他本地的仓库是两周前的版本,前端的另一个同事说他昨天刚删了本地仓库想重新clone一份干净的,然后今天就clone不下来了。老严的本地代码倒是比较新,但只保留了 main 分支,公司用了Git Flow工作流,所有的feature分支、hotfix分支、正在开发中的十几个需求模块代码,全部只在GitHub远端存了一份。
这些东西全没了。
我像一个战场上的新兵,手里连枪都没有,站在原地看老兵们四散奔逃。我甚至不知道公司项目架构是什么样,只知道那个叫"星云CMS"的东西是一个内容管理系统。此刻这个产品的代码本体正在互联网上蒸发,而我是这个团队的最新成员,工龄:三十七分钟。
> 十点之后:全球性灾难
消息从四面八方涌来。不只是星帆科技,全世界的GitHub全部消失了。Twitter上已经炸了锅,#GitHubIsDown 冲上全球热搜第一。npm正在崩溃,全球开发环境正在发生连锁故障。
我翻到一个截图,是某个海外开发者在论坛上发的帖子,标题是:"我们公司的代码、文档、CI/CD、issue记录全部在GitHub上,现在我们变成了一家没有任何技术资产的公司。"
我盯着那个帖子看了五秒钟,默默地把手机扣在桌上。我想起自己过去一年花了大把时间刷LeetCode、背八股文、美化GitHub主页、给自己的项目仓库加上好看的README和GitHub Actions徽章,就为了让面试官点进我主页的时候能多看一眼。现在那个主页就像一座被炸毁的博物馆。
我投简历时挂在附件里的GitHub链接,现在点开只有白茫茫的一片。那些熬夜写的代码、录的demo视频、甚至我的技术博客都是用GitHub Pages搭的——全部灰飞烟灭。
我突然很想给我爸打个电话,但不知道该说什么。他昨天才在亲戚群里炫耀过,现在总不能打电话说"爸,我上班第一天,我的行业完蛋了"。
> 中午到下午:被清退
中午十二点,全公司的人都没心思吃饭。行政小姐姐订的盒饭堆在茶水间没人领。我肚子饿得咕咕叫,但不好意思去拿。我坐在工位上反复刷新GitHub的页面,刷了大概两百多次,每一次都是那个惨白的404。
下午两点,公司的CEO召集全公司开了一个紧急会议。会议室的投影仪上显示着一张惨淡的统计表:星帆科技目前有四个在维护的软件产品,全部严重依赖GitHub生态。其中"星云CMS"的代码丢失程度最严重,v3.0的所有开发分支、设计方案文档、API变更讨论,全部留在了那个消失的平台上。
CEO说:"我跟大家说实话。如果GitHub短期内不能恢复,我们可能需要考虑退回到v2.7.1的维护状态,暂停所有新功能开发。这意味着我们今年规划的新客户项目全部要延期,合同违约金是一笔不小的数目。我没办法给大家任何承诺,只能说……我们尽量撑过去。"
会议室里安静得能听到空调的嗡嗡声。我坐在角落里,手心全是汗。我像一个灾星,上班第一天就把整个公司拖进了深渊。
> 下午四点半:HR的谈话
HR的姐姐把我叫到了小会议室,表情有些为难。她说:"子昂,今天的这个情况你也看到了,公司现在进入了紧急状态。技术部门后续的工作安排存在很大的不确定性,你的mentor老严现在全部精力都在救灾上,短期内肯定没办法带你。所以公司的意思是……你的入职流程先暂停,你先回去等通知,等这边情况稳定了我们再联系你。"
我张了张嘴,想说点什么,但喉结动了动,什么声音都没发出来。我最后只点了点头,站起来走出了小会议室。
我回到工位上拿起自己的背包,把那盆绿萝往边上挪了挪,犹豫了一下,把公司发的那个马克杯也装进了包里——好歹是第一天上班的纪念品。老严看到我收拾东西,愣了一下,然后站起来拍了拍我的肩膀,低声说了句"别多想,这不是你的问题,等这阵过去了严哥再叫你回来"。
我嗯了一声,低着头走出了办公室。站在电梯间等电梯的时候,手机响了,是我爸打来的。
"子昂啊,第一天上班怎么样?同事好不好相处?有没有人带你?"
我握着手机,看着电梯数字一格一格往上跳,喉头发紧。深吸了一口气,说:"挺好的,爸。同事都很照顾我。"
挂掉电话之后,我在电梯间站了很久。电梯来了又走,我没上去。
> 下午五点零三分:离开
我走出写字楼大门的那一刻,突然很想哭,但眼泪就是掉不下来。我想起大学操作系统课上老师讲过的一句话——"单点故障是分布式系统最忌讳的设计"。当时觉得这只是一个枯燥的概念,现在我用整个职业生涯的第一天理解了这句话的全部重量。
我把这条短信标记为已读,然后把手机塞进了裤兜。地铁隧道里的灯光一盏接一盏地掠过车窗,我忽然想起来,老严早上发给我的那个clone命令,进度条停在了73%。我永远也不会知道剩下那27%的代码长什么样子了。
——林子昂,写于2026年8月12日凌晨,深圳合租房。
最后编辑于:2028-04-05(补充了后续进展链接)
如果你正在读这篇文章,并且也是那一天失去代码的人——我想告诉你,一切都会好起来的。不是因为平台会回来,而是因为我们会重建。永远重建。