凌晨四点十七分,陈阳在工作室的沙发上醒来。
不是自然醒,是胃疼醒的。那种疼不尖锐,是一种沉闷的、持续的收缩,像有只手在肚子里攥着他的胃袋,慢慢拧紧。他蜷着身子,在黑暗中睁着眼睛,听着自己粗重的呼吸声在空荡的办公室里回响。
窗外还是黑的,城市还没完全醒来,只有远处高架上零星的车灯划出流动的光带。
他想起昨晚。
那四万块钱转出去的时候,手机银行App弹出一个确认框:“您确认向*莉(个人账户)转账.00元吗?”下面还有一行小字:“谨防电信诈骗,切勿向陌生人转账。”
他盯着“陌生人”那三个字看了两秒,然后点了“确认”。
转账成功的提示音响起,清脆得像某种判决。几乎同时,“杨总”的微信就来了:“收到。陈总爽快。”
爽快。陈阳扯了扯嘴角,想笑,没笑出来。胃里那股拧紧的感觉就是从那时候开始的。
他慢慢坐起身,沙发弹簧发出不堪重负的呻吟。摸到手机,屏幕光刺得他眼睛生疼。微信上有几条未读消息,最上面是“杨总”昨晚十一点多发来的:“技术群已建好,明天上午九点准时对接。需求文档已发群文件。”
下面是那个新建的微信群,群名很直白:“支付网关项目组”。
陈阳点进去,往上翻。群里除了他、“杨总”和对方的两个技术人员,还有小王和小刘。小王在昨晚十一点半@了对方的技术,问了一个关于接口协议的问题。对方没回。
一直没回。
陈阳关掉手机,在黑暗中坐着。胃疼没有缓解,反而随着他越来越清醒的意识,变得更加具体。他想起昨天上午,在二手市场门口交易那台电脑和相机时的情景。
买家是个戴着眼镜的年轻人,看起来像学生。检查设备的时候很仔细,一边检查一边问:“老板,这么好的设备,怎么舍得卖?”
陈阳说:“公司转型,用不上了。”
年轻人抬头看了他一眼,那眼神里有点别的东西,像是看穿了他的窘迫,但没戳破。最后压了五百块钱价,陈阳没争。
“谢了老板。”年轻人把设备装进背包,临走前又回头说了一句,“以后要是还有好东西,再联系我。”
陈阳点点头,看着年轻人消失在市场的人流里。他手里攥着那叠现金,纸币边缘有些毛糙,沾着不知道是谁的汗渍。他数了一遍,两万二。比他预想的少,但够了。
够了。这个词现在想起来,像个笑话。
手机又震了一下。陈阳拿起来看,是严丽。
“豆豆昨晚发烧,三十八度五。我请了半天假,下午再去学校。”
他盯着那行字,手指悬在屏幕上方。该回什么?问“严重吗”?还是说“需要我回来吗”?
最后他回:“多喝水,物理降温。需要我去医院挂号吗?”
很标准,很丈夫,也很 distant。
严丽没再回。
陈阳放下手机,起身走到窗边。天边开始泛出一点鱼肚白,灰白色的,没什么暖意。楼下街道上,清洁工已经开始扫地,竹扫帚刮过地面的声音,沙沙的,单调而持久。
他忽然想起父亲去世前那个冬天。也是这样一个寒冷的早晨,父亲起得很早,在厨房里熬粥。他睡眼惺忪地走出来,看见父亲站在灶台前,背影有些佝偻。父亲回头看见他,笑了笑,说:“醒啦?粥快好了,吃了暖和。”
那是父亲最后一次给他做早饭。
一个星期后,父亲和母亲送晶晶上学,母亲心血来潮要去看画展,结果,车祸。
陈阳有时候会想,如果那天父亲没出门,如果母亲没提要去看画展……人生是不是就会不一样?
但没有如果。父亲死了,母亲一个人活着,他娶了妻生了子创了业欠了债,每一步都走得磕磕绊绊,像在还一场永远也还不清的债。
而现在,他站在这里,胃疼得直不起腰,等着一个“杨总”,等着一个明知有问题却不得不做的项目,等着一个不知道会不会来的明天。
窗玻璃上映出他的脸,模糊,失真。
上午八点五十,工作室里弥漫着泡面和咖啡混合的味道。
小王和小刘已经坐在工位前,电脑屏幕亮着,上面打开着“杨总”团队发来的需求文档。行政女孩小赵在给大家泡第二杯咖啡,动作有些机械。
陈阳从卫生间出来,洗了把脸,水很凉。他看着镜子里的自己,眼袋浮肿,胡子拉碴,眼睛里全是血丝。他掬起一捧水,用力搓了搓脸,然后擦干,走出卫生间。
“都准备好了?”他问,声音有点哑。
小王抬头:“陈总,文档看了几遍,有些地方……不太对劲。”
“哪儿不对劲?”
小刘接过话头,把电脑屏幕转向陈阳:“这里,他们要求我们在支付成功回调接口里,加一个字段,叫‘商户自定义标签’,说是用来区分业务类型的。但问题是——”他指了指另一处,“他们在风控规则里,又要求我们屏蔽掉所有带这个标签的交易记录,不上报风控系统。”
陈阳走近了些,弯腰看屏幕。文档上的文字密密麻麻,但他一眼就抓住了关键。
屏蔽交易记录。不上报风控系统。
他的胃又抽搐了一下。
“还有这里,”小王滑动鼠标,指向另一段,“他们要求关闭‘单日高频小额交易报警’。陈总,这是最基础的反洗钱规则,一般只有那种……不太正规的平台才会要求关。”
办公室里安静下来。只有电脑风扇运转的嗡嗡声。
小赵端着咖啡过来,放在每人桌上,动作轻得像怕惊动什么。
陈阳直起身,沉默了几秒钟。他走到白板前,拿起马克笔,想了想,又放下。
“这个项目,时间紧,报酬高。”他开口,声音平静,但每个字都像是在权衡,“客户有一些特殊需求,我们作为技术方,首要任务是按照需求实现功能。”
他顿了顿,目光扫过小王和小刘:“但是,我们也要有自己的底线。所有改动,必须在我们本地有完整记录。所有可能的风险点,必须标注清楚。如果后期出现问题,我们要能证明,我们只是按需求开发,不了解业务逻辑。”
小王和小刘对视一眼,没说话。
“明白吗?”陈阳又问了一遍。
“明白。”小王先开口。
“明白。”小刘跟上。
陈阳点点头:“九点了,进群吧。”
九点整,技术群里“杨总”准时出现:“各位,我们开始吧。先请我们这边的技术负责人阿斌,给大家讲讲整体架构。”
一个叫“阿斌”的人发了一段语音。陈阳点开,外放。
是一个年轻男人的声音,语速很快,带着点南方口音,讲的东西听起来很专业,但细听之下全是空话,什么“分布式架构”、“高可用设计”、“弹性扩容”,都是些大词,落到具体实现上,又含糊其辞。
讲完后,阿斌问:“陈总团队有什么问题吗?”
陈阳打字:“关于风控规则的调整,我们需要确认一下具体的边界。比如‘单日高频小额交易’的定义,你们希望我们设置的具体阈值是多少?”
群里沉默了一分钟。
阿斌回复:“这个我们业务部门后期会配置,你们先把开关给我们做出来就行。”
陈阳看着这行字,手指在键盘上悬停。
先把开关做出来。
意思是,具体怎么用,用多少,你们别管。
小王在旁边的工位上,压低声音说:“陈总,这不对劲。”
陈阳当然知道不对劲。但他现在需要的是这个项目,是那八万预付,是剩下的十二万尾款,是在李立面前证明自己还能行,是在严丽面前抬得起头。
他打字:“好的。那关于交易记录屏蔽的规则,具体是屏蔽哪些字段?我们需要评估对账系统的影响。”
这次沉默更久。
阿斌又发了一段语音,语气有些敷衍:“这些细节我们后续会提供详细文档。今天先对接主要接口协议吧。”
陈阳没再追问。
对接进行了一个上午。对方的技术团队显然对支付系统的理解很肤浅,很多问题答非所问,或者干脆说“这个我们后面再定”。小王和小刘的问题越来越尖锐,陈阳不得不几次在群里打圆场:“好的,我们先按现有文档推进,有变化及时沟通。”
中午十二点,第一次对接草草结束。
对方发了个“吃饭休息,下午继续”的表情包,然后群里就没人说话了。
小刘摘下耳机,揉了揉太阳穴:“陈总,这伙人……不像正经做技术的。”
小王点头:“文档混乱,需求矛盾,连个像样的架构图都没有。我怀疑他们自己都没想清楚要做什么。”
陈阳坐在自己的工位上,盯着电脑屏幕。微信群里,那个“阿斌”的头像是一只卡通老虎,咧着嘴笑,看起来憨厚无害。
但他知道,那笑容背后,是深不见底的水。
这个项目不是“不太正规”,是“非常有问题”。关闭风控、屏蔽记录、个人账户走账……所有的迹象都指向同一个方向:洗钱,或者至少是帮助非法资金流动。
而他,陈阳,正在为这个系统提供技术支持。
胃里的绞痛又开始了,这次更加剧烈。他伸手按住胃部,额头上冒出细密的冷汗。
“陈总,你没事吧?”小赵注意到他的异常。
“没事。”陈阳摆摆手,“你们先去吃饭,下午……继续。”
小王和小刘交换了一个眼神,没多说什么,起身出去了。
小赵犹豫了一下,走过来,小声说:“陈总,上个月的工资……什么时候能发?我房租……快到期了。”
陈阳抬起头,看着这个跟了他两年的女孩。她眼神里有期待,也有忐忑,更多的是小心翼翼,怕惹恼他,怕连这份工作都保不住。
“这个项目做完,一起发。”他说,声音干涩,“连同奖金。”
小赵点点头,没再问,转身走了。
办公室里又只剩下陈阳一个人。他靠在椅背上,闭上眼睛。
手机震了一下。他拿起来看,是李立。
“对接得怎么样?”
陈阳盯着那五个字,看了很久。他想回“不怎么样”,想回“这项目有问题”,想回“立哥,你到底给我介绍了什么人”。
但最后,他打字:“顺利,在推进了。”
点击发送。
几乎同时,李立的消息又进来:“那就好。我这边有点忙,有事随时说。”
陈阳没回。
他把手机扣在桌上,站起来,走到窗边。中午的阳光很刺眼,街道上车水马龙,行人匆匆。每个人都在忙碌,为了生活,为了家庭,为了那些说不清道不明的目标。
而他站在这里,胃疼得像要穿孔,手里捏着一个随时可能爆炸的雷。
他知道自己正在做一件错事。
但他停不下来。
就像一辆失控的车,明明看到前面是悬崖,却已经踩不了刹车,只能眼睁睁看着自己冲过去。
窗外,城市的喧嚣透过玻璃传进来,模糊而遥远。
陈阳站在那里,站了很久。
直到下午两点的闹钟响起,提醒他该继续那个该死的对接了。
他转身,走回工位,坐下,戴上耳机。
“好了,我们继续。”他在群里打字。
屏幕的光映在他脸上,一片惨白。
同一时间,李立坐在公司的会议室里,面前摆着一份项目计划书,但他一个字也看不进去。
手机屏幕亮着,上面是他和陈阳的聊天记录。
“顺利,在推进了。”
简短的五个字,一个句号。没有表情,没有语气,干巴巴得像在汇报工作。
李立想起昨天陈阳发来的那张银行余额截图,.68元。他知道陈阳的处境,知道他需要钱,知道他走投无路。
所以他介绍了那个项目。
他告诉自己,这是在帮兄弟。陈阳需要机会,他给了机会。至于项目干不干净,那不是他能控制的。他提醒过了,他让陈阳“自己把握好”。
够了吧?应该够了吧?
但为什么心里还是这么不安?
会议室的门被推开,下属走进来:“李总监,客户那边催方案,问今天下班前能不能给个初稿。”
李立回过神,揉了揉眉心:“能,我下午看完给你。”
下属出去了。李立重新看向手机,手指在屏幕上滑动,点开那个备注为“杨哥”的联系人。
他打了几个字:“杨哥,项目还顺利吗?”
发送。
等了五分钟,没回。
他又打:“我兄弟那边挺重视的,你们多沟通。”
还是没回。
李立放下手机,深吸一口气,强迫自己把注意力放回项目计划书上。但那些字像在跳动,组合成陈阳的脸,陈阳的声音,陈阳说“立哥,这次一定成”。
一定成。
成了之后呢?如果这个项目真的有问题,如果陈阳被卷进去……
李立不敢想下去。
他抓起手机,找到陈阳的号码,想打过去,想说“阳哥,那个项目要不还是算了,我再帮你看看别的机会”。
但手指悬在拨号键上,始终按不下去。
他想起了孙丽华,想起了儿子,想起了每个月雷打不动的房贷、奶粉钱、尿不湿钱。想起了自己肩膀上沉甸甸的担子。
他不能失去这份工作。不能。
所以,他不能跟陈阳说“算了”。因为说了“算了”,就等于承认自己介绍的项目有问题,等于承认自己把兄弟往火坑里推。
他只能等。等陈阳成功,或者失败。
等命运给一个答案。
而在这个过程中,他什么也做不了。
只能坐在会议室里,对着看不进去的计划书,一遍遍刷新微信,等着那个永远不会回复的“杨哥”,给他一点渺茫的 reassurance。
窗外的阳光透过百叶窗,在桌面上切出一道道光栅。
明亮,刺眼,冰冷。
李立坐在光里,却觉得浑身发冷。
他知道,有些路,一旦选了,就回不了头。
无论是对陈阳,还是对他自己。
晚上七点,陈阳还在工作室。
对接勉强算是完成了,对方留下一堆模糊的需求和承诺“后续补文档”,然后就消失了。小王和小刘在整理今天的内容,脸色都不太好。
“陈总,”小王说,“按照今天对接的情况,七天……根本不可能做完。光是理清这些矛盾的需求,就得两三天。”
陈阳点点头:“我知道。加班吧。”
“加班也……”小刘想说什么,被陈阳打断了。
“加班费三倍,项目做完有奖金。”陈阳说,声音里没什么起伏,“能做到什么程度,就做到什么程度。实在做不完的……再跟客户沟通。”
小王和小刘不说话了。
他们都知道,这不是技术问题,是生意问题。而生意上的事,他们说了不算。
陈阳起身,走到茶水间,想倒杯热水。饮水机里没水了,他晃了晃水桶,空的。
他站在那里,看着空荡荡的饮水机,忽然觉得荒谬。
公司要完了,项目是坑,员工等着发工资,家里老婆孩子在生病,而他,连杯热水都喝不上。
胃还在疼,持续地、顽固地疼。
他摸出手机,点开外卖软件,想点个粥。划了几下,看到价格,又退出了。
算了,忍忍吧。
省一点是一点。
他走回办公室,对小王和小刘说:“今天先到这里,你们回去休息。明天……八点准时到。”
两人点点头,收拾东西离开。
小赵临走前,看了陈阳一眼,欲言又止,最后还是什么都没说,关上门走了。
办公室又只剩下陈阳一个人。
他坐在黑暗里,没开灯。窗外的城市灯火渐次亮起,霓虹闪烁,车流如织。这是一个繁华的、忙碌的、充满希望的世界。
但这个世界,好像跟他没什么关系。
他拿起手机,点开相册,翻到很久以前的一张照片。那是豆豆刚满月的时候,严丽抱着他,他抱着严丽,三个人挤在镜头前,笑得像拥有了全世界。
那时候,他刚从设计院辞职,创业刚起步,觉得前途一片光明。严丽支持他,说:“你想做就去做,家里有我。”
而现在,家里还有她,但他已经快没有家了。
手机屏幕暗下去,映出他模糊的脸。
陈阳关掉手机,把它扔在桌上。
他靠在椅背上,闭上眼睛。
胃还在疼。
但比起胃疼,更疼的是心里某个地方,那个曾经装着希望、装着梦想、装着对未来的无限憧憬的地方。
现在那里空了。
被债务填满,被压力填满,被一个又一个错误的决定填满。
而他知道,最坏的时候,可能还没到来。
窗外,夜色渐浓。
城市依旧喧嚣。
而在这片喧嚣里,有一个人,正独自沉向深水。
他不知道水深几许。
只知道,已经无法回头。