第4章

鹏城七月的阳光,带着南方特有的黏稠热度,透过BD大厦高耸的玻璃幕墙,在光洁如镜的大理石地面上投下明晃晃的光斑。技术部办公室里,中央空调卖力地吞吐着冷气,发出低沉的嗡鸣,竭力驱散着窗外的暑气,却驱不散弥漫在空气里的另一种无形的寒意。

肖静安坐在靠窗的工位上,窗外是刺眼的阳光和蒸腾的城市热浪,窗内,他的屏幕却显示着一个冰冷的提示框:

Access Denied.

You do not have sufficient privileges to access this resource.

他盯着那行红色的英文,指尖无意识地敲击着桌面,发出沉闷而规律的“笃笃”声。距离陈副总下达“死线”已经过去三天。这三天里,他如同一个被隔绝在孤岛上的囚徒。那张灰白色的“技术部经理”名片,并未给他带来任何实质性的权力和便利,反而成了一道无形的枷锁。

王海移交的“凤凰”项目资料,依旧是那堆混乱不堪的垃圾山。他夜以继日梳理出的核心架构图和重写方案,如同精美的蓝图,却找不到一砖一瓦去实施。最大的障碍,横亘在眼前:信息封锁。

没有陈副总的最终审批,他肖静安的Domain账号权限,依旧停留在最基础的邮件收发层面。BD庞大的内部项目管理系统(PMS)、核心代码仓库(SVN)、共享文档库(SharePoint),这些存储着“凤凰”项目所有历史数据、最新进展、客户原始需求甚至测试环境的“大脑”和“粮仓”,对他彻底关闭了大门。他就像一个手握利剑的战士,却被剥夺了踏入战场的资格。

更令人窒息的是团队的沉默。除了小李偶尔会投来带着同情和一丝好奇的目光,整个技术部的人对他都保持着一种刻意的疏离。没有人主动向他汇报工作进度,没有人询问项目安排,甚至连基本的项目周会通知,都是通过王海的口头“传达”——通常是在午饭时间,王海端着咖啡杯踱过来,用通知下属般的随意语气说一句:“肖经理,下昼三点,细会议室,凤凰项目briefing,记得准时。”

每一次,肖静安都只是沉默地点点头。他知道,那是王海在不动声色地重申自己的实际掌控力,也是在技术部众人面前,一次次地削弱他这个“空降经理”的权威。

此刻,他再次尝试登录PMS系统,得到的依旧是冰冷的“Access Denied”。他关掉提示框,目光扫向技术部那片忙碌的区域。王海正坐在他的“核心工位”上,背对着这边,和两个资深工程师凑在一起,对着其中一人的屏幕指指点点,低声讨论着什么,不时发出几声轻松的笑。其中一个工程师——肖静安记得他叫Mark,正是之前王海当众询问“大专生做经理”时被点名的那个——手指飞快地在键盘上敲击,屏幕上滚动的代码行和调试信息一闪而过。他们讨论的内容,肖静安听不清,但那专注的姿态和屏幕上的内容,无疑与“凤凰”项目紧密相关。

他们拥有权限,他们掌握信息,他们构成了一个无形的、紧密的圈子,将他这个名义上的负责人,彻底排除在外。

肖静安收回目光,落在自己桌面上那份打印出来的、由他重写的核心算法伪代码上。逻辑清晰,结构优化,性能提升显著。然而,这只是纸上谈兵。没有历史数据的支撑来验证边界条件,没有测试环境去跑通流程,没有团队的配合去重构模块,这份精心设计的蓝图,不过是废纸一张。一股冰冷的怒意混合着被刻意压制的焦躁,如同藤蔓般悄然缠紧了他的心脏。他攥紧了拳头,指甲深深陷进掌心粗糙的薄茧里,带来一阵尖锐的刺痛。

“笃笃笃。”

几声轻快的敲击声在隔断板上响起。

