1 母亲的最后通牒与我的代码世界“李哲!我最后再说一次!你要是考不上公务员,
这辈子就完了!你听见没有!”我妈的咆哮声几乎要穿透手机听筒,在我耳膜上凿出洞来。
我把手机拿得远了点,眼睛还死死盯着屏幕上刚刚跑通的那行代码,心里默念:搞定。果然,
测试数据像开了闸的洪水一样顺畅地涌了过去,一个报错都没有。“妈,我听着呢。
”我敷衍着,手指在键盘上噼里啪啦又敲了几行,给这个新功能做了个标记。“听着?
你根本就没往心里去!你看看张阿姨家的儿子,去年上岸,现在多稳定!你再看看你,
一天到晚抱着个电脑,能抱出金饭碗来吗?”我都能想象出她在电话那头,一手叉腰,
一手指着空气,唾沫横飞的样子。宿舍里,阿杰正戴着耳机打游戏,听到我这边的动静,
转过头冲我挤眉弄眼,用口型说:“又、来、了?”我无奈地耸耸肩。“妈,
我不是抱着电脑玩,我是在做项目,正事儿。”我试图解释,虽然知道这基本是对牛弹琴。
“项目?什么项目?能给你发工资还是能给你分房子?啊?”她的声音又拔高了一个八度,
“我跟你爸辛辛苦苦供你上大学,不是为了让你去搞那些虚头巴脑的东西的!
你就给我老老实实,准备国考!”我环顾了一下我的“阵地”。宿舍墙上,
贴的是几张不知从哪本杂志撕下来的互联网大会海报,上面是几个穿着牛仔裤、T恤衫,
笑得一脸“我们要改变世界”的IT大佬。而我的书桌角落里,
则堆着一摞崭新的、塑封都没拆的《行政职业能力测验》和《申论宝典》,
那是我妈亲自给我寄过来的“精神食粮”,像一座沉默的大山,压在我的兴趣之上。说真的,
我不是不理解我妈。在小县城当了一辈子会计,她见过的风浪有限,在她那个世界里,
公务员就是金字塔尖,是抵御一切风险的诺亚方舟。稳定,体面,说出去有面子。
她把她认知里最好的东西,拼命往我怀里塞,不管我想不想要。但理解归理解,
我是真受不了啊。每次我沉浸在代码的世界里,
那种从无到有、逻辑严丝合缝、一个指令就能让机器乖乖听话的掌控感,
都让我爽得头皮发麻。这感觉,跟我妈嘴里那种“一张报纸一杯茶”的稳定,
根本就不是一个维度的东西。“哲哥,快!来看看这个接口,好像有点问题!
”阿杰在那头喊了一嗓子。我赶紧对着话筒说:“妈,我这边真有事,
室友叫我……”“李哲!”我妈的声音陡然变得冰冷,带着一种不容置疑的决绝,
“我给你两条路。第一,立刻去报个考公培训班,好好准备考试,生活费我照给。第二,
你要是还执迷不悟,跟那个阿杰搞什么歪门邪道……”她顿了一下,像是下了很大决心。
“那就别怪妈心狠,你这个月,下个月,以后的生活费,都别想了!你自己看着办!
”“嘟…嘟…嘟…”电话被挂断了。我举着手机,半天没回过神来。
宿舍里只剩下阿杰游戏里“Double Kill”的音效和我自己有点粗重的呼吸声。
“咋了?阿姨又给你进行爱的教育了?”阿杰摘下半边耳机,凑过来问。我把手机扔桌上,
身体往后一仰,重重地靠在椅背上,感觉浑身的力气都被抽干了。“嗯,不止。
这次是最后通牒,要么考公,要么……断粮。”“我靠!”阿杰也愣住了,“来真的啊?
”我没说话,看着电脑屏幕上那个命名为“易览”的项目文件夹。
那是我和阿杰折腾了小半年的心血,一个AI信息过滤插件。简单说,
就是能从海量的、杂乱无章的网络信息里,帮你精准抓出你最需要的东西。
我们觉得这玩意儿牛逼透了,至少在我们狭小的宿舍宇宙里,它代表着未来和可能性。
可在我妈眼里,这大概就是一堆乱码,是把我引向歧途的恶魔代码。“那你……咋办?
”阿杰的声音有点虚。我能怎么办?我现在全身上下加起来不超过两百块。
下个月的饭钱、网费、电费……全都指望着那张卡里按时到账的生活费。我妈这一手,
直接掐住了我的七寸。我点开手机银行APP,看着余额那里可怜的数字,心里一阵发苦。
刚才跑通代码的喜悦,瞬间被这冰冷的现实冲得一干二净。“我也不知道。”我叹了口气,
感觉胸口堵得慌,“但我不能就这么认了。”我重新坐直身体,鼠标点在“易览”的图标上。
那个我们自己设计的,像一只抽象眼睛的logo,仿佛正盯着我。
阿杰把另外半边耳机也摘了,游戏角色死了也顾不上,拖着他的椅子滑到我旁边,
一脸严肃:“哲哥,你说吧,怎么干?我跟你!”我看着这个从大一就一起厮混的兄弟,
心里稍微暖了一点。至少,在这条看起来有点“不务正业”的路上,我不是一个人。
“大赛的事儿,得抓紧了。”我说,“这是我们唯一的机会。
”“启明星杯”大学生创新创业大赛。这是我和阿杰前几天在学校官网看到的,
冠军有三万奖金,还能进孵化器。当时只觉得是个机会,现在看,这他妈简直就是救命稻草。
可这根稻草,现在看起来那么遥远。我们连服务器都快租不起了。我揉了揉发胀的太阳穴,
感觉眼前的路,一边是我妈用“为你好”筑起的高墙,
一边是我和阿杰用代码铺就的、却布满荆棘的小道。而我,就站在中间,
被生活费这把刀子逼着,必须立刻做出选择。选择那条他们眼中的康庄大道,
还是我自己选的,可能走到一半就会饿死的独木桥。电脑屏幕的光映在我脸上,有点凉。
我深吸一口气,对阿杰说:“先把刚才那个接口bug修了。车到山前必有路,
活人还能让尿憋死?”话是这么说,但我知道,从我妈挂断电话的那一刻起,我的好日子,
到头了。真正的战斗,才刚刚开始。2 启明星杯:黑暗中的一道光我妈断粮的第三天,
我和阿杰正蹲在宿舍里,对着一碗泡面发愁。是真发愁。这玩意儿平时吃着香,
连吃三天之后,感觉喉咙眼里冒出来的气儿都带着一股防腐剂味儿。“哲哥,
”阿杰有气无力地拿叉子搅和着面饼,“再这么下去,我感觉自己快变成一根人形火腿肠了。
咱俩真得想点办法,接那个帮人做课程网站的外包,对方才给八百,还要求贼多,
这哪够啊……”我没吭声,心里更烦躁。钱包瘪下去的速度比想象中还快。
以前觉得一个月一千五紧紧巴巴,现在才知道,那叫幸福。
自尊心让我开不了口跟别的同学借钱,尤其是“因为搞创业被家里断了生活费”这种理由,
说出来都嫌丢人。“别叨叨了,我再看看有没有别的活儿。
”我刷新着几个***和外包的网站,页面灰扑扑的,
感觉上面的信息都透着一股压榨廉价劳动力的味儿。就在这时,
右下角弹出了一个校内新闻的窗口。平时我都是直接关掉的,但今天鬼使神差地,
鼠标顿了一下。标题是:重磅通知!“启明星”杯大学生创新创业大赛正式启动!
“启明星”三个字,像根小针,轻轻扎了我一下。我顺手点了进去。页面加载出来,
最上面是校长的致辞照片,下面罗列着大赛奖励。我本来是漫不经心地扫着的,
直到看到那一行字——冠军团队:奖金人民币三万元整,并获得由校长亲自推荐,
进入“创新谷”孵化器的资格。“我……靠?”我下意识地骂了一句,声音不大,
但把旁边正在跟泡面较劲的阿杰吓了一跳。“咋了哲哥?又发现哪个抠门老板了?
”我没理他,手指有点发抖地滚动着鼠标滚轮,把那条通知反反复复看了三遍。
每一个字都像个小火苗,蹭蹭地往我眼睛里钻。三万块!孵化器!校长推荐!
脑子里“嗡”的一声,像是有个烟花炸开了。刚才因为饥饿和焦虑带来的阴霾,
瞬间被炸开了一个口子。“阿杰!”我猛地转过头,声音都有点变调了,“过来!快!
看这个!”阿杰被我吓了一跳,端着泡面桶就凑了过来,汤汁差点洒我键盘上。
“啥玩意儿啊?看你激动的……”他弯腰凑到屏幕前,嘴里还叼着一根面条。
我指着那几行奖励说明。宿舍里安静了大概五秒钟。然后,“我——操——!
”阿杰这一嗓子,堪比那天我妈在电话里的咆哮,震得我耳膜嗡嗡响。
他手里的泡面桶“哐当”一声放在桌上,一把抢过我的鼠标,自己又仔仔细细看了一遍。
“三……三万?哲哥!是三万吗?不是三千?”他抓住我的胳膊,用力摇晃着,
眼睛瞪得像铜铃,“还有孵化器!‘创新谷’啊!那是咱们市里最好的孵化器,
进去就等于半只脚踏进成功企业的大门了!校长推荐!我的天……”他激动得语无伦次,
在宿舍狭小的空间里来回走了两圈,像个上了发条的玩具。“机会!哲哥!这是咱们的机会!
天大的机会!”他猛地停在我面前,脸因为兴奋而涨红,“有了这三万,
咱们还接个屁的外包!服务器想租多久租多久!宣传物料可劲儿造!进了孵化器,
还怕没资源?还怕没人脉?咱们的‘易览’真要起飞了!”他挥舞着手臂,唾沫横飞,
仿佛奖杯和支票已经到手了。我看着他,心脏也在胸腔里“咚咚”狂跳,
血液好像都烧了起来。是啊,机会!这简直就是为我们量身定做的机会!
是能让我们摆脱眼前困境,甚至一步登天的捷径!但仅仅几秒钟后,
那股灼热的兴奋就像被泼了一盆冷水,迅速降温。我妈那张冰冷的脸,
和她那句“断绝关系”的狠话,无比清晰地浮现在我眼前。“易览”做得再好,在她眼里,
也是“歪门邪道”。我去参加这种比赛,在她看来,恐怕比单纯搞项目更是不务正业,
是彻头彻尾的叛逆。我要是拿了这奖金,用了这孵化器名额,就等于是在她制定的规则之外,
硬生生撕开了一条口子。她会怎么想?会不会更生气?
我们之间那本来就已经脆弱不堪的母子关系,会不会就此彻底崩断?“哲哥?你怎么了?
”阿杰看出了我的不对劲,兴奋劲头慢慢落了下来,“这……这不是大好事吗?
你怎么这副表情?”我张了张嘴,感觉喉咙有点干。“阿杰,我妈那边……”阿杰愣了一下,
随即明白了。他脸上的兴奋褪去,取而代之的是一种复杂的表情,有同情,
也有点恨铁不成钢。“哲哥,都这时候了,你还想那么多?”他拉过椅子坐下,
语气认真起来,“阿姨是不理解,可她为什么不理解?因为她觉得你搞这个没前途,
是瞎胡闹!但如果……如果我们拿到了这个奖呢?如果校长亲自给我们颁奖呢?
如果我们的项目真的进了孵化器,以后真做出点名堂呢?”他盯着我的眼睛:“那时候,
你还需要跟她解释吗?你只需要把奖杯和录取通知拍她面前就行了!实力,哲哥!
只有实力才能打脸!才能让她闭嘴,让她无话可说!”“你反抗的不是考公,
是你妈给你安排的人生!现在路就摆在这儿,就看你敢不敢走!”宿舍里又安静下来。
只有窗外隐约传来的操场上打球的声音,还有我们俩有些粗重的呼吸声。我低下头,
看着自己因为长期敲代码而有些粗糙的手指。阿杰的话像锤子一样,一下下砸在我心上。
是啊,我之前的憋屈、愤怒、不甘,不都是因为无力反抗吗?因为我证明不了自己是对的。
但现在,证明的机会就摆在眼前。退缩,回去啃那堆《行测》,跟我妈认输?还是,拼一把,
用这场比赛的胜利,去换我人生的选择权?风险很大。失败了,可能真就一无所有,
连和我妈最后缓和的关系都可能彻底完蛋。但成功的诱惑,太大了。大到可以掩盖一切恐惧。
我猛地抬起头,感觉胸腔里那股被压下去的火又烧了起来,而且烧得更旺。“干!
”我几乎是咬着牙说出这个字,拳头攥得紧紧的,“报名!我们必须拿下这个冠军!
”阿杰眼睛一亮,用力拍了一下我的肩膀:“这就对了!妈的,泡面算什么!等拿了奖金,
老子请你吃一个月的海底捞!”我们俩对视着,
都从对方眼里看到了豁出去的决心和燃烧的斗志。前路依然未卜,
我妈那座大山还稳稳地压在那里。但这一刻,我们手里仿佛抓住了一束强光,
一束足以刺破黑暗,指引我们前行的——“启明星”。
3 绝地求生:泡面、代码与不屈的夜“干”字说出来容易,真干起来,
才知道什么叫“一分钱难倒英雄汉”。“启明星”杯是报了名,但离决赛还早着呢。
眼下最要命的是,我和阿杰都快揭不开锅了。宿舍角落里那箱泡面以肉眼可见的速度减少,
看着都让人心慌。“不行,坐吃山空,不,坐吃泡面也得死。”我把最后一口汤喝完,
感觉胃里沉甸甸的,却一点也不顶饱,“得搞钱,快钱。”阿杰瘫在椅子上,
有气无力:“咋搞?去搬砖吗?咱这身板……”“搬个屁的砖。”我打开电脑,
重新点开那些之前看不上的外包网站,“捡点别人剩下的,技术要求低、结款快的活儿干。
”以前眼光高,觉得那种修改个WordPress模板、帮人做个简单小程序的活儿,
纯属浪费生命。现在?真香!我们接的第一个活儿,
是给学校旁边一家打印店做个线上预约系统。老板抠搜,只肯出五百块,要求还一大堆,
什么要能选纸张材质、上传文件、在线支付虽然他连支付接口都没弄明白……“接!
”我咬着牙点了接受任务。那几天,我俩除了上课,
就扎在打印店那个堆满纸张、充满油墨味的小办公室里。老板就在旁边盯着,
一会儿说颜色不对,一会儿说按钮太小。阿杰好几次差点跟他吵起来,都被我按住了。
“哲哥,这他妈简直是侮辱技术!”晚上回宿舍的路上,阿杰气得踢飞了一个石子。
“侮辱也得受着。”我叹口气,感觉脑子被那些琐碎的需求搞得一团浆糊,“五百块,
够咱俩吃十天饭堂了,还能给服务器续半个月命。”熬了三个通宵,
总算把那破系统捣鼓出来,交付的时候,老板还挑三拣四,硬是扣了五十块钱,
说是“页面不够美观”。拿着那薄薄的四百五十块现金,我和阿杰站在打印店门口,
心里五味杂陈。“妈的,等老子拿了冠军,第一件事就是回来把他这打印店收购了!
”阿杰恶狠狠地说。我没说话,把钱小心地塞进钱包最里层。这钱,
带着一股油墨和憋屈的味道。外包来钱慢,还不稳定。我们的大部分时间,
还得投入到“易览”的打磨上。宿舍彻底成了我们的战场。泡面盒堆在墙角,
都快成了装饰品。电脑几乎二十四小时不关机,风扇嗡嗡作响,像是我们疲惫大脑的背景音。
晚上是最难熬的。饿,困,还有对未来的不确定,像三座小山压在身上。“哲哥,
我好像出现幻觉了,”凌晨两点,阿杰盯着屏幕,眼神发直,“我怎么感觉这行代码在跳舞?
”我揉了揉干涩发疼的眼睛,把桌上最后半包饼干递给他:“吃点东西,顶一下。
等这个算法优化完,效率至少能提升百分之十。”我们给自己打气的方式,
就是不断幻想拿到冠军后的场景。“三万块啊哲哥,”阿杰啃着饼干,含糊不清地说,
“先他妈去校门口那家烧烤摊,点上五十串羊肉串,十串大腰子,不,二十串!”“出息!
”我笑骂一句,手下敲代码的动作没停,“拿了钱,先换台好点的服务器,
现在这个破虚拟机,跑大型数据集跟老牛拉破车似的。”“对对对!
然后给‘易览’做个超级酷的宣传片!炸翻全场!”幻想很美好,但现实是,
我们常常因为一个诡异的bug,折腾到天亮。有时候是数据溢出了,
有时候是逻辑死循环了,还有一次,差点把测试数据库给清空了,吓得我俩一身冷汗。
压力大的时候,我们也吵架。为了一个技术实现的路径,能争得面红耳赤。“听我的!
用这个架构更稳定!”阿杰拍着桌子。“稳定顶个屁用!用户要的是快!得用我这个方案!
”我也毫不退让。吵完了,冷静下来,要么是他的对,要么是我的对,要么综合一下。
然后互相递根烟虽然平时都不抽,但熬夜顶不住的时候会备一包,
在阳台上一言不发地抽完,再回去继续干。有一次,阿杰女朋友打电话来,
问他到底还要不要她这个女朋友了。阿杰开着免提,一边调试代码一边哄:“宝贝,
再给我点时间,等这个比赛完了,
我天天陪你……”电话那头直接哭了:“你跟你代码过去吧!”电话挂断,
阿杰对着屏幕发了半天呆,然后红着眼睛对我说:“哲哥,咱必须成功,
不然都对不起我逝去的爱情!”我拍拍他肩膀,什么也没说。这种时候,说什么都苍白。
日子就这么一天天过去,像上了发条。困了就在桌子上趴一会儿,饿了就泡面,
或者啃个冷面包。我们的黑眼圈越来越重,头发也越来越油,但“易览”在我们的折腾下,
确实在以肉眼可见的速度变好。用户界面更友好了,算法更精准了,运行也更稳定了。
我们找了系里好多同学来内测,反馈一次比一次好。
看着后台不断攀升的用户满意度和那些“真好用”、“帮大忙了”的留言,我觉得,
吃再多泡面,接再多憋屈的外包,也值了。有时候深夜 coding 累了,我会停下来,
看着窗外漆黑一片的校园,只有零星几盏路灯亮着。宿舍里,阿杰已经歪在椅子上睡着了,
发出轻微的鼾声。屏幕上,代码一行行流淌,像我们无声的宣言。我知道,很多人看来,
我们这纯属自讨苦吃。放着安稳的路不走,非要在一条看不见光的小道上摸黑爬行。
但只有我自己知道,当一个个技术难题被攻克,
当“易览”因为我们的努力而变得更强大一点时,那种从心底涌上来的成就感和掌控感,
是任何东西都无法替代的。我们不是在瞎折腾。我们是在用代码,给自己铺路。哪怕这条路,
现在看起来,还又窄又颠,布满泡面渣子。4 风暴降临:宿舍里的最终摊牌决赛前一周。
我和阿杰像两个即将上战场的士兵,在做最后的冲刺。
宿舍里弥漫着一股混合了泡面、汗水和……嗯,大概是雄性荷尔蒙的味道。空气都是紧绷的。
“哲哥,演示文稿最后一遍核对完了,绝对没问题!”阿杰顶着两个硕大的黑眼圈,