楔子
四十五岁这年,我被公司优化了。
早上出门老婆往我包里塞保温杯,说天凉,别喝凉的。九点半,行政叫我去三楼小会议室。推开门,HR小陈和张诚坐里头,桌上摆着份文件。
小陈笑:“周哥,公司今年方向调整……”后面的话我听得见,但耳朵嗡嗡的。张诚补了句:“老周,这也是没办法的事。”他叫我老周,叫了十年。
文件推过来,我签了字。
下午到家推开门,老婆在厨房喊:“今天怎么回来这么早?”
我说:“以后都这么早。”
她切菜的刀停了两秒,没回头。
第一章:十年深耕无人记,一朝优化众人疏
那天早上的雾特别大。
我骑着电动车从小区出来,车前灯打出去的光都是散的,照不出三米远。老婆追到楼道口,往我车筐里塞了个保温杯,说天凉,别在公司灌凉水。我应了一声,拧把走了。
到公司楼下八点五十,我把车停在车棚最里头靠墙那根柱子旁边,这位置不碍别人的事,十年都停这儿。掏工卡,滴一声,闸机开了。电梯里碰见隔壁组的老刘,他看了我一眼,点了下头,眼睛盯着楼层数字没挪开。我当他赶时间,没往心里去。
九点二十,行政小陈打内线:“周哥,张总让你去趟三楼小会议室。”我翻了翻笔记本,以为是项目协调的事,顺手抄了支笔就上去了。
推开门,里头坐着小陈和张诚。小陈面前一台笔记本,手指搁在键盘上,没敲。张诚坐在靠里的位置,手机屏幕朝下扣在桌面上,两只手交叉搁在桌沿。桌上摊着一份打印好的文件,封面几个黑体字——协商解除劳动关系协议书。
我在他们对面的椅子上坐下来,第一反应是先看了一眼张诚。他没看我。盯着桌角那盆绿萝,公司统一配的塑料盆,叶子灰蒙蒙的,很久没人擦过。
小陈开口了,语气还是平时那副客气调:“周哥,公司今年方向有调整,你所在的岗位……”
我听见自己的心跳,一下一下撞着耳膜。她说的每个字我都听得清,但连在一起,脑子得一个字一个字往里送。
“……经过评估,决定对这个岗位进行优化。”
说完了。小陈合上电脑,看我。
张诚这才抬起头。他嘴角往上提了一点,眼睛没跟上,目光落在我脑门上方几寸的位置,虚的。
“老周,”他叫了我十年老周,“这也是没办法的事。今年大环境就这样,上面压了硬指标,部门得瘦身。”
他顿了一下,手指在桌面上轻轻敲了两下,跟敲鼠标似的。
“你的能力我是认可的。但现阶段,公司更需要年轻化的架构,需要新鲜血液。”
年轻化。新鲜血液。
我盯着桌上那份文件,伸手翻开第一页。补偿方案写得干净,N+1,数字列得整整齐齐,连税后金额都算好了。十年工龄,缩成表格里一行数。
“今天签,明天不用来了?”
小陈点头:“今天办完交接手续就行,补偿金走完流程下个月到账。社保这边多缴一个月,方便你过渡。”
张诚接了一句:“老周,这个方案我跟上面争取过的,能给的都给你争取了。”
我看了他一眼。他没躲,目光跟我碰了一下,滑到窗户那边去了。窗外那棵银杏树叶子黄了大半,风一吹,往下掉。
笔搁在文件旁边,黑色签字笔,笔帽上印着公司logo。我拿起来,在最后一页签了自己的名字。笔画很稳,没抖。
小陈把文件收走,递给我一份复印件,说了句“周哥,祝你以后一切顺利”。张诚站起来走到我旁边,伸手拍了拍我肩膀,力道很轻,拍了两下收回去。
“老周,以后有什么需要帮忙的,随时联系。”
他说这话的时候,语气很真诚。我差点就信了。
出了会议室,小陈追上来,说工卡得交回去,流程要求。我把工卡从脖子上摘下来递给她。蓝色挂绳边缘磨得起毛,挂绳上还有汗渍。
回工位的路上碰见老刘。他正从茶水间出来,端着杯子,看见我,脚步顿了一下。
“老周,开会啊?”他问了一句,语气跟平时一模一样。
“嗯,开完了。”
他点了下头,端着杯子快步走了。走了几步,回头瞟了一眼,又转回去,脚步更快了。
我回到自己工位上,坐下。椅子还是那把椅子,坐了七八年了,坐垫左边塌下去一块,我习惯歪着坐,压出来的坑。桌面上键盘、鼠标垫、保温杯、一盆绿萝,摆得整整齐齐。
拉开抽屉开始收拾。东西不多:几本笔记本,翻得起了毛边,封皮上写着年份,从2014到2024,每年一本;一个旧U盘,存着各种版本的方案和图纸;抽屉最里头还有半包烟,去年项目赶工熬夜时买的,抽了两根就搁那儿了。
笔记本摞在一起,U盘塞进中间,烟揣兜里了。纸箱是行政给的,标准尺寸,装这些东西刚好。
这时候走廊那头传来脚步声。张诚带着吴宇走过来。吴宇二十六七岁,深蓝色衬衣,头发梳得一丝不乱,手里抱着台笔记本电脑,跟在张诚身后半步远的位置。
“老周,这是小吴。”张诚说,语气已经切回来了,跟平时安排工作一个调门,“之前跟你提过的,接你手头这一摊。”
吴宇冲我笑了一下,伸手过来:“周哥,以后多指教。”
我跟他握了手。他手心是干的,握得挺用力。
张诚指着我电脑屏幕:“小吴,你先看下周哥电脑里的项目文档,权限我让运维马上给你开。”然后转向我,“老周,你跟小吴对接一下,今天弄完就行。”
我点了下头。
张诚走后,吴宇凑过来,看了看我屏幕上还开着的项目进度表。那表是我建的,每天下班前更新,十年没断过。
“周哥,这个表是每天更新还是每周?”他问,掏出手机对着屏幕拍了张照。
“每天。”
“哦。”他在手机备忘录里记了一笔,“更新完了发群里?”
我看了他一眼。以前这表都是我自己更新自己盯,出了问题我直接处理,不需要谁批准,也不需要谁转发。
“以前没发过群。”
“那我接过来之后发一下?让领导也能看见进度。”
“你看着办。”
我把电脑屏幕关了,拔掉自己的U盘,桌面上的绿萝搬进纸箱。吴宇退到旁边,抱着他的笔记本电脑,有点不知道站哪儿的样子。
“周哥,那个……要不你先收拾,我等你弄完再过来?”
“不用等。你坐吧。”
我把椅子往前推了推,让给他。他犹豫了一下,坐下了。屁股刚挨着坐垫,他就把电脑打开,手指在键盘上敲起来,估计在试系统登录。
我抱着纸箱往电梯间走。经过走廊的时候,几个同事从工位上抬起头看了一眼,又低下去。一个平时见面会喊“周哥”的年轻人,嘴巴张了张,最后什么也没说出来,把头扭回屏幕。
老刘的工位在我必经之路上。他正对着电脑,手指在键盘上敲得飞快,脖子梗着,后脑勺对着我。我从他身后走过去,他肩膀绷了一下,始终没回头。
电梯间在走廊尽头。我按了下行键,等电梯的时候,身后传来两个人的脚步声和说话声。我扭头看了一眼,是隔壁组的两个小伙子,平时中午一起在食堂拼桌吃饭的。他们看见我抱着纸箱站在电梯口,脚步慢下来。其中一个张了张嘴:“周哥——”
另一个拽了下他袖子。布料摩擦的声音很轻,但我听见了。
“嗯,”我说,“你们忙。”
电梯门开了,我进去。门合上之前,我看见那俩同事站在原地,一个低着头看手机,另一个嘴动了动,什么声也没出。
一楼到了。我抱着纸箱出了公司大门。
十月的风灌进领口,凉飕飕的。纸箱搁在电动车踏板上,用腿夹着,骑出了园区大门。门卫老赵从岗亭窗户探出半个头,喊了句:“周工,这么早走啊?”我说嗯,他哦了一声,头缩回去了,大概还不知道以后见不着我了。
路上等红灯的时候,手机响了一声。掏出来一看,公司大群——三百多号人那个——行政发了条通知:“欢迎吴宇加入团队,接任周建明工作。”底下齐刷刷冒出一排大拇指和“欢迎”表情包,刷了十几条。往上翻几屏,上一条跟我有关的消息是半个月前。当时生产环境出了个突发问题,甲方半夜打电话骂人,我爬起来远程处理,在群里同步进度。那会儿底下跟了一排“辛苦周哥”。
那些“辛苦”还挂在聊天记录里,往上滑两屏就能看见。再往上,还有前年春节值守的“周哥辛苦了”,去年抢修三天三夜的“感谢周哥”。一条一条,排得整整齐齐。
绿灯亮了。我把手机揣兜里,拧把走了。
到家下午两点多。老婆还没下班,屋里静得很。我把纸箱搁玄关地上,换了拖鞋,去厨房烧了壶水。等水开的工夫,坐在沙发上翻了翻手机里的招聘软件。四十五岁,技术岗,关键词输进去跳出来一堆岗位。翻了两页,要么写着“年龄35周岁以下”,要么要求“具备头部互联网企业三年以上背景”,往下滑了十几屏,没一个能投的。
水开了。灌进保温杯,盖好盖子,搁茶几上。茶几上压着张纸,这个月房贷扣款通知,老婆打印出来搁那儿的,两千三,每个月二十号扣,旁边还放了支笔,大概想让我核对一下卡里余额。
我看了会儿那个数字,起身去阳台。那盆绿萝搁在窗台上,我给它浇了点水,顺手把黄叶子掐了。叶子捏在手里,软塌塌的,往垃圾桶一扔,没声儿。
晚上六点半老婆回来了。推开门看见玄关地上的纸箱,愣了一下,然后看见我坐在沙发上攥着保温杯。
“今天怎么回来这么早?”包挂好,换拖鞋,语气跟平时没两样。
“嗯。以后都这么早。”
她看了我一眼,没接着问。转身进厨房,打开冰箱翻了翻。
“晚上给你炒个青椒肉丝,再拍个黄瓜。”声音从厨房传出来,不高不低,跟平时一模一样。
我说行。切菜声传出来,当当当,很规律。过了会儿她探出头,问了一句:“补偿怎么谈的?”
“N+1。”
她手上没停:“够撑一阵的。你别急,慢慢找。”
我没接话。她也没再问。
吃饭的时候电视开着,本地新闻在播一家企业扩产招工的消息。老婆给我夹了一筷子肉丝搁碗里。
“隔壁老赵他媳妇那个厂,上个月也在裁人,”她说,“现在大环境就这样,跟你没关系。”
我扒了口饭。
“你干了十年,歇两天也应该。”
我嚼完嘴里的饭:“嗯,歇两天。”
吃完饭我洗碗。她在客厅拿手机,听见她点开微信跟人发语音,声音压得低,听不清说什么,中间笑了一声。我把碗擦干放进橱柜,顺手把灶台抹了一遍,抹布拧干挂回钩子上。
晚上躺在床上,我又翻了翻招聘软件。投了三家,系统自动回复“简历已收到”。刷新一下,那几家公司的岗位还挂着,发布时间显示两个月前。
旁边老婆翻了个身,手搭在我胳膊上,没说话。
第二天六点半,照常醒了。在床上躺了会儿,听着外头环卫工扫地的声音,唰——唰——,一下一下的。老婆起床看见我还在家,说了句“再多睡会儿”。我说睡不着了。她出门前把冰箱里剩的包子热了搁桌上,说了句“中午自己热点吃的”,关门走了。
我坐在餐桌前吃包子,打开手机。公司群里吴宇发了条消息,问某个老系统的登录路径。底下好几个人回,有的说找运维,有的说查文档。吴宇又发了一条:“文档里没找着,周哥之前是直接操作的,好像没留记录。”
群里安静了几秒。然后有人@了运维组的同事,说帮忙看一眼。
我盯着屏幕看了会儿,把手机扣在桌上。包子吃了一半,剩下半个搁回盘子里。
下午去小区门口超市转了一圈。碰见楼下邻居老孙,他问:“今天休息啊?”我说嗯,调休。他哦了一声,拎着菜走了。走出几步又回头看了我一眼,大概想起来这个点儿不该有人在家。
第三天开始正式投简历。把十年的项目经历压缩到两页纸,投了七八家。有一家回复得快,约了面试。面试官技术问题都对上来了,最后翻了翻简历,问:“您这个年龄,对加班怎么看?”
我说该加的时候加,没问题。
他点点头,说回去等通知。
等了两天,没通知。
第五天吃晚饭的时候老婆问了一嘴:“那家怎么样?”
“让等通知。”
她嗯了一声,往我碗里添了勺汤。
第七天刷微信的时候看见张诚发了条朋友圈。部门聚餐的九宫格,吴宇坐在我以前常坐的位子上——靠窗第三把椅子,抬头能看见楼下那棵银杏树。照片里还有那几个以前天天跟我对接的同事,举着杯子,脸喝得红扑扑的。底下有人评论“张总团队真热闹”,张诚回了个笑脸表情。
我划过去了,没点赞。
那天晚上老婆坐沙发上看电视,我坐旁边翻手机。她突然说了句:“你要是不想找技术岗了,换个方向也行。房贷我这几个月工资能顶住,你别给自己上太大压力。”
她说这话的时候盯着电视,手里在剥橘子,剥完递给我一半。
“知道。”我说。
第十天,拒信开始来了。措辞都很客气——“经过综合评估,您的经历与岗位要求存在一定差异”。有一封连称呼都没改,开头写着“尊敬的XX先生”。老婆把工资卡搁茶几上,说了句:“这月房贷从我卡里扣了。你别跟我算这个。”
我坐在沙发上,把手机翻过来扣在膝盖上,半天没动。她走过来拍了我后脑勺一下:“别搁这儿坐着了,把碗洗了。”
我站起来去洗碗。水龙头开得大,冲得碗沿哗哗响。
第十二天,翻手机通讯录的时候看见张诚的微信对话框。最后一条消息还停在上个月,他群发的绩效考核表。我往上滑了滑,想找找以前加班到半夜时他发的那句“辛苦了老周”,翻了半天,没找着。要么是删了,要么是当时说在嘴上的,根本没发过文字。
那天晚上吃完饭,老婆在厨房洗碗,我坐餐桌前拿张纸把房贷、物业费、水电燃气费列了个单子。数字加在一起,算了两遍。老婆擦着手走过来,看了一眼那张纸,在我对面坐下。
“你要实在不想再找技术岗了,”她说,“咱家这几个月我工资能顶住。你别硬撑。”
我说:“没事。我再看看。”
她没再说什么,把纸叠了叠搁进抽屉。
睡觉前我在阳台站了会儿。楼下路灯亮着,小区里没什么人走动。那盆绿萝在窗台上,掐过黄叶子之后精神了不少,油亮亮的。手机搁窗台上,屏幕暗着。我拿起来翻了翻,公司群里又多了几条消息,吴宇在问一个老系统的数据库密码。底下没人回。上一条是运维组的人说“周哥之前都自己管的,我们这边没留存”。
我把手机揣兜里,回屋睡觉。
明天继续投简历。
第二章:新人上岗空架子,隐忧深埋无人知
在家待了半个月,生物钟还是六点半准时醒。
老婆出门前把粥盛好搁桌上,盖了个盘子保温。我坐餐桌前喝粥,手机搁旁边,公司大群的消息一条条往外蹦。吴宇在群里问了个问题:“各位老师,这个生产报表的取数逻辑,我在文档里没找着,周哥之前是直接从数据库拉的吗?”
底下没人回。过了十来分钟,运维组的小李冒了个头:“问下张总吧,这个我也不清楚。”
吴宇回了个“好的”,后面跟了个抱拳的表情。
我把手机翻过去扣桌上,接着喝粥。那生产报表的取数逻辑是我自己写的脚本,每天凌晨四点自动跑,把七张分表的数洗一遍、合一张总表,再推到甲方那边。脚本放在服务器某个角落的文件夹里,文档里确实没写,因为这东西写了也没人看。十年了,没人问过我怎么弄的。
下午去菜市场买菜。老婆上班前交代的,说冰箱空了,你闲着也是闲着,买点菜回来。我拎着布袋子在菜摊前挑黄瓜,手机又响了。这回是老刘,私聊。
“老周,忙不忙?”
我擦了擦手,打字:“不忙,咋了?”
对面输入状态跳了快半分钟,最后蹦出来一行:“没事,就是问问你最近怎么样。”
“还行。找着下家了没?”
“没呢,慢慢来。”
又沉默了十几秒,老刘又发了一条:“那个……吴宇今天把生产报表的脚本弄停了,不知道动了哪个参数,早上的报表没推出去,甲方那边打电话来问。张总发了通火,后来运维从备份里翻了半天,凑合对付过去了。”
我看了眼这条消息,没急着回。老刘又追了一条:“我就是跟你说一声,你别往心里去。”
“嗯,知道。”
晚上老婆回来,我炒了俩菜。吃饭的时候她问今天有没有人联系我,我说老刘聊了两句。她说聊啥了,我说随便聊聊,问问我最近怎么样。她扒了口饭,没再问。
吃完饭洗碗的时候手机又响了。这回是吴宇,直接发的语音:“周哥,那个生产报表的脚本我看了半天没看懂,你方便的话能不能跟我说说大概逻辑?我这边好补个文档。”
语气挺客气,还带点小心翼翼。
我擦干手,回了条文字:“凌晨四点自动跑,数据源在服务器/data/scripts目录下,有个run_report.sh的文件,你看那个就行。”
他回了句“好的谢谢周哥”,后面跟了仨抱拳。
过了两天,老刘又来了消息。这次直接发的截图,公司群里的聊天记录。吴宇在群里说生产报表已经恢复正常,附了张截图证明数据跑出来了。张诚回了个大拇指:“效率可以。”
老刘在截图底下跟了一句:“你猜他怎么弄的?直接找运维拿的旧备份数据手动导进去的,脚本本身压根没修好。等于说每天还得手动跑,这不又回去了吗。”
“张总知道吗?”
“他哪懂这个。吴宇跟他说是脚本优化,张总就信了。”
我把截图存了,没往外发。
又过了两天,老婆下班回来脸色不太对。吃饭的时候她憋了半天,最后搁下筷子:“你那个老上司张诚,他老婆今天在超市碰见我,问你在家歇着呢还是找着下家了。”
“你怎么说的?”
“我说在找。”她夹了一筷子青菜,“她那个表情,嘴上说‘慢慢来不着急’,眼睛一直瞟别处。临走还补了句‘你们家老周能力那么强,肯定没问题’,那语气你品品。”
我嚼完嘴里的饭,没接话。
“我品了半天,”老婆自己接了话,“她那意思就是,你看你家老周不也失业了嘛。”
“随便她怎么想。”
“我能随便吗?我当场就想说你老公那是被他们老张踢出来的,你们家老张什么德性你心里没数?后来忍住了。”
我给她碗里夹了块肉:“忍得好。”
她瞪我一眼,把肉吃了。
第二天上午,我正在家看招聘信息,老刘的电话直接打过来了。
“老周,出事了。”他声音压得很低,估计在楼道或者厕所打的。
“咋了?”
“客户管理系统今早卡死了。所有销售登录不了,甲方那边几个大区经理直接打张总手机。吴宇在那搞了一上午,重启了三回,越重启越乱。现在数据对不上,有几条客户记录直接丢了。”
我往后靠了靠,坐在沙发上。
“张总现在在会议室发火,拍桌子。运维那边说他们只管服务器,系统架构的事不归他们管。吴宇在里面被骂了快半小时了。”
“那你给我打电话是……”
老刘顿了一下:“老周,你别多想,我就是跟你说说。整个部门,除了你没人搞得定这系统。当初这玩意儿就是你自己从头搭的。”
“嗯。”
“张总刚才从会议室出来,脸色铁青。行政那边在问谁还有你电话。”
我笑了一声。老刘赶紧补了句:“我没给啊。我就说你有事微信找他,直接打电话不太合适。”
挂了电话,我把手机搁茶几上。老婆下班回来的时候,我正对着窗户那盆绿萝擦叶子。她换了鞋走过来,往我旁边一坐。
“今天老刘打电话了。”
“说什么了?”
“公司系统出问题了,搞不定。张诚在找我的电话。”
她看了我一眼。我擦完最后一片叶子,把湿纸巾扔进垃圾桶。
“你打算怎么办?”
“不怎么办。等着。”
“等什么?”
“等他找上门。”
老婆把茶几上的瓜子袋撕开,抓了一把搁手里:“你就这么肯定他会来?”
“系统再乱两天他就得来。他手里没别的人能填这坑。”
“那来了呢?他要是真给钱多,你回去不?”
我把绿萝盆转了半圈,让叶子朝向光线好的那边。
“再说。”
第三天下午,老刘发了条语音过来,背景音很嘈杂,听着像在走廊尽头。声音压得更低了:“张总今天上午开了个部门会,说客户管理系统的事已经跟上面汇报了,总部派了个技术组下周过来支援。吴宇这两天基本没怎么出会议室,晚上加班到十一二点。我听他们组的人说,吴宇昨晚上在工位上趴着睡了半宿。”
“总部来的技术组什么背景?”
“听说是做新系统开发的,老系统他们碰都没碰过。”
我把手机放下,从冰箱里拿了瓶酸奶。老婆回来的时候看见我在喝酸奶,问了句:“又有新消息?”
“总部要派人来救火。”
“能救得了吗?”
“新系统的人修老系统,好比让装修队的去补轮胎。”
老婆没忍住笑了一声,又赶紧收住:“那你还不赶紧找工作?人家总部都来人了,万一修好了呢?”
“修不好的概率大。”
“你咋这么笃定?”
我把酸奶盒扔进垃圾桶:“那系统底层是我写的。里面埋了多少坑、有多少历史遗留的破事,只有我自己清楚。总部那帮人连文档都找不着——那系统压根就没文档,代码注释都是我自己都看不懂的缩写。他们最多把表面能跑的流程修通,底下稍微深一点的隐患根本碰不到。”
老婆沉默了几秒:“那要是人家真搞定了呢?”
“搞定了我就踏踏实实找我的下家。但概率不大。”
又过了两天。老刘的微信消息越来越频繁,跟追连续剧似的每天更新。他消息灵通,哪个同事加班到几点、张诚一天开了几场会、吴宇被骂哭了一回——说是去洗手间拿凉水冲脸,回来眼睛红的——全给同步过来了。
我看着这些消息,在招聘软件上多投了十几家。有一家小公司回得挺快,约了面试时间,技术主管跟我聊了快五十分钟,挺对路,就是工资比原来少三成。对方很坦诚,说小本买卖,给不了太高。我说理解。
面试完回来的路上,老刘又发消息:总部技术组到了。一共来了四个人,在会议室跟张诚开了整整一下午的会。晚上七点多,那四个人还没走,吴宇叫了外卖送进去。会议室的白板上画满了流程图,有保洁阿姨进去收垃圾的时候瞟了一眼,说看着跟蜘蛛网似的。
“蜘蛛网”这仨字,我一看就知道怎么回事。那系统跑了快十年,经过多少人往上打补丁,我自己都记不清了。每来一个新人就往里加一层,加完了也不清理,旧代码就那么摞着。能跑的时候没人管,一停就全乱。
果然,第二天上午十点出头,手机响了。屏幕上跳着“张诚”俩字。
我看了会儿屏幕,响到第五声才接起来。
“喂,老张。”
“老周啊,”他那头语气热络,跟十天前完全两个调,“在家呢?这两天忙不忙?”
“还行,找工作呢。”
“那正好那正好,我这边有点事想跟你当面聊聊。你看今天下午方便不?我上你家那边去,找个茶馆坐坐?”
我往沙发背上靠了靠,看了一眼窗台上那盆绿萝。叶子又油亮了几分,新冒了两片嫩芽。
“不用茶馆,你来家里吧。我把地址发你。”
“好好好,那我下午两点到,方便不?”
“方便。”
挂了电话,老婆从卧室探出头。她今天调休在家。
“谁啊?”
“张诚。”
她走过来,坐我对面,两只手抱着胳膊。
“来了你打算怎么应付?”
我站起来去阳台,把晾的衣服收了。她跟在我后面,等我把衣架搁好、衣服叠上,又问了一遍:“问你话呢。”
“先看看他怎么说。”
“他还能怎么说,肯定是求你回去。”
“嗯。所以得看看他开什么条件、什么态度。”我把叠好的衣服往衣柜里搁,“你下午在家吧?”
“在家。我倒要看看他能说出什么花来。”
下午两点,门铃响了。我走过去开门。张诚站在门口,左手拎着个果篮,右手提着两盒茶叶,西装革履,脸上堆着笑。
“老周!好久不见好久不见。”
他脚上那双皮鞋擦得锃亮,踩在楼道地砖上,跟我家门口那块十块钱三双的拖鞋形成鲜明对比。
“进来坐。”我侧身让开门。
他进门换了拖鞋,把果篮搁鞋柜上,茶叶递过来:“给弟妹带的,一点心意。”
老婆从厨房出来,客气了一句“来就来还带什么东西”,把茶叶接了,转身搁餐桌上。
张诚在沙发上坐下来,环顾客厅一圈。茶几上搁着我这几天翻的招聘报纸、几张手写的面试笔记、一盒抽纸。他目光在那些东西上扫过去,脸上的笑收了收。
“老周,在家待了快二十天了吧?”
“差不多。”
“找到合适的没?”
“在看。”
他点了点头,手指在膝盖上轻轻敲了两下。这个动作我太熟了,他开会说正事之前就这习惯。
“老周,我今天来,也不跟你绕弯子。”他往前坐了坐,手肘支在膝盖上,“客户管理系统的事,老刘应该跟你说了吧?”
“听了一耳朵。”
“那系统是你一手搭的,底下的东西别人摸不透。总部来了四个人,弄了三天,越弄越乱。今天早上又出了个新问题——客户归属关系全乱了,销售那边炸了锅。”
我靠在沙发背上,没说话。
“老周,公司现在需要你回去救个火。”他看着我的眼睛,语气很恳切,“薪资好商量,翻倍没问题。职位上,你原来就是骨干,这次回去直接给技术经理,带团队。以后系统这块你说了算。”
他从包里掏出份打印好的文件搁茶几上,上面列着薪资待遇、职级安排,连签字盖章的地方都留好了。
“你看看,条件不满意咱再商量。”
我低头看了一眼那张纸。翻倍薪资、技术经理、团队管理权限。数字写得很清楚。
“老张,”我把那张纸推回去,“你先喝口水。”
他愣了一下。
“我在这干了十年,”我说,“这十年我兜了多少底、填了多少坑,你比我清楚。”
他嘴唇动了动,没插话。
“这系统是我从零搭的。后来加了多少功能、打了多少补丁、埋了多少雷,也是我一个人扛。每次出问题,都是我半夜爬起来远程处理。这些事,你都知道。”
“我知道,老周,你——”
“你先听我说完。”我抬手压了一下,“你优化我的时候说公司要年轻化,要新鲜血液。我当时想了一晚上,想明白了。你嫌我年纪大、工资高,换个便宜的上来,成本能省不少。这个账你算得没错。”
张诚脸上有点挂不住:“老周,那个决定也不是我一个人——”
“我没怪你。”我说,“你也是打工的,上面压指标,你得交差。但你今天来找我,我得把话说明白。你现在开的这些条件——翻倍工资、技术经理——听着挺好。可我想问问你,如果系统没出问题,你会来吗?”
他嘴巴张了张,没发出声。
“系统没崩的时候,你连我微信都不回。我走那天,群里欢迎吴宇刷了十几条。这半个多月,除了老刘跟我聊了几句,你们部门有谁问过我一句?现在系统瘫了、甲方骂人了、你交不了差了,你拎着果篮上门了。”
张诚坐在那儿,手指攥着膝盖,指节发白。
“老周,之前的事我承认,处理得确实……”
“过去的事不说了。”我打断他,“你今天来,条件我看了,确实不错。但我不能答应。”
他眼睛瞪大了:“为什么?嫌少?我们可以再谈——”
“不是钱的事。”
我站起来,走到阳台边上,把晾着的最后一双袜子收了,叠好搁沙发扶手上。张诚的目光一直跟着我。
“老张,你给的钱翻倍,是因为现在我不回去你交不了差。等系统修好了、危机过去了,明年、后年,公司再要压缩成本的时候,你第一个想到的还得是我。到时候再优化一轮,我还是那个年纪最大、工资最高的。”
他嘴张着,说不出话。
“我不是跟你赌气,也没记恨你。我就是把这个道理看明白了。”我坐回沙发上,看着他的眼睛,“你的高薪是救命钱,不是长久饭。我要是这回真回去,下次再出这种事,你照样会拿我填坑。等到哪天真填不上了,你还会优化我。”
张诚沉默了好一会儿。客厅里安静得能听见厨房水龙头滴水的声音,老婆在厨房里切水果,刀碰砧板的声响一下一下的。
“老周,”他终于开口,声音低了不少,“你说的这些,我理解。但眼下的坎儿真过不去,甲方那边已经发了正式函,再不解决要赔钱。你就当帮帮我,回去应急处理一下,把系统先稳住。条件你随便开,干几天也行,按天算钱,一天两千,不,三千——”
“老张。”
他不说了。
“系统我可以帮你看看。”
他眼睛刷地亮了。
“但我有条件。第一,我不回公司上班,也不签任何劳动协议。第二,我远程处理,需要什么权限让吴宇给我开,我弄完就退。第三,按次收费,一次结一次,概不赊账。修好了是你运气,修不好你也别赖我。”
张诚愣了好几秒,脸上的表情变了又变——先是松了口气,又有点不甘心,最后挤出个笑:“行行行,就按你说的办。那什么时候能开始?”
“你把吴宇的电话给我,我联系他。你先回去把权限的事安排好。”
他站起来连说了好几声“好好好”,走到门口换鞋的时候又回头:“老周,那个技术经理的事——”
“以后再说。”
门关上了。老婆端着果盘从厨房出来,往茶几上一搁,抱着胳膊看我。
“你就这么答应他了?”
“远程修一下,按次收钱。不亏。”
“那万一修好了,人家翻脸不认人呢?”
“系统底层逻辑在我脑子里。我给他修到能跑就停,深层隐患不动。他要是不认人,下回再崩就另请高明。”
老婆拿牙签戳了块苹果塞嘴里,嚼了嚼:“你这不是埋雷吗?”
“我埋什么雷?系统本来就有雷,我只是不替他们全拆了。拆完了我拿什么保障自己?”
她想了想,没再反驳,又戳了块苹果递到我嘴边。
当天晚上,吴宇的电话打过来了。语气比上回还客气:“周哥,张总跟我说了,太感谢了太感谢了。您看需要我这边准备什么?”
“明天上午九点,你把远程桌面权限开好,再把最近一周的系统报错日志导出来发我邮箱。别的不用管。”
“好好好,我明天一早就弄。”
挂了电话,我打开笔记本,翻了翻以前存的系统架构图。那文件我走之前拷U盘里了,本来打算留着当个念想,没想到真派上用场。
老婆凑过来看了一眼屏幕:“你真能修好啊?”
“能。但我不打算全修。”
“留一手?”
“留几手。该修的修,该藏的藏。让他们知道我能修,也知道我修得不痛快。”
她看了我一眼,没说话,把果盘里最后一块苹果塞我嘴里,端着空盘子进了厨房。
第三章:项目全线大崩盘,慌遍高层求我回
第二天上午九点整,吴宇把远程桌面权限开了,日志文件也发过来了。我泡了杯茶,坐到笔记本前面,登进去看了一眼。
满屏的报错信息,红彤彤一片,跟过年贴对联似的。报错日志我拉了最近一周的,每天平均三千多条,最多的一天七千多条。吴宇大概只看了最上面那几条,底下的压根没往下翻。
我花了半个钟头把日志分类过了一遍,毛病出在哪儿心里已经有数了。客户归属关系表被误删了一部分索引,连带把几个关联表的外键约束给搞崩了。这问题看着吓人,其实解决起来不复杂,把索引重建、脏数据清理掉、再跑一遍校验脚本就行。
但我往下多翻了两页,发现吴宇在出问题之后重启过三次数据库,有一次强行终止了进程。这下好,缓存里的数据没来得及落盘,有几张中间表的记录状态乱了套,跟主表对不上。
我拿起手机给吴宇发了条语音:“索引的事好说,但你那天强行杀进程,把几张中间表的数据搞脏了。我先修索引,脏数据这块你得手动核一遍,我修不了。”
吴宇秒回:“周哥,脏数据大概多少条?”
“粗算四千多条。我修完索引给你导个清单,你对着清单一条条核,哪些该留哪些该删你自己判断。”
那头沉默了快一分钟,回了句:“四千多条……周哥,有没有批量处理的办法?”
“有。但批量处理风险大,一旦判断错了整张表都得回滚。你自己决定。”
又沉默了会儿:“那我先手动核吧。”
下午两点多,我把索引重建完,跑了校验脚本,系统基本能登录了。吴宇那边开始一条条核脏数据,核到晚上九点多,发消息说还有两千多条没弄完,问能不能明天接着干。
我说行。反正我是按次收费,他核几天我收几天。
第三天早上,吴宇把脏数据清完了,系统跑起来看着正常。张诚在群里发了条消息:“感谢周工远程支持,系统已恢复。”底下又冒出来一排“感谢周哥”。我扫了一眼,没回。
老婆晚上回来问修好了没,我说表面好了,底下的隐患一个没动。
“那你还收人家钱?”
“我修的是表面。表面就是他们看见的那一层,修好了当然收钱。”
“你这不是糊弄人吗?”
“我没糊弄。我走之前系统是好的,他们自己搞坏了,我帮着恢复原样,这叫物归原主。深层隐患我走之前就存在,他们自己不当回事,怪不着我。”
老婆想了想,没再说什么。
接下来三天,公司群里风平浪静。吴宇每天照常发进度表,张诚偶尔在底下点个赞。老刘倒是又来了消息,说吴宇这几天精神头好了不少,在办公室里说话声音都大了,跟人讨论问题的时候又开始“我觉得应该这样”“我的判断是那样”了。
我看着这条消息,回了老刘一句:“你让他接着弄,没事。”
老刘发了个问号过来。我没解释。
果然,第五天上午十一点刚过,老刘的电话又来了。
“老周,又出事了。这回比上回大。”
“说。”
“客户管理系统跟财务系统的对接接口挂了。所有销售订单推到财务那边全部卡死,财务那边入不了账,仓库发不了货。今天早上八点开始,到现在三个小时了,一单没走。”
我往后靠在沙发上。这个接口的问题我太清楚了——当初设计的时候我就提醒过,两个系统之间的数据同步机制太脆弱,靠定时任务轮询,一旦中间某个环节堵了,整条链路跟着瘫。我走之前专门写了个容错方案放在共享盘里,跟吴宇交接的时候提了一嘴,让他有空看看。
“吴宇怎么说?”
“他正在查呢。刚才在群里说可能是网络问题,让运维查交换机。”
“交换机没问题。”
“你怎么知道?”
“因为压根就不是网络的事。接口那边有个消息队列,处理能力有限,平时订单量小的时候能扛住,一旦超过阈值就堵。这个阈值当初是我设的,吴宇肯定没动过。上个月销售旺季,单量涨了不少,队列积压到一定程度就卡死了。”
老刘在电话那头吸了口气:“那你跟吴宇说一声呗?别让他瞎折腾了。”
“我不说。他要是自己能查出来,那是他的本事。查不出来,张诚会来找我。”
挂了电话没出俩小时,张诚的电话打过来了。
“老周,又得麻烦你了。”这回连寒暄都省了,语气里压着火,不知道是冲我还是冲别人,“接口的事,吴宇搞了一上午没弄好,财务那边老大直接找我们副总拍了桌子。你方便的话现在能不能远程看一下?”
“我看看可以。但老张,这回跟上次不一样。”
“怎么不一样?”
“上次是索引重建,我远程花几个小时就弄完了。这回是消息队列堵了,要彻底疏通得改架构,不是几个小时的事。”
电话那头安静了两秒:“那你说怎么办?”
“我先把队列临时扩一下容量,把积压的单子消化掉。但这是治标不治本,以后单量再涨还得堵。要治本得重构这个接口模块。”
“那你就重构呗,多少钱你说。”
“我远程做不了重构。得进机房调参数、看日志、做压测。你让吴宇给我开个VPN权限,我晚上等系统空闲的时候远程连进去弄。”
“行行行,你开条件。”
“跟上次一样,按次算。但这次工作量比上次大,一次五千,做完结清。”
张诚犹豫了一下。我听见电话那头有人说话,声音模模糊糊的,像是在商量。过了几秒张诚回来了:“行。我让吴宇给你开权限。”
当天晚上十点多,我等公司那边下班了,连上VPN开始弄。消息队列积压的单子比我预想的多,足足堆了八千多条。我把队列容量临时扩了三倍,又写了个脚本把积压的订单按优先级排了个序,先消化加急的,普通单子慢慢过。弄完已经凌晨一点多了。
第二天早上吴宇在群里报喜,说接口通了,财务那边开始正常入账。张诚跟了句“辛苦周工”,底下又是一排大拇指。
这回我回了句:“不客气,应该的。”然后把收款账号发给了吴宇。
钱当天下午就到账了。老婆下班看见我手机上到账短信,眉毛挑了一下:“五千?”
“嗯。干了三个多小时。”
“你这比上班划算啊。”
“就这一回。以后他们要是天天出问题,我天天修,那我不成了他们公司的外包运维了?”
“那你还修不修了?”
“看情况。小毛病不修,大毛病修。修到他们自己觉得不划算为止。”
老婆没太听懂,我也没多解释。
又过了四天。这四天里老刘的消息一天比一天密。先是说财务那边虽然能入账了,但有几笔订单的金额对不上,财务总监亲自跑过来跟张诚吵了一架;又说仓库那边发货发错了三单,客户直接投诉到甲方大老板那儿去了。张诚一天开了四个会,每次散会出来脸色都比进去的时候更黑。
第五天早上八点多,我正吃早饭,手机响了。张诚打来的。
“老周,你今天在家吗?我上你家来一趟。”
这回语气跟前两次都不一样。前两次好歹还端着点,这回声音发虚,尾音往下掉,听着跟没睡好似的。
“来吧。我上午都在。”
挂了电话老婆问我谁啊,我说张诚,一会儿来。
“还来?上回不是修好了吗?”
“修的是接口,别的地方又冒毛病了。我估计这回他是真急了。”
老婆把碗往水池里一搁:“那你打算怎么着?还给他修?”
“看他说什么。”
九点出头,门铃响了。我开门,张诚站在外头,这回手里没拎果篮也没提茶叶,就夹着个公文包,西装倒是还穿着,但领带歪了,衬衣领子一边翻着一边没翻。下巴上冒了一层青胡茬,眼底两团青黑,一看就没睡好。
“老周,”他进门换了鞋,在沙发上坐下来,公文包往茶几上一搁,两只手搓了把脸,“我这回是真没辙了。”
老婆给他倒了杯茶搁跟前,他端起来灌了半杯,烫得直咧嘴。
“客户管理系统又出新问题了。这回是数据迁移的事——财务那边要把历史订单导进新系统,导了三回,每回导到一半就报错。吴宇在那盯着,导了三遍,数据全乱了。现在财务那边历史账对不上,审计那边下个月要来查,对不上账是要出大事的。”
我坐在他对面,端着茶杯没说话。
“老周,我也不跟你绕弯子了。”他把茶杯放下,往沙发背上一靠,“你回来吧。条件你开,翻倍、两倍都行。职级你定,技术经理、技术总监,你说了算。团队你带,人你挑。我这边能给的都给你。”
他看着我。我看着他。
“老张,你上回也是这么说的。”
“上回是我没把话说透。这回我明说——公司现在离不开你。不光是系统的事,甲方那边已经发了正式函,说如果这个月之内系统再出问题,他们要按合同追违约金。到时候上面追责追到我头上,我这位置坐不坐得住都不好说。”
他顿了顿,声音压低了:“老周,就算你帮我个人一个忙。这关过不去,我可能真得走人。”
我端着茶杯抿了一口。客厅里安安静静的,能听见厨房水龙头没拧紧的滴水声,啪嗒,啪嗒。
“老张,”我把茶杯搁桌上,“你刚才说,公司离不开我。这话你上回也说了一半,上上回也说了一半。但我想问你一句——公司离不开我的时候你来找我,那公司不需要我的时候呢?”
他嘴唇动了动,没说出话。
“四十五岁被优化,我认了。但你不能一边说公司离不开我,一边让我回去继续当那个随时可以被优化的人。你今天开的条件再好,明年、后年,公司再要降本增效,你怎么办?到时候我年纪更大、工资更高,你是不是还得把我列进第一批名单?”
张诚手搁在膝盖上攥了攥:“这回不一样。你这回回去,签的是无固定期限合同,我可以跟上面争取——”
“老张。”
他停了。
“你争取不来的。你上回优化我的时候,上面给你压指标,你说你没办法。下回上面再压指标,你还是没办法。你这个人我太了解了——你人不坏,但你保自己位置永远排第一位。我回去,就是给你手里多备一块随时能丢出去的筹码。”
张诚的脸涨红了,嘴唇抿成一条线。他盯着茶几上的杯子看了好几秒,然后抬起头:“老周,你说这些我认。但你得想想,你回去是拿高薪的,就算干个一两年再出来,那也比现在这么零敲碎打地挣这点小钱强吧?你老婆孩子不用养?房贷不用还?”
我笑了一声。这话不好听,但实在。
“老张,你这话说到根上了。”我往后靠了靠,“我要养家,要还房贷,这些都对。但你有没有想过——我要是回去了,今天你求我回去,明天危机过了,你是不是又得想着怎么把我这份高薪省下来?你刚才自己都说了,上面一压指标你就得交差。我回去就是给你添了个大负担,到时候你交差还得从我身上找。”
张诚哑了。
老婆从厨房出来,把一盘切好的苹果搁茶几上,招呼了一句“老张吃水果”,又回了厨房。门虚掩着,我知道她在门后头听着。
张诚沉默了好一会儿。然后他把公文包打开,从里头掏出份文件搁桌上。
“你看看这个。”
我拿起来翻了翻。是一份新的合同草案。薪资一栏写着“原薪资×2”,职级“技术总监”,合同期限“无固定期限”,后面还附了一条——如果公司因经营调整需要裁员,本合同签署人享有优先留任权。
我看了两遍,把文件放回桌上。
“老张,这条优先留任权是谁写的?”
“我找法务起草的。”
“法务起草的条文,你说了算吗?”
他不说话了。
“你这份合同写得好,写得细。但你心里清楚,真到了要裁人的时候,法务能找出十个理由证明这条不适用。我签了字回去,等于把脖子上的绳套又递回你手里。”
我站起来,走到阳台门口,看着外头那棵梧桐树。叶子掉得差不多了,枝杈光秃秃的,戳在灰蒙蒙的天上。
“老张,系统的事我可以帮你弄。远程也好,你让吴宇把服务器权限开给我也行。但回去上班,我不去。”
张诚从沙发上站起来,公文包拎在手里,领带还是歪的。
“老周,你真就一点余地都不留?”
我转过身看着他:“老张,你当初优化我的时候,给我留余地了吗?”
这句话说出来,我自己心里咯噔了一下。这话有点重,但我不后悔。
张诚的脸从红转白,又从白转回红。他嘴唇哆嗦了两下,想说什么又咽了回去,最后把公文包往腋下一夹,闷头走到玄关换鞋。
换好鞋他手搁在门把上,回头看了我一眼。那眼神我形容不好——有恼火,有憋屈,还有点我说不上来的东西,像是一个人端了十年架子突然被人一把扯下来,站在地上不知道该把手往哪儿搁。
“系统的事……你什么时候能弄?”
“明天。让吴宇把权限开好,我晚上远程弄。”
“钱呢?”
“还是按次。这回麻烦点,一次八千。”
他嘴角抽了一下,没说贵也没说不贵,拉开门走了。
门关上之后,老婆从厨房探出半个身子,手里还攥着根黄瓜没切完。
“八千?你怎么不去抢?”
“他给得起。而且这回不光是修系统的事,还带点别的。”
“带什么?”
“带点让他记住的教训。”
老婆把黄瓜往砧板上一拍:“你就作吧。万一人家真不找你了呢?”
“那更好。我自己找新活干,落个清净。”
当天晚上吴宇把权限开好了,还发了条消息:“周哥,明天晚上我加班等你,有什么需要我配合的随时说。”
我回了句“行”,然后把手机搁下,打开笔记本开始翻以前存的老系统资料。
老婆躺床上刷手机,刷着刷着突然说了句:“哎,老刘媳妇发朋友圈了,说老刘今天加班到九点多。”
“嗯。”
“底下张诚媳妇评论了句‘我家老张也天天加班,饭都顾不上吃’。”
“嗯。”
“你说她们知道咱家这情况不?”
“不知道。你也别说。”
“我知道。我就当看戏了。”
我关灯躺下。黑暗中老婆翻了个身,手搭过来:“八千真能收到?”
“能。”
“那收了钱还给他修好了,回头他再找你咋办?”
“再找再收。收到他嫌贵为止。”
老婆在黑暗里笑了一声:“你这是开了个急诊门诊啊。”
“差不多。只接急症,不接常规。”
她把手缩回去,嘟囔了一句“赶紧睡吧”,没多会儿呼吸就匀了。
我睁着眼躺了会儿,脑子里把明天要处理的几个技术点过了一遍,确认没问题,才闭上眼。
第四章:重金只为填窟窿,何来惜才念旧情
那天晚上九点,我等公司那边人走得差不多了,连上VPN开始弄数据迁移的事。
吴宇在线,语音一直通着。他那边背景音很安静,估计整层楼就剩他一个人了。说话声音比白天低不少,带点熬过夜的沙哑。
“周哥,我先把历史订单表的结构导出来给你看看?”
“行,你导吧。”
等了半分钟,文件传过来了。我解压打开,扫了一眼表结构,眉头就皱起来了。有几张核心表的字段类型被改过——原来存金额的字段是两位小数,被人改成了整数。意味着所有历史订单里的零头全被抹了,角八毛的直接四舍五入没了。
“吴宇,这个金额字段谁改的?”
那头安静了两秒:“我改的。上个月财务说导出的报表里金额带小数点太乱,让我统一一下。我就把字段类型从decimal改成int了。”
“你把小数位砍了,历史订单的金额就对不上了。原来一笔订单三十七块六,现在表里存的是三十七块。差的这六毛,财务那边对账对不出来。”
吴宇吸了口气,声音明显慌了:“周哥,那怎么办?我改回来行不行?”
“改回来简单,但问题是这一个月里所有新进来的订单,金额都是按整数存的。你改回decimal类型,新数据不会自动补上小数位,得一条条核对重新导。这一个月有多少单?”
“我看看……大概一万两千多单。”
“那你慢慢核。先把表结构改回来,再写个脚本把这一万两千多单跑一遍,对照原始订单记录补全小数位。弄完了再跟我说话。”
吴宇那头沉默了快半分钟,最后憋出一句:“周哥,我现在脑子都是木的,您能不能帮我写这个脚本?”
“我帮你写可以。但这是你的活,我写完了你跑,跑出问题你自己兜着。”
“好好好,您写您写,我跑。”
我花了一个钟头把脚本写好发给他。他跑了一遍,出来一堆报错。我让他把报错日志发过来,看了眼,告诉他第几行第几个参数改一下。他改了再跑,又报错。来回折腾了三趟,到十一点多总算跑通了。
“周哥,跑完了!数据对上了!”他那头声音明显松下来了,跟卸了百来斤担子似的。
“行。你把迁移脚本重新导一遍,导完了跟我说。”
“好嘞好嘞。”
十二点半,吴宇发了条消息过来:迁移完成了,财务那边入账正常,数据也对上了。后面跟了一长串感谢的话,还说要请我吃饭。我说不用,把该结的费用结了就行。他秒回:“张总说费用明天走流程。”
第二天下午钱到账,八千,一分不少。老婆晚上回来看见我手机上的短信,点点头:“还行,没赖账。”
“这回没赖,下回就不好说了。”
“怎么?”
“张诚今天在群里没吭声。上回修完系统他发了条感谢,这回连个表情都没发。估计是觉得八千花得有点肉疼了。”
老婆想了想:“他要是嫌贵,那就别找你了呗。”
“他倒是想不找。问题是系统还没好透。”
果然,隔了三天,老刘又来消息了。这回他直接打的电话,声音里带着点看热闹的意思:“老周,张总今天在部门会上发飙了。”
“说啥了?”
“副总把他叫去谈话了,说客户管理系统这一个月出了四回问题,甲方那边意见很大,问技术团队到底稳不稳。张总回来就把吴宇叫办公室去了,门关着骂了快四十分钟。吴宇出来的时候眼睛又红了,这回没去洗手间,直接趴工位上了。”
“骂啥了?”
“隔着门听不太清,就听见几句。张总说‘你不是说优化完就好了吗’‘你不是说架构没问题吗’,吴宇好像解释了两句,张总直接来一句‘周建明在的时候怎么不出这些事’。”
我拿着手机没说话。老刘在那边叹了口气:“老周,这话我听着都替你憋屈。你说他当初赶你走的时候怎么不想想今天?”
“他想不想跟我没关系。他骂吴宇也好,跟上面交不了差也好,那是他的事。”
“你真不打算回去?我听吴宇那意思,张总跟他谈话的时候提了一嘴,说要不再找周建明聊聊。”
“聊可以。让他把条件想好了再来。”
挂了电话,我坐餐桌前把这几天的账算了算。两次远程修系统,一次五千一次八千,加起来一万三。不多,但比上班那会儿一个月工资也差不到哪儿去。最关键的是,这钱挣得干脆,不用开会不用汇报不用陪笑脸,干完活拿钱走人。
老婆回来我顺嘴提了一句,她听完想了想:“那你以后就干这个了?帮人修系统?”
“先看看。这种活不稳定,有一单没一单的。但比回去上班强。”
“强哪儿了?”
“自在。干得不痛快我随时能说不干了。回去上班你试试,干得不痛快也得忍着,忍到最后还被优化。”
老婆把外套挂好,换了拖鞋走过来:“那倒是。你以前天天加班,周末也抱着电脑,工资也就那样。现在这样,虽然钱少点,人松快不少。”
我以为张诚会再打电话来,结果等了三天没动静。倒是吴宇发了两次微信,一次问技术问题,一次是纯粹闲聊,问我最近有没有找新工作。语气比之前客气多了,带点小心翼翼的试探,大概是想确认我是不是还恨着他们公司。
我没怎么回,就说在找。
第四天傍晚,我刚从菜市场出来拎着菜往家走,手机响了。来电显示是个陌生号码,本地座机。我接起来,那头一个女声:“请问是周建明先生吗?我是XX科技人事部的,姓方。张诚张总跟我们这边推荐了您,说您在数据架构和系统运维方面经验很丰富,想问问您有没有兴趣聊聊?”
XX科技我听说过,同行业另一家公司,规模比老东家小一些,但业务方向对得上。
“张总推荐的我?”
“对。说您之前是他们部门的核心骨干,最近刚离职。我们这边正好在招技术顾问,想着跟您沟通一下。”
我拎着菜站在路边,把手机换了个手:“行,您把岗位要求发我看看,我回去回您。”
挂了电话我琢磨了一下——张诚把我推荐给同行业别的公司?这事儿有点意思。要么是他真心觉得愧疚想补偿一下,要么是他发现我铁定不回去了,顺水推舟做个人情。不管哪种,这份“好意”我都接得住。
晚上到家把菜放好,打开电脑看了那家发过来的岗位说明。技术顾问,兼职性质,一周去两天,负责帮他们梳理现有系统的架构,钱不算多但胜在灵活。我把简历改了改发过去,约了周末见面聊。
周五下午,张诚电话来了。
“老周,XX科技那边联系你了吧?”
“联系了。”
“那是我一个老同学在那边做技术总监,我跟他说了你的事。你过去看看,合适就干,不合适再说。”
他这语气比之前几回都松快,甚至带点“你看我对你还不错吧”的意思。我靠在沙发上,没急着接话。
“老张,你帮我推荐工作,这情我领。但我多问一句——你推荐我出去,是觉得我肯定不会回公司了吧?”
电话那头顿了一下:“老周,说实话,上回从你家出来我就想明白了。你这个人认死理,认准了的事谁说都没用。我回去跟上面汇报了,说你不肯回来。上面说那就外聘,按项目结算,我说我试试。”
“所以推荐工作是你自己的主意?”
“算是吧。我那个老同学那边正好缺人,你过去也算对口的。另外……”
他停了停。
“另外什么?”
“另外甲方那边给了最后通牒。系统再出一次问题,合同罚则自动触发。我算了一下,那笔钱够我们部门两年的预算。老周,我不瞒你,我现在的处境是——系统不能再崩了。但你人不回来,吴宇那边我又不放心。你接XX科技那边的活,时间上要是能协调,公司这边的系统维护能不能也按项目形式签给你?不用坐班,按次算钱,你两头跑。”
我听完没马上接话。他这算盘打得精——让我以外部顾问的身份同时服务两家公司,对他来说省钱省事还不用给我交社保。但对我来说,这条件其实不差。时间自由,两边拿钱,不用看谁脸色。
“老张,你让我想想。”
“行,你想。我不催你。”
挂了电话,老婆正好从卧室出来,看我拿着手机发呆,问了句:“又是张诚?”
“嗯。他给我推荐了个兼职,还想让我按项目形式继续维护他们的系统。”
“那你怎么想的?”
我把手机搁茶几上,往后靠了靠:“我在想他这回是真心的,还是又下套。”
“怎么说?”
“真心的话,说明他终于认清两件事——第一,我不会回去上班了;第二,我这个人确实有他需要的东西。下套的话,就是他想先把我拴住,等找到更便宜的人再把我踢开。”
老婆在沙发扶手上坐下来,想了一会儿:“你觉得他是哪种?”
“一半一半。他这人做事从来不把鸡蛋放一个篮子里。推荐我去XX科技是真心的,想继续用我也是真心的,但这两件事的本质一样——他在给自己留后路。我要是接了这俩活,等于变成他的外部资源。以后上面再压指标,他不用优化我,直接不续约就行,连赔偿金都省了。”
“那你接不接?”
我站起来去厨房倒了杯水,回来坐下。
“接。为什么不接?”
老婆愣了一下。
“但我有条件。跟公司那边签项目合同,单次计费,一年一签,到期不续自动终止。我不挂靠公司,不拿他们工资,社保我自个儿交。他们有事找我,我报价,他们觉得合适就签单,不合适拉倒。至于XX科技那边,我下周去聊了再说,两边不冲突就行。”
老婆听完笑了:“你这跟开诊所似的,还真干上瘾了。”
“对,就是开诊所。急诊、疑难杂症,我接。常规维护、日常值班,不接。他们要是觉得贵,找别人去。”
周末我去XX科技见了张诚的老同学。人姓陈,四十出头,技术出身,说话不绕弯子。聊了半个钟头,把系统架构的事捋了捋,他当场就说“你下周能来上班吗”。我说上班不行,兼职可以,一周两天。他想了想说行。
周一我给张诚回了电话,把条件列了。他没怎么犹豫就答应了,说合同他让法务拟,拟好了发我看。末了他补了句:“老周,吴宇那边我让他跟你对接,有事你直接指挥他。”
“指挥谈不上。他配合我,我配合他,平级关系。”
“行行行,你说啥是啥。”
挂了电话,老婆从厨房探出头:“谈成了?”
“谈成了。”
“那以后怎么算?两边跑?”
“两边跑。一周去XX科技两天,剩三天在家待着,老东家那边有事再远程处理。钱少点,但落个自在。”
她端了盘切好的橙子出来搁茶几上:“你那个‘不再回去’呢?这不算回去了?”
我拿了一块橙子咬了一口:“性质不一样。回去上班是把自己整个卖给公司,随时等着被优化。现在这样是拿手艺换钱,干一单结一单,谁也别想拿捏谁。”
“张诚那边也认?”
“他认不认都得认。系统在他手里就是颗定时炸弹,他不敢不认。”
老婆拿了一块橙子塞嘴里,嚼了嚼,说了句:“那你这次算是把他拿住了?”
“没拿他。就是让他知道,我这把刀,他可以用,但不能再随便扔。”
她看了我一眼,没再说什么,端着空盘子回厨房了。走了两步又回头:“晚上想吃什么?庆祝一下。”
“随便。你做什么我吃什么。”
“那就火锅。我去楼下买点菜。”
她拎着布袋出门了。我坐在沙发上,把手机里的招聘软件一个个删了。删到最后一个的时候,弹出条推送通知,某大厂在招技术专家,要求“年龄四十以下”。我手指头在那条通知上停了一下,然后点了“不感兴趣”,把软件卸了。
第五章:昔日弃我如尘埃,今时求我座上宾
去XX科技头一个月,日子过得比预想中顺当。
陈总这人说话直,交代活儿也干脆——早上来了把当天的任务清单往我桌上一搁,干完就放我走,不查岗不盯人。技术部那帮小伙子开始还有点端着,客客气气叫我“周老师”,过了两周混熟了,有个叫小宋的后端直接喊“老周,中午一块儿吃面去”。我说行,跟着他们去楼下拉面馆,十来个人挤一桌,听他们聊游戏聊房贷聊哪个牌子的机械键盘好用。
那天刚吃完面回来,老刘电话打过来了。我走到楼梯间接的。
“老周,你猜我在张总办公室门口听见什么了?”
“你又蹲墙根了?”
“我正好去交报销单,经过门口他门没关严实。他在里头打电话,声音压得挺低,我就听见几句——‘对,之前干这活的人’‘对,系统是他搭的’‘能不能约个时间见一面’。”
我靠在楼梯扶手上:“他在跟谁打电话?”
“不知道。但我听见他最后说了句‘那行,就周五下午,我带人过去’。老周,他带人过去——带谁?八成是带吴宇去外面找外包公司谈。上回那家报价太贵谈崩了,这回估计又找了一家新的。”
“你听清楚是说外包吗?”
“那倒没有。但除了这个还能是什么?总不会是他自己出去面试吧。”
我想了想:“行了,我知道了。你忙你的去吧。”
挂了电话我在楼梯间站了一会儿。张诚找新的外包公司,意料之中。上回那家报价比我还贵三成,他肯定不甘心,货比三家很正常。但他特意提“系统是他搭的”这句话,说明新找的这家在打听系统背景,张诚在给对方交底。
下午我给吴宇发了条微信,问他最近系统有没有新情况。他秒回了个语音:“周哥,昨天数据同步任务又报了一次超时,我自己修好了。不过……张总今天让我准备一份系统技术文档的完整目录,说是要交给外面的人看。我问了一嘴,他说是‘技术评估需要’。”
技术评估。说白了就是把家底亮给外包公司看,让人家报价。
我回了他一句:“你准备归准备,核心模块的详细参数先别往上写,只列功能清单就行。”
吴宇那头沉默了一会儿,回了句:“我明白。”
周四下午,老刘又来消息了:“明天下午张总带着吴宇出去谈事,部门里都在传要换外包。有人说张总这回铁了心要把系统维护这块整体包出去,价格压得挺狠,外包公司那边已经答应先出方案了。”
老婆晚上回来我把这事一说,她正在厨房择韭菜,手上动作没停:“那你怎么想的?”
“什么怎么想?”
“他要是真找到便宜的外包了,你这边不就少一单了?”
“少一单就少一单。他那系统底下的坑,外面的人接不住。便宜外包最多把表面糊住,真出了大毛病还得找我。”
“你倒自信。”
“这不是自信,是常识。外包公司做的是标准化的活,签的是服务合同,出了问题按合同走流程。他们不会像我这样,半夜爬起来远程给人修东西,也不会像我这样,系统里哪个坑在哪里心里门儿清。张诚要图便宜就让他图,等他吃了亏就明白了。”
老婆把韭菜往盆里一搁:“那你就不管了?”
“我管他干什么?我又不是他爹。”
话虽这么说,周五下午我还是留意着手机。三点多的时候吴宇发了条消息过来,就三个字:“谈完了。”
我回了个问号。他又发了一段:“外包公司报了价,比您按次收费便宜一半。张总当场拍板说下周开始试运行,让他们先接日常维护。”
“试运行期间你干什么?”
“张总让我配合他们,把系统情况交代清楚。”
“你配合归配合。记住一件事——他们问什么你答什么,别主动往外多给。尤其是底层架构和容灾方案那块,问到了你就说‘这部分目前由外部顾问在维护,具体细节需要跟周建明确认’。”
吴宇回了个“明白”。
当天晚上张诚在部门群里发了条通知:“下周起系统日常维护工作由第三方服务商承担,吴宇负责对接协调。各位同事有问题先找吴宇汇总。”底下没人回,过了会儿冒出几个大拇指。
周一上午,老刘的消息准时到了:“外包的人来了,两个人,背双肩包穿格子衫,看着挺年轻。吴宇带着他们在机房转了一上午,出来之后我看他们脸色不太对。”
“怎么不对?”
“其中一个跟吴宇说‘你们这个系统架构图不全,底层模块的文档缺了一大块’。吴宇回他‘那部分得问周哥’。那人问了句‘周哥是谁’。”
我笑了一声:“吴宇怎么说的?”
“吴宇说‘之前在这干了十年的老员工,现在外聘的技术顾问’。那人哦了一声,没再问。”
我挂了电话,把这事搁脑后了。下午陈总过来跟我聊新项目的事,聊到一半我手机响了,吴宇打来的。我跟陈总打了个招呼,走到外面接起来。
“周哥,出事了。”吴宇声音有点急,“外包那边今天下午自己改了个参数,把消息队列的并发数调高了。结果晚上订单高峰一上来,队列直接堵死,所有订单卡在支付环节,客户那边打电话来骂人了。”
“他们改参数之前没跟你说?”
“没有。我下班走了之后他们自己改的,改完了也没通知我。晚上七点半客户投诉进来我才知道。”
“现在什么状态?”
“我远程连上去看了,队列堵了两千多条,还没完全疏通。外包那边说他们在查原因,让我先别动。”
“那你别动。让他们查。明天早上你让张诚来找我。”
“好。”
挂了电话我想了想,给张诚发了条微信:“听说系统又出问题了?如果需要我这边协助,随时说。”没提钱的事,也没说吴宇给我打过电话。就是告诉他一声——我知道你那边出事了,你看着办。
他隔了半个钟头回过来:“小问题,外包在处理了,应该很快解决。”
我没再回。他嘴上说小问题,心里慌不慌他自己知道。
第二天上午十点,张诚电话来了。这回连寒暄都省了,直接问:“老周,你今天能不能远程看一下?外包那边弄了一宿没弄好,队列还是堵着,客户那边已经发邮件投诉了。”
“可以。但我先把话说前头——这回系统是外包弄坏的,我修可以,费用得另算。而且我修完了你得让外包的人跟我对接,我要当面跟他们说清楚哪些参数不能动。不然下回他们还瞎改。”
张诚那头吸了口气:“行行行,你说什么就是什么。费用回头再说,你先弄。”
“费用先说好。这回比上次麻烦,一次一万。同意我就动手。”
他顿了两秒:“一万就一万。你快弄吧。”
我挂了电话,给吴宇发了条消息,让他把外包的人叫到线上会议室。等了五分钟人齐了,我开了免提。
“哪一位改的参数?”
那头一个年轻的声音:“是我。我看并发数配置太保守了,想调高点优化性能。”
“你调之前查过系统峰值数据量吗?”
“吴宇说每天大概两千单左右。”
“两千单是平均量。上个月大促峰值一天一万两千单,你按两千调的并发数,一到大促就堵死。这个参数在配置文件里有一行注释写着‘峰值请按日均六倍预留’,你看了没有?”
那头没声了。过了几秒才憋出一句:“我没注意那条注释。”
“那行,现在你知道了。我把队列疏通之后,你把参数改回原值,以后没有吴宇签字确认,任何配置不许动。听明白了?”
“明白了。”
挂了语音我花了一个半钟头把队列疏通完,顺手写了份《外包运维操作红线》发给吴宇,让他转给外包公司,签字确认后才能继续干活。
钱第二天到账。老婆晚上回来看见短信,吹了声口哨:“一万?你这修一回顶人家半个月工资了。”
“他活该。好好的系统不用我,非要找便宜的。便宜没占着,倒赔进去更多。”
“那你以后还给他修?”
“修。价码还得涨。他越找外包,出的事越多,我这边的价就越贵。他什么时候想明白了,老老实实把系统维护这块给我,不搞那些弯弯绕,我再给他降回正常价。”
老婆把韭菜盒子端上桌:“你这跟熬鹰似的。”
“差不多。熬到他认了为止。”
第六章:低谷解绑终醒悟,不恋旧坑自新生
外包的事过去不到十天,又炸了一回。
这回是机房存储的事。外包公司为了省成本,把备份策略从每天全量加增量改成了一周一次全量,中间只做增量。结果周三那天磁盘阵列坏了一块盘,数据恢复的时候发现增量备份链断了,中间有三天的数据对不上。
吴宇半夜给我打电话,声音都劈了:“周哥,客户订单数据丢了三天,财务那边已经疯了。张总电话打不通,我只能找你。”
“外包的人呢?”
“他们晚上没人值班。合同里写的服务时间是早九晚六,周末和晚上不算。”
“那你现在能连上机房吗?”
“能。但我不敢动,存储这块我没碰过。”
“你听我说,别慌。你先去机房,看看坏的是哪块盘,把物理位置报给我。然后找找有没有去年十一月的全量备份包,那个时间段的备份是我做的,当时留了底。”
他跑去机房折腾了二十多分钟,回来报了个位置。我远程连上去一看,还好,坏的那块盘不在核心阵列上,只是缓存盘。数据丢的不算太狠,但得从老备份里往回捞。
我花了三个多钟头带着他把数据恢复了大半,剩下的小部分让吴宇第二天白天再补。弄完已经凌晨两点多了。挂了电话我躺床上,老婆翻了个身嘟囔了一句“几点了”,我说两点半,她“嗯”了一声又睡过去了。
第二天上午,张诚的电话来了,语气比之前几次都沉:“老周,昨晚的事我听吴宇说了。谢谢你。”
“别谢我。你那个外包公司,合同里连值班条款都没写清楚,出了事找不到人。你自己想想这买卖划不划算。”
他沉默了好几秒:“老周,我跟你说实话。上面压了指标,今年技术这块的预算砍了百分之三十。我不找便宜的外包,这钱我从哪儿省?”
“省钱没问题。但你得省对地方。你把系统维护的预算砍了,出了事赔给客户的钱比省下来的多得多。这个账你算不过来?”
“我算得过来。但上面不这么算。上面看的是季度报表,我这边省了钱就是成绩,出了事是‘偶发事件’,走保险走赔付流程。等年底一算总账,亏了也是亏在明面上,比预算超标好看。”
我拿着手机没说话。张诚这话说得太实在了,实在到让人没法接。他不是不知道省小钱亏大钱的道理,但他在这个位置上,考核他的不是系统的长期稳定,是季度的预算执行率。这套机制逼着他做短视决策。
“老张,这话你跟我说说就完了,别往外传。你自己心里清楚就行。”
“我知道。”他叹了口气,“老周,还有个事。外包那边我打算换掉,合同到期不续了。换一家也差不多,我算是看明白了,外面没人能像你这样兜底。所以我想跟你商量——你那边能不能把系统维护整个接过去?不按次了,按月签,固定费用。你开个价。”
我靠在阳台栏杆上,看着楼下小区里一个老头在遛狗。那狗跑两步停一步,老头拽着绳在后面慢慢晃。
“老张,你让我整个接过去,我接了。但条件得改改。”
“你说。”
“第一,按月签可以,但合同一年一签,到期不续自动终止,别搞什么‘优先续约’的文字游戏。第二,费用按我报的来,不还价。第三,我每月去公司两天,其他时间远程处理,晚上和周末出问题另算加班费。第四,吴宇继续跟着我干,你给他涨点工资,别让他觉得干多干少一个样。”
张诚那头一项一项听完,最后问了句:“大概多少钱?”
我报了个数。比他之前找的那家外包贵了四成,但比按次收费累计下来便宜了两成。
他沉默了几秒:“我跟上面申请一下。”
“你申请归申请。申请下来之前系统再出问题,还是按次收。”
“知道。”
挂了电话,老婆从屋里探出头:“他又要签合同?”
“嗯。这回是真心实意想签了。”
“你怎么看出来的?”
“他刚才跟我说了实话。上面压预算,他只能找便宜外包,结果亏得更多。这个账他终于算明白了。”
老婆走过来往楼下看了一眼,那个遛狗的老头已经走远了:“那你签不签?”
“签。但得按我的条件来。”
“你不是说‘不再回去’吗?”
“这跟回去上班不一样。回去上班是卖身,签服务合同是卖手艺。他给钱我干活,干完拉倒。我不坐班不打卡不开会,他管不着我。”
老婆想了想:“那倒也是。”
隔了两天,张诚回了话,说上面批了,按我报的价签,合同他让法务拟。吴宇那边他给涨了一级工资,虽然涨得不多,但总算动了。
签合同那天我又去了趟公司。这回张诚没在办公室跟我谈,直接在大会议室摆了两杯茶,把吴宇也叫来了。合同一式两份搁桌上,我翻了翻,条款跟我提的一致。签完字张诚主动伸手跟我握了握:“老周,以后系统这块就拜托你了。”
“拿钱干活的事,别说得那么客气。”
他笑了一下,没再说什么。
出了会议室吴宇跟在我后面,走到走廊拐角他叫住我:“周哥,张总跟我说了,以后我归你直接带。每个月你来那两天,我全程跟着。”
“嗯。你做好准备,下个月来我教你灾备切换的完整流程。那个流程以前只有我一个人会,现在我教给你,你学会了我就能少操一份心。”
他使劲点头,脸上绷不住笑:“周哥,我肯定好好学。”
“别光嘴上说。回去把上个月我给你的资料包再翻一遍,下回来我先考你。”
“行,我今晚就开始看。”
那天从公司出来,太阳快落山了。我骑电动车往家走,路上接到刘总的电话,说他们系统最近又有点不稳,问我能不能抽空过去看看。我说下周吧,这周手头有点事收尾。
刘总在电话里笑:“周工,你现在是越来越难约了。”
“难约说明活多。活多说明我干得好。你该高兴才对。”
“那倒也是。对了,上次那个方案模板我用了,效果挺好。我有个朋友也在找这方面的人,回头推给你。”
挂了电话,风从耳边吹过去,凉快得很。到家上楼推开门,老婆正在厨房炸丸子,油锅滋啦滋啦响。她头也没回喊了句:“签完了?”
“签完了。”
“这回踏实了?”
“踏实了。一年合同,到期不续拉倒,谁也别想拿捏谁。”
她把炸好的丸子捞出来搁漏勺里控油,回头看了我一眼:“你那个资料库最近卖得怎么样?”
“上个月又签了一家,现在四家年费客户。钱不多,但月月有进账。”
“那以后你打算怎么着?就守着这几家客户过日子?”
“不止。等手头这波忙完,我把资料库再扩一扩,加几个行业定制版块。到时候往外推的覆盖面能大一圈。”
她把丸子倒进盘子里,撒了把椒盐推到我面前:“行啊周老板,越干越有样了。”
我捏了个丸子塞嘴里,烫得直咧嘴。她笑得前仰后合的,又递了张纸巾过来。
第七章:旧司无我终难立,我无旧司更自由
入秋之后事多起来了。
XX科技那边陈总给我推了个新客户,做物流系统的,规模比刘总公司大一些。对方技术负责人跟我聊了两回,把系统现状一说,我大概明白问题出在哪了。开了个价,对方还价还了一半,我没松口。磨了三天,最后按我报价的八成签了。
陈总听说之后给我打电话:“周工,你行啊,我那朋友说跟你砍价砍不动,头一回碰见干技术的人这么能扛价的。”
“技术人怎么了?技术人卖的是手艺,手艺有手艺的价。他嫌贵可以找别人。”
陈总在那头笑:“我就喜欢你这种不愁卖的态度。对了,晚上有空没?出来吃个饭,我介绍几个人给你认识。”
晚上去了才知道,陈总把刘总和另外两个做技术的老板都叫上了,凑了一桌。席间聊起来,几个人都在说同一个事——系统维护这行当,找个靠谱的人太难了。外包公司要么贵得要死,要么便宜但啥也干不了,出了事连个能拍板的人都找不着。
刘总端着酒杯冲我举了举:“周工,你现在手里几家了?”
“五家。有两家是年费,三家是按次。”
“那你忙得过来吗?”
“还行。再多了就得挑着接了。”
旁边那个做技术的老板插了句嘴:“周工,你那资料库能不能加个定制模块?我这边有个特殊需求,通用模板覆盖不了。”
“能加。但定制模块单收费,不含在年费里。”
“多少钱?”
“看你需求复杂程度。简单的几千,复杂的另算。”
他想了想:“那我下周把需求整理出来发你。”
一顿饭吃下来,又多了两个意向客户。回家的路上老婆打电话问吃完了没,我说吃完了,顺便又接了两单。她在电话里笑了:“你这饭吃得值啊,一桌人吃出两单生意。”
“这叫圈子对了。”
“什么圈子?”
“干技术的人凑一块儿,聊的全是实际需求。比跟管理层吃饭强多了,管理层光画饼不谈钱。”
她在那头啧了一声:“那你以后多跟这帮人吃饭。”
“用不着多。一个月一两回就够了。”
九月中旬,张诚那边又出了个事。这回不是系统崩了,是人的事。
老刘给我发消息,说公司把技术部跟另一个部门合并了,吴宇被划到了新部门底下,顶头上司换了个姓孙的总监。张诚虽然名义上还是部门负责人,但实际管的人少了一半,权力被削了一大截。
“张总这两天脸色特别难看。姓孙的一来就开了个会,说‘技术这块以后要规范化管理,不能总靠外部顾问兜底’。这话不就是冲你来的吗?”
“冲我来的也正常。新官上任三把火,烧一烧前任的旧臣,常规操作。”
“那你这边合同受影响不?”
“合同是我跟张诚签的,但盖的是公司的章。他姓孙的想动我的合同,得走流程。再说了,系统真要出问题,他找谁修?他自己的人连系统架构图都看不懂。”
话虽这么说,我还是留了个心眼。第二天给吴宇发了条消息,问他新领导对他怎么样。吴宇回得挺快:“孙总还行,没怎么为难我。就是老问我系统这块到底谁在管、合同怎么签的、一年花多少钱。我说具体我不清楚,得问张总。”
“你答得对。以后他再问,你就说‘合同细节在张总那儿,周工那边我只负责技术对接’。别替他传话,也别替我传话。”
“明白。”
过了几天张诚约我喝茶,就在公司楼下的茶馆。他坐在卡座里,面前一壶普洱已经泡得没色了,跟兑了水的酱油似的。
“老周,姓孙的那边可能会找你麻烦。”他开门见山。
“找什么麻烦?”
“他昨天跟我提了一嘴,说公司的技术维护合同要重新评估,外部顾问的费用太高,要找审计来核。”
“核呗。我价格白纸黑字写在合同里,按次收费有记录,按月收费有发票。他能核出什么来?”
张诚搓了把脸:“核不出什么来。但他可以卡付款流程。审计一启动,你这个月的钱可能就得压两三个月才能到账。”
我端起杯子抿了口茶,放下:“老张,这事儿你得帮我扛住。”
“我怎么扛?我现在说话没以前管用了。”
“你不用跟他硬顶。你就跟他说一句话——‘周建明的合同要是卡了,系统出了问题你自己找人修’。说完你就别管了,看他怎么办。”
张诚想了想:“行,我试试。”
果不其然,审计的事拖了半个月,张诚按我说的传了话,姓孙的没再继续往下推。付款流程虽然拖了几天,最终还是走了。月底钱到账那天,老婆看了眼短信,问了句:“少没少?”
“没少。就是晚到了一个礼拜。”
“那个姓孙的以后还会找事不?”
“暂时不会了。他要是聪明人就该明白,系统这块他动不了。动了我,出了事他兜不住。”
老婆把手机还给我:“那你以后是不是得多防着他点?”
“用不着。他要是真聪明,过阵子就该来找我谈了。新官上任想立威没错,但立完了威还得干活。系统这块他绕不开我,到时候他自己会找台阶下。”
十月初,吴宇给我发了条消息,说孙总让他把系统运维的整个流程写个报告交上去。吴宇问我怎么写。我说你照实写,把哪些活是外包干的、哪些是我干的、哪些是你自己干的,分门别类列清楚。特别把我每个月去那两天干了什么重点标出来。
吴宇照做了。报告交上去之后,孙总把他叫过去问了几句话,出来之后吴宇给我发消息:“孙总问‘周建明一个月来两天够不够用’,我说‘够用,以前他一个人扛了十年,现在两天加上远程支持,已经比原来轻松多了’。”
我看了这条消息,笑了一下。吴宇这孩子,现在也会说话了。
第八章:人间清醒戒心软,职场最稳是自身
十月中旬,张诚约我吃饭,说有事要谈。我问他什么事,他说见面说。
还是那家湘菜馆。这回他来得早,我进门的时候他已经把菜都点好了,剁椒鱼头搁在桌子中间,热气腾腾的。
“老周,坐。”他给我倒了杯茶,“今天这顿我请你,有好事。”
“什么好事?”
“姓孙的调走了。”
我夹了块鱼脸肉搁碗里:“调哪儿去了?”
“平调,去了另一个事业部。来了不到两个月,系统没出过大毛病,他觉得没意思了。临走还跟上面说了一句‘技术部现状可控’,算是给咱们留了个好评。”
“那他之前找茬的事呢?”
“走了就走了,谁还翻旧账。”张诚自己倒了杯酒,抿了一口,“老周,我跟你说句实话。这俩月我觉都睡不好,生怕他在系统上搞出什么幺蛾子。现在人走了,我总算能喘口气。”
我嚼着鱼肉没接话。张诚看了我一眼,又补了一句:“还有件事。上面在考虑明年把技术部跟运维部合并,成立一个技术中心。我可能往上走半级,管整个中心。”
“那吴宇他们呢?”
“吴宇我打算提他做运维组的组长。这小子跟了你快半年,进步不小。上个月他自己处理了一个存储故障,外包那边的人都说‘你们这个年轻人手挺稳’。”
“那还行。”
张诚放下酒杯,身子往我这边探了探:“老周,我要是上去了,技术这块还得靠你撑着。到时候合同可以再谈,价格往上提一提也没问题。”
“老张,你升你的官,我的合同按现在的走就行。你上去了对我没坏处,但我也犯不着因为你升官就多收你钱。该多少是多少。”
他愣了一下,随即笑了:“你这个人,还真是……”
“还真是啥?”
“还真是跟以前不一样了。”
“哪儿不一样?”
“以前你在公司那会儿,我让你加班你就加班,让你扛雷你就扛雷,从来不跟我谈条件。现在你句句都是条件,跟换了个人似的。”
我把筷子搁下来,看着他的眼睛:“老张,以前我跟你谈条件,你听吗?”
他不说话了。
“以前我在公司的时候,跟你谈过加班费的事,你说‘年底一起算’。跟你谈过加人的事,你说‘再扛扛,明年招人’。跟你谈过系统风险的事,你说‘先上线,回头再补’。我谈了十年,你一回都没当回事。现在我不在你手底下干了,我谈条件你倒觉得新鲜了。”
张诚端着酒杯的手停在半空,脸上的笑慢慢退下去。
“老张,我不是记仇。我是想让你明白一个道理——手艺人跟平台谈条件,得先有‘离开平台也能活’的本事。我现在有了,所以敢跟你谈。以前我没有,所以只能听着。”
他把酒杯搁下,沉默了好一会儿,最后说了句:“你说得对。以前是我不对。”
“过去的事不说了。你升你的官,我干我的活。咱们把合同履行好就行。”
那顿饭吃完,张诚结了账。出门的时候他问我要不要他开车送,我说骑了电动车来的。他站在饭馆门口看着我跨上车,忽然喊了句:“老周!”
我回头。
“你那个资料库……卖得怎么样?”
“还行。五家年费客户了。”
“那以后要是有人问起来,我能帮你推推不?”
我看了他一眼,笑了:“你推呗。推成了我给你提成。”
他摆了摆手:“提成不用。我就是觉得……你这东西确实有用。公司要是早几年有你这个意识,也不至于闹成今天这样。”
“你们公司闹成哪样了?”
“差点把整个技术底盘搞崩了。”他说这话的时候没笑,语气挺沉的,“要不是你兜着,今年这几回事故,随便哪一回闹大了,我这个位置早就没了。”
我没再说什么,冲他点了下头,拧把走了。
到家老婆正在阳台收衣服,看见我回来问了句:“张诚说什么了?”
“说谢谢我。”
“就这?”
“还说他升官了。”
“升官了还跟你说谢谢?”
“他说要不是我兜着,他位置早就没了。”
老婆把衣服往胳膊上一搭:“这话倒是实在。他总算说了句人话。”
十月底,资料库的年度订阅客户涨到了六家。加上张诚那边新签的合同,还有XX科技和刘总那边的项目款,十一月的收入算下来比上班那会儿多了将近一半。
那天晚上老婆把账本摊在茶几上,拿计算器噼里啪啦按了一通,最后把笔一搁:“老周,你过来看看。”
我走过去瞄了一眼账本上的数字。
“按这个数,房贷能提前还一部分了。”
“那就还呗。”
“还完了手里剩得不多。”
“剩不下就慢慢挣呗。反正现在每个月都有进账。”
她合上账本,往后靠在沙发上,看着我:“你去年刚被裁那会儿,想过今天能这样吗?”
我想了想:“没想过。”
“那你当时想什么来着?”
“就想赶紧找个班上,把房贷续上。”
“现在呢?”
“现在不想了。上班有什么好?天天打卡开会写周报,挣得还没现在多。”
她笑了一声:“那要是有人请你去上班呢?高薪那种。”
“不去。”
“为什么?”
“我现在这状态挺好的。想干活就干活,不想干活就歇着。谁也别想拿个职位把我套住,也别想拿份工资让我忍着。”
她盯着我看了好几秒,最后点了点头:“行。这话听着像你了。”
十一月中旬,吴宇在微信上跟我说,他那个运维组长的任命下来了。他发了一长串话,最后一句是:“周哥,谢谢您。要不是您这半年带我,我扛不到今天。”
我回他:“别谢我。你自己学的。以后好好干,出问题别慌,先查日志再动手。”
他秒回了个“收到”。
那天晚上我在阳台上给绿萝换了个更大的盆。根须绕了满满一圈,把旧盆的土都顶出来了。老婆站在旁边看我跟那堆根须较劲,说了句:“你这盆草跟你挺像的。”
“哪儿像?”
“给点土就疯长。”
我把新土填进去,拍了拍手,站起来看了看——换了大盆之后这绿萝显得精神了不少,叶子油亮亮的,新藤已经爬到窗户上头去了。
“明天把资料库最后一章收了尾。今年就算齐活了。”
老婆拍了拍手上的土:“那明年呢?”
“明年再说。先把年过好。”
第九章:半生勤恳换通透,从此前路皆光明
十二月初那场寒潮过后,气温又回升了几度,楼下那排银杏树叶子掉光了,枝杈戳在灰蒙蒙的天上,看着比上个月还冷。
绿萝挪回屋里之后缓过来了,藤蔓顺着我新钉的钩子爬到了窗户框顶上,新叶子比冻之前还绿。老婆说这玩意儿贱命,给点暖和气就疯长。我说你这话说的,它听着了该不高兴了。她翻了个白眼,把晾干的衣服往衣柜里收。
那天上午我正在给刘总公司改系统监控的配置文档,张诚电话打进来了。手机搁桌上震得嗡嗡响,我看了一眼屏幕,接起来。
“老周,忙不忙?”
“在写东西。你说。”
“晚上有空没?公司年底搞个技术中心的成立大会,就在旁边那家酒店,六点半开始。我想请你来坐坐。”
我手上敲键盘的动作停了一下:“我去合适吗?我又不是你们公司的人。”
“技术顾问也是顾问。再说了,这个技术中心能立起来,你占了大半功劳。上面也知道你,副总还提过一嘴,说该请周建明来坐坐。”
“副总提的?”
“副总提的。不是我编的。”
我想了想:“行。我去坐坐。就坐坐,不讲话。”
“不让你讲话。你就坐那儿吃菜就行。”
“那行。六点半我到。”
挂了电话,老婆从卧室出来问谁啊。我说张诚,请我去参加他们技术中心成立大会。她眉毛挑了一下:“他这是要给你摆功?”
“不知道。去看看吧,反正晚上也没事。”
下午五点多我把手头的文档收了尾,换件干净衬衫出了门。酒店离我家骑电动车十分钟,到了门口看见大厅立着块红色水牌,上头写着“技术中心成立大会”。门口迎宾的是行政的小姑娘,递给我一张胸卡,上写“周建明 外部顾问”。我把胸卡挂脖子上,走进宴会厅。
里头摆了十来桌,坐了七八成人。技术部那帮人占了两桌,吴宇坐在靠过道的位置,看见我进来站起来招了招手。老刘没来——他上个月正式跳槽去了新公司,今天这顿饭不在受邀之列。张诚在靠前的位置跟几个人说话,看见我进来快步走过来握了握手。
“老周,来了。坐那边,我特意把你安排在我那桌旁边。”
我跟着他走过去坐下。旁边几个面孔眼熟,技术部的老员工,还有两个以前开会打过照面的部门负责人。他们看见我坐下,点头招呼了一声,其中一个大腹便便的中年男人问张诚:“这就是周工?以前你们部门那个?”
张诚点了下头:“对。现在是我们技术中心的外部顾问,系统这块全靠他撑着。”
那人冲我举了举茶杯:“周工,久仰。听老张说你要是不在他那儿撑着,今年好几回事故都过不去。”
“没那么夸张。系统本身还能跑,我就是偶尔过去帮帮忙。”
张诚在旁边补了一句:“他谦虚。今年三回大事故,哪回不是他连夜远程弄好的。”
我没再说什么。桌上的人开始聊别的,我夹了两筷子凉菜慢慢吃。吴宇从旁边那桌探过头来跟我说话:“周哥,今天这顿饭是张总申请的经费,说是庆祝技术中心成立,顺便慰劳一下大家。”
“你最近怎么样?”
“还行。运维组现在四个人,比以前一个人扛轻松多了。张总批了预算,下个月我再招一个。”
“招的时候擦亮眼,别光看学历,动手能力最重要。”
“我知道。面试的时候我让他们现场做排查题,做不出来的直接刷。”
我点了下头。这小子现在知道怎么挑人了。
六点半大会正式开始。先是副总讲话,讲了十来分钟,内容大致是公司技术架构升级的必要性和技术中心成立的战略意义。之后张诚上去讲,语速比平时慢,声音里带着点紧绷的兴奋,讲完台下鼓了一通掌。最后有个揭牌仪式,副总跟张诚一人拽一边红布,把块铜牌子亮出来,底下那帮人举着手机咔嚓咔嚓拍。
仪式搞完了开席。菜一道一道往上端,桌上气氛松下来,有人开始互相敬酒。张诚端了杯白酒走到我这桌,在我旁边坐下来。
“老周,我敬你一杯。”
我端起茶杯跟他碰了碰:“我喝茶。”
他也没在意,自己仰头把一杯干了。放下杯子抹了把嘴,凑过来压低声音:“老周,有个事我想跟你商量。”
“说。”
“技术中心成立之后,系统这块我打算再往上提一级,从明年开始做整体架构升级。上面给了点预算,但不多。我想问问你,这个升级项目你能不能接?”
“升级项目?多大的盘子?”
“初步估算得小半年。要把客户管理系统、财务接口、仓储模块三个老系统的底层重做一遍,同时保证不影响日常业务。我手里没人能接这个活,吴宇他们几个只能打下手。”
我夹了块鱼搁碗里,没急着答话。张诚在旁边等着,筷子搁在桌上没动。
“老张,这个项目我接。但我先说清楚——我不做全职驻场,最多一周去两天,其余时间远程。升级方案我出,架构我搭,核心模块我自己写。吴宇带他那几个人做外围和测试。费用按项目算,分三期付。”
“三期?”
“签合同付三成,中期验收付四成,尾款三成验收后结清。你要是中间砍预算或者停项目,前三成不退。”
张诚皱了皱眉,手指头在桌面上敲了两下:“三期比例能不能调调?签合同付两成,中期四成,尾款四成?”
“不行。三三四,一分不能少。老张,我跟你打过一年交道了,你的套路我清楚——开头给点甜头,中间一卡预算,我活干了一半被套牢,只能打折收场。这次我把话摆明面上,你接受就签,不接受拉倒。”
张诚盯着我看了好几秒,忽然笑了一声:“行。三三四就三三四。我明天让法务拟合同。”
“拟好了发我看,没问题我就签。”
他端起酒杯又干了一杯,站起来拍拍我肩膀:“老周,我跟你说句实在话。这个技术中心能立起来,系统能稳到今天,靠的就是你。以前的事……”
“以前的事不说了。”我夹了筷子青菜,没抬头,“你给钱,我干活。项目干好了,咱俩都好看。干砸了,你亏钱我丢人。就这么回事。”
张诚愣了一拍,随即点点头,端着杯子去下一桌了。
吴宇从旁边凑过来,手里攥着瓶椰汁:“周哥,刚才张总跟你说啥了?”
“说了个新项目。明年架构升级,你跟我干。”
他眼睛一下子亮了:“真的?我能上手做核心模块不?”
“你想得美。核心模块我写,你做外围和测试。先把手练稳了再说。”
“行行行,外围就外围。能跟着您学就行。”
那顿饭吃完快九点了。我骑着电动车往家走,路上给老婆打了个电话,问家里有没有剩菜。她说给你留了碗汤,回来热热喝。我说好。她问饭吃得怎么样,我说张诚给了个升级项目,费用还不错。她说那敢情好,明年活儿都排上了?
“排上了一半。另一半还得自己找。”
“你那个资料库明年不卖了?”
“卖。升级项目归升级项目,资料库那边照常推。两条腿走路,不能光靠一根拐。”
到家把汤热了喝了,老婆坐对面看我吃,忽然说了句:“你发现没有?”
“什么?”
“你现在跟张诚说话,句句都跟谈买卖似的。以前你在他手底下那会儿,他说啥你应啥,从来不还价。”
“以前我是他下属,现在我是他乙方。对乙方客气点,他该的。”
“那你还记恨他不?”
我把碗搁下想了想:“不记恨。但也不打算再让他拿捏我。这俩不冲突。”
她点了下头,没再问。
十二月中旬,合同签了。吴宇开始每周往我家跑一趟,跟我对接升级项目的前期准备工作。这小子现在比半年前利索多了,带着任务清单来,一条条过,不懂的当场问,问完了拿本子记好,回去就干。有一回他跟我说,现在运维组那几个人都服他了,因为他能独立处理大部分问题,遇到真搞不定的才来找我。
“周哥,上礼拜有个客户系统报警,我自己从头到尾查了一遍,发现是磁盘 IO 的问题,换了个 SSD 就好了。整个过程没麻烦您。”
“干得不错。下次遇到搞不定的先自己试着查,查不出来了再来问我。你要是一上来就找我,永远学不会。”
他嘿嘿笑着点头。
元旦前那几天,老婆把账本翻出来做了个年终总结。资料库年费客户七家,加上XX科技顾问费、刘总公司按次收费、张诚那边整体维护合同和升级项目首期款,总收入算下来比去年上班那会儿多了将近六成。她拿笔在账本上圈了个数,递给我看。
“房贷明年能提前还一截了。”
“还呗。留够日常开销就行。”
“你明年想不想添点啥?给你换个好点的电脑?你那台老古董开机得等两分钟。”
“换一台也行。干活的东西不能凑合。”
她合上账本,往沙发背上一靠,伸了个懒腰:“老周,你说你去年这会儿在干嘛?”
“去年这会儿?刚被裁没多久,天天翻招聘软件。”
“那时候心里慌不慌?”
“慌。但没慌太久。系统崩了那会儿我就知道,这事迟早得找上我。”
“那你当时想过能走到今天这步不?”
我想了想:“没想那么远。就想着先把眼前这关过了,别让房贷断了。后来的事是一步一步趟出来的。”
她盯着我看了几秒,最后笑了一下:“行。那明年继续趟。”
除夕那天下午,我在阳台上给绿萝浇了水。藤蔓已经沿着窗户爬到顶了,我又钉了两个钩子让它往书架那边引。老婆在客厅包饺子,喊我过去帮忙擀皮。我洗了手坐过去,擀了二十来张,她嫌我擀得中间厚边缘薄,一把夺过去自己擀。
手机搁茶几上亮了一下,吴宇发了条微信:周哥,新年快乐。谢谢您这一年带我。
我回了个新年快乐。隔了几秒他又发了一条:张总刚才在群里发红包,我抢了八块六。
我笑了一声,把手机放下,继续擀皮。
春节过了没几天,张诚约我喝了回茶,在小区门口那家茶馆。他坐下来先说了几句闲话,然后问升级项目的事:“老周,项目进度怎么样了?”
“方案初稿出来了,这周发你看。你那边让吴宇把测试环境先搭好,我方案里列了几个必须提前准备的模块,他看着弄。”
“行。我让他马上办。”他喝了口茶,放下杯子,“还有个事——我想把系统运维这块明年的合同也续了,你看价格上能不能……”
“不能。”我直接把他截住了,“明年运维合同跟今年一个价,不涨不降。升级项目单独算。你要是觉得贵,可以再找外包试试。”
张诚摆了摆手:“不找了不找了。外包那事儿我算是吃够教训了。今年光是赔给客户的钱就够付你三年的顾问费。上面看了年终报表,还问了我一嘴‘为什么外包成本比预期高这么多’,我糊弄过去了。”
“以后别糊弄。该多少是多少,写清楚交上去,比你藏着掖着强。”
“知道了知道了。”他笑着端茶跟我碰了一下,“来,喝茶。明年还指着你多帮忙呢。”
正月十五那天晚上,老婆煮了汤圆。我坐餐桌前吃了两碗,芝麻馅的,甜得齁嗓子。她问我明年有什么打算,我说把升级项目干好、资料库再加个定制版块、闲下来把阳台窗户换了。
“就这些?”
“就这些。”
“不打算再折腾点别的了?”
我想了想:“看情况。要是有人找上门来,合适的就接。”
她端着碗去厨房,走到门口回头说了句:“你现在说话越来越像买卖人了。”
“买卖人怎么了?”
“不怎么。比以前强。以前你说话跟个受气包似的。”
我把最后两个汤圆扒拉进嘴里,没接话。窗台上那盆绿萝爬满了半面墙,新抽出来的叶子嫩绿嫩绿的,在灯底下泛着亮。
出了正月,升级项目正式开工。我每周去公司两天,跟吴宇他们泡在会议室里过方案、改代码、跑测试。张诚偶尔过来转一圈,问问进度,不再像以前那样事事插手,看完就走。有时候路过会议室门口,他会在门外站一会儿,隔着玻璃往里看两眼。有一回吴宇跟我学嘴:“张总那天在门外站了快十分钟,我看他嘴角往上翘着。”
“他高兴什么?”
“大概看咱们干得顺吧。”
我没说什么,把当天的测试报告存了档,合上电脑,收拾东西回家。
出了公司大门,骑上电动车往家走。路上风从领口灌进去,凉飕飕的,但不像去年秋天那么冷了。等红灯的时候手机响了一声,老婆发的微信:晚上吃啥?
我回:你做什么我吃什么。
她秒回:那就炸酱面。早点回来。
我把手机揣兜里,绿灯亮了,拧把走了。
(全文完)
创作声明:本文为虚构创作,所有人物、事件、地名均为艺术加工,与现实人物、真实事件无关,请勿对号入座。
热门跟贴