肖静安猛地抬头,眼中的冷冽在看清来人时迅速收敛。是温雅柔。她今天穿着一套剪裁利落的浅蓝色条纹西装套裙,长发一丝不苟地盘在脑后,露出光洁的额头和修长的脖颈,整个人散发着干练而清爽的气息。她手里拿着一个文件夹,脸上带着恰到好处的职业微笑,目光却敏锐地捕捉到了肖静安眼底深处那一闪而过的冷意,以及他面前屏幕上那个刚刚关闭的、残留着红色提示框影子的浏览器窗口。

“肖生,早。”温雅柔的声音清脆悦耳,带着港普特有的圆润尾音,“唔好意思打扰下。陈副总叫我过嚟,提醒下‘凤凰’项目嘅进度,下个月初嘅deadline冇变,佢好concern个timeline。”她一边说,一边很自然地走近了些,将手中的文件夹放在肖静安桌上一个空位。动作看似随意,但肖静安注意到,她身体的角度恰好挡住了王海那个方向可能投来的视线。

“明白。”肖静安点点头,声音低沉。他不需要温雅柔重复陈副总的压力,那份压力早已像山一样压在他心头。他更在意的是温雅柔此刻出现带来的信息。“陈副总…有冇approve我嘅系统权限?”他问出了这个困扰他几天的问题,目光直视着温雅柔的眼睛。

温雅柔脸上的笑容未变,但眼神深处掠过一丝几不可察的无奈。她微微侧头,压低了些声音,语速比刚才略快:“IT ticket我日日都有follow up,但系…陈副总佢最近好忙,成日出trip见客,份approval request仲喺佢邮箱入边pending紧。”她顿了顿,目光意有所指地扫了一眼王海的方向,声音压得更低,“不过,有D嘢,未必一定要等system access嘅。技术部咁多人,总有人可以share下info嘅,系咪?” 她的尾音带着一丝微妙的暗示,目光清澈地看着肖静安。

肖静安心中一动。温雅柔的话像一道微光,划破了眼前的迷雾。她是在提醒他,绕过冰冷的系统壁垒,从“人”身上寻找突破口。信息封锁,但人不是机器,总有缝隙可钻。他立刻明白了她的指向——李志明。那个看起来腼腆、但眼神干净、对他流露出过一丝善意的年轻工程师。

“明白。”肖静安再次点头,这次的“明白”里,多了一丝了然和决心。

“Good。”温雅柔似乎接收到了他眼神里的信号,笑容加深了些许,带着一丝鼓励,“Keep住个momentum。陈副总后日会返公司开个brief meeting,到时希望听到你嘅update。”她拿起桌上的文件夹,动作优雅地转身,高跟鞋在地毯上踩出轻快的节奏,如同来时一样,径直离开了技术部区域,没有再看王海那边一眼,仿佛真的只是来传达一个普通的提醒。

肖静安目送她离开,心中那根紧绷的弦并未放松,反而绷得更紧。后天的brief meeting…陈副总要听update…没有权限,没有团队支持,拿什么update?王海他们,恐怕正等着看他在陈副总面前哑口无言、颜面扫地的“好戏”。

不能再等了。必须撕开一道口子!

他的目光锐利如鹰隼,迅速扫过整个办公室。李志明的工位在靠里的区域,靠近Lab 1的门口。此刻,他正埋着头,对着屏幕眉头紧锁,手指在键盘上敲打着,似乎遇到了什么难题。王海和Mark他们还在热烈讨论着什么,暂时无暇他顾。

时机正好。

肖静安站起身,没有刻意放轻脚步,但动作沉稳而直接,朝着李志明的工位走去。他的举动立刻引起了周围一些同事的注意。几个正在敲代码的工程师抬起头,目光带着好奇和审视追随着他。王海似乎也察觉到了动静,停止了和Mark的讨论,侧过头,镜片后的目光带着毫不掩饰的探究和一丝玩味的笑意,远远地投了过来,仿佛在欣赏一场即将上演的戏剧。

