广州四月的雨,下得毫无章法。
水汽氤氲在空气里,连带着阳台上晾了三天都没干的衣服,散发着一种霉潮的气味。窗外那层雾蒙蒙的水珠,模糊了整栋宿舍楼的轮廓,看出去像是一张没对准焦的胶片照片。我坐在六楼的床铺上,四周是室友们均匀的呼吸声和偶尔翻身的动静。笔记本屏幕还亮着,幽蓝的光打在脸上,光标停在一行写了一半的 Python 函数上,闪烁不止。
这是大四的下学期,离真正离开这里的日子,已经可以用天来计算了。
回想起来,大二末尾的那个雨夜,我也是这样坐在这个位置。那时候看着屏幕,心里想的是,这学期结束就是大三了。时间在广商这种地方,流逝得有一种不真实的粘稠感。
广州商学院,一所民办三本。外界给它贴的标签,和我们在里面感受到的氛围,常常是高度重合的。在这里,大多数人的生活像是一条平缓流淌的河,没有太多波澜,也没有太多方向。你可以轻易地把四年时间消磨在峡谷的排位赛里,或者外卖包装盒的堆叠中。
我害怕那种下坠的感觉,所以我本能地去寻找一种可以抓住的、坚硬的东西。
写代码就是这样一件让人安心的事。
在编程的世界里,因果关系是绝对成立的。你给它输入,它给你输出。逻辑是清晰的,文档是公开的,bug 是可以被追踪的。最差的情况,也不过是抛出一个 segfault 或者引发一次内存泄漏。程序崩了,修改,重启就好。它不会像现实生活那样,常常因为一些不可控的因素给你一个莫名其妙的结果。
我在这种确定性里待了四年,像一只蜗牛找到了壳。在这个壳里,我慢慢建立起自己的秩序。
我到现在都记得 wps_script 这个项目拿到第一个百星的那个晚上。那是一个毫无征兆的深夜,室友的呼噜声此起彼伏,我怕机械键盘的声音吵到他们,把一块毛巾垫在键盘下面,敲击声变得沉闷而局促。我在被窝里,用手机反复刷新着 GitHub 的页面。
139 个 Star。对那些大牛或者名校的开源作者来说,这实在是不值一提的数据。但对我来说,它像是一封从很远的地方寄来的信,信上只写了一句话:嘿,有人在用你写的东西。
在那个瞬间,民办三本的物理边界好像消失了。网线连接的另一头,有人不在乎你的学历,不在乎你的出身,他们只看重你写的逻辑是否优雅,你的工具是否解决了问题。
那种确定感,真好。
可是关掉屏幕之后呢。
加缪说过,人生的荒谬在于我们渴望意义,而世界沉默以对。在很长一段时间里,我都能感受到这种沉默的重量。
别人看我的简历,软件工程专业,GPA 4.02,拿了两次国家奖学金。在老师和同学眼里,这或许是一个标准的好学生样本,甚至带点励志的色彩。但只有我自己知道,这些数字背后并没有什么波澜壮阔的逆袭故事,它们只是我对冲焦虑的副产品。
大二大三的时候,身边的人开始不可避免地分化。有人家里铺好了路,早早去亲戚的公司实习;有人每天泡在自习室死磕考研,想要洗刷高考的遗憾;也有人每天在宿舍的床上醒来,不知道今天和昨天有什么区别。
而我,常常觉得自己是站在河中间的那个人。两岸都看得见,却不知道该往哪边走。刷着 V2EX 或者是掘金,看着同龄人讨论着大厂的 offer、高并发的架构、前沿的框架,我会感到一种深深的无力感。那种差距不是你多熬几个夜就能抹平的,它存在于视野、圈子和信息的密度里。
学校食堂二楼的窗边,是我常去的地方。我常常端着一碗并不怎么好吃的番茄鸡蛋面,看着窗外发呆。广州的天总是灰蒙蒙的,尤其是在没有风的下午,柏油路面被晒得发烫,热气从地面往上蒸腾,远处的景象都在微微扭曲。
有时候我觉得自己就像碗里的那坨面,泡在温吞的汤水里,时间久了,也就慢慢糊了,失去了原本的韧性。两次国奖的荣誉,在深夜的自我审视面前,显得单薄又脆弱。它们能证明我是一个合格的应试者,却不能告诉我,离开这所学校后,我在这座城市里能占据怎样的一个坐标。
后来我想,也许“渡”这个字本身,就藏着答案。
渡河的人,其实是不需要在一开始就知道彼岸的具象模样的。江面上有雾,水流很急,你站在竹筏上,唯一能做的,就是确认脚下有水,手里有桨。
想通了这一点,很多事情就变得简单了。
我不再去想 4.02 的绩点能换来什么样的未来,只是每天早上七点半准时坐到图书馆二楼靠窗的位置,把操作系统和计算机网络的书翻过一页又一页。我不再去纠结三本的身份,只是把精力放在屏幕上的代码里。
每一次 git commit 是一桨。每一个通宵查阅英文文档调完的 bug 是一桨。那些被废弃的半成品项目是一桨。甚至食堂里那一碗碗难吃的番茄鸡蛋面,也是一桨。
它们没有立刻带我到达对岸,但它们让我在这条模糊的河里,保持着前行的姿态,没有随波逐流。
王小波在《黄金时代》里写:“那一天我二十一岁,在我一生的黄金时代。我有好多奢望。我想爱,想吃,还想在一瞬间变成天上半明半暗的云。”
读到这段话的时候,我刚满二十二岁。我没有王二那种黄金时代的自觉,也没有那种生猛的、想要吞噬一切的欲望。
我环顾四周,我拥有的只是一台用了四年、WASD 键帽已经磨得发亮的笔记本电脑,一个留下了 126 个仓库、提交记录密密麻麻的 GitHub 账号,以及一种连我自己也说不清楚的、沉默的倔强。
这些东西不浪漫,也不酷。它们沾满了广州潮湿的雨水和宿舍里浑浊的空气,但它们是真实的。是我一寸一寸,自己从时间里抠出来的。
夜已经很深了,室友的呼吸声依旧平稳。
四月的雨还在下,打在玻璃上,发出细碎的白噪音。我收回思绪,目光重新聚焦在屏幕上。键盘敲击的声音在安静的宿舍里轻轻回荡。
我把那行写了一半的 Python 函数补完,检查了边界条件,写好注释,然后按下运行键。
终端里跳出一行绿色的 "Process finished with exit code 0"。
窗外的世界依然是模糊的,雾气没有散,雨也没有停的意思。明天或许依然是一个没有阳光的日子,毕业后的去向或许依然充满着不确定。
但没关系了。至少在这一刻,屏幕上的光标不再闪烁,它停在了一个稳妥的位置。
我合上电脑,准备睡觉。明天,还要继续划桨。
