三月的尾巴
广州的三月总是湿漉漉的。
回南天来的时候,连呼吸都觉得肺里在积水。实验室的窗玻璃上蒙着一层细密的水珠,顺着重力一道道往下淌,像某种缓慢的倒计时。空调开着除湿模式,压缩机在窗外发出沉闷的嗡嗡声,混杂着机箱风扇转动的动静,成了这个深夜里唯一的底噪。
我靠在椅背上,看着屏幕上深色的 VS Code 界面。光标在第 142 行代码后头有节奏地闪烁。这是一段处理 WebSocket 重连逻辑的代码,我盯着它看了快二十分钟,脑子里却是一团散沙。
三月快要见底了。
大四的下学期,按理说该是最清闲的时候,但我却觉得每天都被某种无形的焦虑包裹着。春招的兵荒马乱已经进入白热化,群里的消息每天都在刷屏,谁拿了大厂的 offer,谁又被哪家公司毁了意向。我把手机屏幕扣在桌面上,不想去看。
我是苏增烨,广州商学院软件工程专业,大四。
在很多人的认知里,广州商学院这个名字,等同于民办三本,等同于高考失利者的收容所,等同于在简历筛选第一关就会被 HR 的系统自动过滤掉的废纸。这几年里,我一直试图在身上贴满其他的标签来覆盖掉这个出身。GPA 4.02,专业第一,连续两年的国家奖学金。我的 GitHub 主页有一整片绿色的贡献墙,服务器里跑着自己折腾的各种服务,从博客到自动化部署的脚本,再到几个不大不小的开源项目。
我一直是个靠折腾来证明自己的人。总觉得只要我跑得足够快,只要我懂的技术栈足够多,只要我的绩点高到无可挑剔,别人在看我的时候,视线就能稍微在“苏增烨”这个人身上停留一下,而不是扫一眼学校名字就把我划归平庸。
但在这个三月的尾巴上,临近毕业的当口,我突然感到一种前所未有的疲惫。
那种感觉就像是,你用尽全力造了一艘很漂亮的船,但当你把船推到海边时,别人告诉你,这片海域只允许特定造船厂出产的船下水。
我叹了口气,把手重新放回键盘上。键盘是把用了三年的红轴,键帽早就打油了,摸上去滑腻腻的。我熟练地敲下 console.log('reconnecting...', attempt),保存,切到浏览器看控制台。
项目是一个轻量级的服务器状态监控面板,前端用 Vue3,后端是 Go。其实市面上早就有无数个成熟的替代品,但我就是想自己写一个。折腾这些东西能让我获得一种纯粹的掌控感。代码是诚实的,你传入什么参数,它就返回什么结果。如果报错了,那一定是有迹可循的逻辑漏洞,而不是某种不可抗力的偏见。
网络面板里的请求红了一片。Nginx 的反向代理配置似乎有点问题,导致 WebSocket 握手一直超时。我打开终端,连上那台每个月二十几块钱买来的轻量应用服务器,输入 vim /etc/nginx/nginx.conf。终端的黑色背景映出我有些凹陷的眼眶。
“还没搞完啊。”
旁边传来椅子滚轮摩擦地面的声音。林子把头凑了过来,他也是实验室的常客,这会儿正揉着发酸的脖子。
“快了,改个代理配置。”我头也没回,手指在键盘上敲击。
“饿了,整点宵夜去?”他拿起手机看了看时间,“十一点半,后门那家烧烤应该还开着。”
我摸了摸干瘪的肚子,确实有点饿了。晚饭只在食堂随便对付了一口隆江猪脚饭,这会儿胃酸已经开始抗议。
“行,点外卖吧,懒得走出去。”我说。
林子熟练地打开软件,点了两份炒米粉,加了一堆烤韭菜、烤茄子和几串羊肉。“他家最近孜然撒得越来越敷衍了,我备注一下让他多放点。”他一边嘀咕一边下单。
等待外卖的时间里,我终于把 Nginx 的配置改好了。执行 nginx -s reload,再切回浏览器刷新,控制台里终于跳出了绿色的 connected。看着数据图表开始实时跳动,我心里那块石头稍微往下落了落。
大概过了四十分钟,骑手打电话说到了后门。我和林子套上外套,走出实验室。
走廊里的感应灯随着我们的脚步一盏盏亮起。外面的空气比室内还要潮湿,带着植物腐败和泥土混合的腥气。路灯的光晕在水汽里显得毛茸茸的。隔着学校后门的铁栅栏,我们从骑手手里接过了塑料袋。塑料袋上结着一层水珠,不知道是雨水还是热气凝结的。
回到实验室,我们把两张桌子拼在一起,解开塑料袋。烤串的油脂香气和孜然味瞬间填满了这个充满电子元件味道的房间。
林子递给我一双一次性筷子,自己扒拉了一大口炒米粉。米粉炒得有点湿,不是那种干爽的口感,但胜在便宜管饱。
“你今天下午去面试那家公司,怎么样了?”我咬了一口烤茄子,随口