肖静安无视了那些目光,径直走到李志明身边。年轻的工程师太过专注于屏幕上的问题,直到肖静安的影子落在他桌面上,他才猛地一惊,抬起头,看到是肖静安,脸上立刻浮现出紧张和一丝慌乱,下意识地想站起来:“肖…肖经理?”

“坐。”肖静安抬手虚按了一下,示意他不用起身。他的目光直接落在李志明的电脑屏幕上。屏幕上是一个调试器的界面,一堆报错信息堆叠在控制台窗口里,核心错误提示是“Null Pointer Exception”,显然是某个对象引用出了问题。

“遇到问题?”肖静安的声音很平静,听不出任何情绪。

“系…系啊。”李志明有些结巴,推了推滑到鼻梁的黑框眼镜,指着屏幕上一行代码,“呢个service call返嚟嘅object,成日都系null,搞到成个process hang咗…我check过input,冇问题架,唔知边度出错…”他的语气带着明显的挫败感。这个问题困扰了他小半天了,一直找不到原因。

肖静安俯下身,身体微微前倾,目光快速扫过那段报错的代码片段以及相关的调用栈信息。他的手指在屏幕上点了一下报错的位置,又快速向上划动,浏览着调用链。“呢个方法入边,你check咗个dependency injection冇?Spring context加载嗰阵,呢个bean有冇成功inject到?”他直接切入技术核心,语气笃定。

李志明愣了一下,随即眼睛猛地睁大,像是被点醒了:“啊!系喔!我…我冇谂到呢层!呢个bean系新加嘅,config file入面可能漏咗scope定义!”他立刻手忙脚乱地打开另一个配置文件窗口,快速查找起来。

肖静安没有催促,只是安静地站在一旁,目光看似随意地扫过李志明桌面上散落的其他东西——一本翻开的《Java并发编程实战》,一个印着卡通图案的马克杯,还有…几张钉在一起的、印着“Phoenix Project - API Spec v0.8”字样的纸张一角,被压在一叠打印纸下面。他的瞳孔几不可察地收缩了一下。

李志明很快找到了问题所在,果然是在Spring的XML配置文件里,漏写了一个bean的scope属性。他飞快地加上“scope="prototype"”,保存,重启本地服务。控制台里的错误信息瞬间消失,程序流畅地运行了下去。

“得咗!真系得咗!肖经理,唔该晒你啊!”李志明兴奋地转过头,脸上满是解决难题后的轻松和由衷的感激,看肖静安的眼神已经带上了明显的崇拜。困扰他半天的难题,被新经理一眼就看穿了!

肖静安脸上依旧没什么表情,只是淡淡地点了点头:“小问题,以后注意D。”他的目光状似无意地扫过那叠被压在下面的、露出“Phoenix”字样的纸张,“你而家跟紧‘凤凰’嘅边个part?”

“哦,我负责紧几个后台API嘅开发同埋单元测试。”李志明立刻回答,语气比之前自然放松了许多,“主要系用户profile管理同埋数据上报嗰几块。”

“API Spec?”肖静安的目光精准地落在那叠纸上,“v0.8?而家唔系应该用最新版咩?”

李志明的表情瞬间僵了一下,眼神里闪过一丝慌乱,下意识地瞟了一眼王海的方向,压低声音:“最新版…最新版喺SharePoint入边。我…我冇权限download最新嘅。呢份v0.8…系之前Mark俾我嘅,佢话暂时够用住先…”他的声音越来越小,带着明显的无奈和不安。他显然也知道版本滞后会带来问题,但作为底层工程师,他无能为力。

肖静安心中了然。信息封锁,不仅针对他,连下面具体干活的工程师也被刻意限制了信息获取渠道,只能使用过时的、甚至可能被修改过的文档。王海的手段,比他想象的更周密也更卑劣。

“最新版嘅spec,定义咗几个关键接口嘅input/output格式,同埋埋error handling规则,同你手上呢份v0.8有好大出入。”肖静安语气平静地陈述事实,像是在讨论技术细节,“尤其系数据上报嗰个API,v0.8嘅字段定义唔完整,缺少咗两个mandatory field,如果按呢个版本开发,到时集成测试实fail。”

“吓?”李志明脸色瞬间白了。他之前就隐隐觉得按照v0.8开发有些地方不对劲,但碍于权限和Mark的“权威”,没敢质疑。现在被肖静安直接点破要害,想到自己几天的工作可能都要推倒重来,冷汗都冒出来了。“咁点算啊肖经理?我…我而家写紧嘅code…”

“唔使惊。”肖静安打断他,声音沉稳,带着一种令人信服的力量,“你而家写嘅code,核心逻辑冇大问题,主要系接口适配层要调整。关键系,你要攞到最新、最准确嘅spec。”他停顿了一下,目光直视着李志明慌乱的眼睛,声音压得更低,却带着不容置疑的份量:“我需要一份最新嘅、完整嘅‘凤凰’项目API接口定义文档,同埋数据库ER diagram。你,有冇办法?”

李志明的心跳骤然加速。他听懂了肖经理的意思。这是让他去“偷”资料!绕过王海和Mark的封锁!风险不言而喻!他紧张地咽了口唾沫,手指无意识地绞在一起,目光再次不受控制地瞟向王海的方向。王海似乎正和Mark讨论着什么,暂时没注意这边。

“我…我…”李志明的声音有些发颤,内心在天人交战。一边是王海的积威和可能面临的报复,一边是肖经理展现出的强大技术实力和刚才出手相助的恩情,以及一个解决自己当前困境的机会…更重要的是,肖经理平静眼神下那种强大的自信和掌控感,让他莫名地感到一丝可以依靠的力量。

时间仿佛凝固了几秒。

终于,李志明猛地一咬牙,像是下定了某种决心。他飞快地从口袋里掏出自己的工卡,插进电脑读卡器,手指在键盘上快速敲击了几下,登录了自己的账号。他的权限虽然不高,但访问SharePoint上一些标记为“部门共享”(其实主要王海团队在用)的文档库还是可以的。他快速地在一个隐藏得很深的文件夹里找到了最新的“Phoenix_API_Spec_v1.2_Final.pdf”和“Phoenix_DB_ERD_v1.0.pdf”。

“肖经理…”李志明的声音带着紧张和决绝,将一个黑色的U盘迅速插进电脑接口,“麻烦…借个手指用下…”

肖静安立刻会意,侧过身,用自己宽阔的背部形成一个视觉屏障,挡住了大部分来自王海方向的视线。李志明手指颤抖着,却异常迅捷地将那两个关键文档拖拽进了U盘。进度条飞快地走完。

“叮”的一声轻响,拷贝完成。

李志明像做贼一样飞快地拔下U盘,塞到肖静安垂在身侧的手里。U盘外壳还带着电脑USB接口的余温,有些烫手。

“唔该晒。”肖静安的声音低沉而清晰,将U盘紧紧攥在手心。那小小的金属方块,此刻重逾千斤。这不仅仅是一份文档,这是撕开信息封锁的第一道口子!是破冰的利刃!

“肖经理…”李志明的声音带着后怕和一丝担忧,“你…你自己小心D…”

“放心。”肖静安只回了两个字,目光坚定。他转过身,不再停留,迈着沉稳的步伐,径直走回自己的工位。他能感觉到,背后王海那审视的目光,如同跗骨之蛆,一直追随着他,带着探究和一丝不易察觉的狐疑。

肖静安坐回座位,将U盘插入自己电脑。电脑屏幕的光映在他脸上,眼神锐利如刀锋。他打开文件管理器,找到了那个刚刚被拷贝进来的PDF文件——“Phoenix_API_Spec_v1.2_Final.pdf”。

双击。文件打开。

当清晰的页面加载出来的瞬间,肖静安的眉头骤然锁紧!一股冰冷的怒意如同毒蛇般窜上脊背!

文档的正文部分,所有关键的技术细节——接口URL、请求响应格式、字段定义、状态码规范——竟然全部被一层灰色的、半透明的“Confidential - Internal Use Only”水印密密麻麻地覆盖了!水印的密度极大,字叠着字,像一层厚厚的、令人窒息的迷雾,将核心信息彻底遮蔽!只能勉强看到一些无关紧要的章节标题!

这不是简单的权限设置!这是人为的、刻意的、针对性的信息加密封锁!王海他们,竟然做到了这一步!连李志明这种内部工程师下载到的“最新版”,也是被处理过的、无法直接阅读核心内容的版本!

好狠的手段!

肖静安攥紧了拳头,指关节因为用力而发出轻微的“咔吧”声。胸腔里那股冰冷的怒意几乎要冲破喉咙。但他强行压了下去。愤怒解决不了问题。他深吸一口气,强迫自己冷静下来。目光死死盯着屏幕上那片模糊的“水印迷雾”,大脑开始以前所未有的速度运转。

水印是覆盖在文字层上的。PDF文档的结构…图层…是否可以分离?或者,有没有可能通过技术手段,削弱水印的显示效果,让底层的文字显现出来?

他立刻打开一个十六进制编辑器(Hex Editor),尝试直接查看PDF的底层代码。密密麻麻的十六进制字符如同天书般滚动。他快速搜索着与图像水印相关的对象标识符(Object ID)和可能的水印嵌入指令。时间一分一秒过去,额角渗出细密的汗珠。屏幕上的代码如同迷宫,而他必须在极短的时间内找到破解的路径。

就在他全神贯注之际,一个略显高亢、带着明显戏谑的声音在不远处响起:

“咦?肖经理,睇紧咩咁入神啊?”王海不知何时已经踱到了肖静安的隔断入口处,身体斜倚着隔断板,脸上挂着那种熟悉的、令人厌恶的笑容,目光精准地投向肖静安的电脑屏幕,落在那份被浓密水印覆盖的API文档上。“哦?呢份API spec啊?点解睇呢个旧版嘅?仲俾水印遮到实一实?最新版喺SharePoint入边好清楚架!”他故作惊讶地说道,语气里的幸灾乐祸几乎要溢出来,“系咪冇权限啊?唉,都怪我,冇同IT那边follow up你嘅access。不过呢,肖经理你技术咁劲,呢D小小水印,对你嚟讲,小意思啦?分分钟自己搞掂啦!”他摊了摊手,笑容灿烂,仿佛在说一个无伤大雅的笑话。

周围的空气瞬间凝固了。几个附近的同事停下了手中的工作,目光齐刷刷地投了过来,带着各种复杂的情绪——好奇、看戏、同情、漠然。李志明的脸瞬间变得煞白,紧张地看着这边。

肖静安敲击键盘的手指停了下来。他没有立刻抬头,目光依旧锁定在屏幕上那片令人窒息的水印上。王海的嘲讽和挑衅,像一盆冰水,兜头浇下,非但没有浇灭他心头的火焰,反而让那火焰燃烧得更加冰冷而炽烈!

他缓缓地、极其缓慢地抬起头。目光如同淬了冰的刀锋,越过电脑屏幕,精准地刺向倚在隔断旁、一脸看好戏笑容的王海。

那眼神里,没有任何被羞辱后的愤怒或窘迫,只有一种沉淀到极致的、冰冷的平静,以及一种近乎猛兽锁定猎物般的专注和…一丝不易察觉的、令人心悸的戾气。

办公室里的温度,仿佛瞬间降到了冰点。

肖静安开口了。声音不高,甚至比平时更低沉沙哑,却像冰棱碎裂般清晰地穿透了凝固的空气,每一个字都带着千钧的重量,砸在所有人的耳膜上:

“王工。”

“你讲得啱。”

“呢D,真系小意思。”

“你企喺度,好好睇住。”