?我治好公司瀕死的項目后,獎金發(fā)給了別人
我治好公司瀕死的項目后,獎金發(fā)給了別人
驗收通過當晚,副總王建設舉杯:“多虧決策層最后兩周的戰(zhàn)略把控。”
我四個月敲了一千次代碼,他發(fā)了四條釘釘消息。
獎金公示下來:他18萬,我9萬,五個技術3萬。
客戶張總看向我,欲言又止。
王建設補了一句:“小林拿這個數已經很不錯了,畢竟執(zhí)行層嘛?!?br>我去洗手間把所有證據打包備份,回來時他正在給集團領導視頻匯報:“這次項目的核心突破,是我們創(chuàng)新性地采用了分層解耦架構……”
那是我在方案評審會上提的技術路線,連術語都一字不差。
1
驗收通過的消息在項目群炸開時,我正在改第三百七十二個*UG。
“慶功宴晚上七點,香格里拉C座包廂?!备笨偼踅ㄔO的消息置頂,后面跟著一串@所有人。
手機又震了一下,獎金公示推送。
我點開附件。
王建設:18萬。我:9萬。五個人的技術團隊:3萬。
盯著屏幕看了三秒,我起身去茶水間。倒水的時候手在抖,不是氣的,是四個月每天十八小時敲代碼攢下來的。
包廂里王建設坐在C位,客戶張總在他右手邊。
“這個項目能成功,主要是決策層最后兩周的戰(zhàn)略把控到位。”王建設舉著酒杯站起來,燈光打在他的發(fā)蠟上反光。
張總下意識看向角落里的我,嘴唇動了動,最后只是端起茶杯意思了一下。
我的手機在桌下又震了。HR在項目大群里發(fā)公告:“獎金分配按貢獻度核算,異議期三個工作日?!?br>“小林拿這個數已經很不錯了?!蓖踅ㄔO補了一句,“畢竟執(zhí)行層嘛,按勞分配?!?br>技術主管老王在我旁邊咳了一聲。
我放下筷子:“去趟洗手間?!?br>隔間里,我打開釘釘項目群的聊天記錄。從三月到七月,四個月,一千三百二十七條消息。我發(fā)的八百四十條,老王兩百一十條,其他人兩百六十三條。王建設四條。
第一條是三月十二號:“大家加油?!钡诙l是五月的某個周一:“注意進度。”第三條是六月項目卡殼時:“我去協調資源?!?*條是上周驗收前:“辛苦了?!?br>我把聊天記錄截圖,打開Git代碼倉庫的提交統(tǒng)計。我的提交記錄:一千零六十三次。王建設:零次。
驗收會議的錄音文件還在手機里。我點開播放,快進到**十三分鐘——那是客戶方專家組**技術實現細節(jié)的部分。
“這個數據中臺的分層邏輯是怎么設計的?”專家的聲音。
“我們采用的是……”我自己的聲音。
快進到一小時零八分。
“這套方案的核心優(yōu)勢在哪里?”
“林工,你來說說。”王建設的聲音出現了,然后就是我二十分鐘的技術答辯。
我把所有文件打包,上傳到私人網盤。備份完成的提示音響起時,外面有人敲門。
“小林,王總在問你怎么這么久?!笔荋R小陳的聲音。
“馬上?!蔽蚁戳税涯?,水很涼。
回到包廂時,王建設正舉著手機在視頻通話。
“是的**,這次項目的核心突破在于我們創(chuàng)新性地采用了分層解耦架構……”他說的是我在方案評審會上提的技術路線,連術語都一字不差。
手機屏幕里,集團技術副總裁在點頭。
張總的視線又飄過來。這次我看清了他眼睛里的東西——不是同情,是一種混合著無奈和默契的理解。
“張總,您微信多少?”散場時我追上他。
張總掃了我的二維碼:“后續(xù)維護還得林工你盯著,我只認技術?!?br>“我盡力?!?br>“什么盡力?”王建設不知道什么時候站在了旁邊,“張總放心,小林是我們重點培養(yǎng)的對象,不會離開項目的?!?br>他拍了拍我的肩膀,手勁很大。
張總笑了笑,沒接話。
車里,王建設點了根煙:“獎金的事別多想,你還年輕,以后機會多的是。”
我看著窗外的路燈。每一盞都在倒退。
“到了?!彼緳C提醒。
下車時王建設又說:“對了,明天開始準備下個項目的方案,投標在下月。”
我點點頭,關上車門。
手機震動,是張總發(fā)來的消息:“林工,方便明天聊聊嗎?項目有些技術細節(jié)想確認一下?!?br>我剛要回復,王建設的消息就彈了出來:“明天早上九點,來我辦公室討論新項目?!?br>手指停在屏幕上,最后我先回了張總:“好的,明天下午兩點?”
王建設那條消息,我看了三十秒,退出了對話框。
2
異議期第三天上午九點,我在OA系統(tǒng)里同時提交了兩份文件。
《離職申請》和《項目獎金分配異議說明》。
后者一共十二頁。釘釘聊天記錄的完整截圖,Git代碼提交統(tǒng)計表,驗收會議錄音的文字轉寫稿,還有一張Excel——我和王建設在項目各階段的工時對比。
四個月,我的工時記錄:兩千一百四十七小時。王建設:三十二小時,其中二十個小時是在會議室里玩手機。
提交按鈕按下去的瞬間,系統(tǒng)自動抄送直屬領導。也就是王建設。
手機立刻炸了。
王建設的電話打進來時,我正在整理工位上的東西。
“你這是要鬧哪樣?”他的聲音從聽筒里擠出來。
“走正常流程?!?br>“你知不知道這樣做的后果?”
“知道。”我把桌上的技術書裝進紙箱,“所以我離職?!?br>“林秋實!”他第一次叫我全名,“你是不是覺得公司離了你就轉不了?”
“不是,是您離不了我。”我掛斷電話。
五分鐘后,HR主管敲響我的工位隔板。
“小林,方便去趟會議室嗎?”她的表情很復雜。
會議室里,王建設已經在了,還有部門總監(jiān)老張。
“你那份異議說明我看了。”老張點開投影儀,我的十二頁文檔出現在屏幕上,“材料很詳實。”
“謝謝。”
“但是你有沒有想過,”王建設靠在椅背上,“這個行業(yè)圈子就這么大,你這么做,以后誰還敢用你?”
“不用就不用?!?br>“你!”王建設拍了下桌子。
手機又響了。是張總的電話。
“張總?!蔽野戳嗣馓?。
“小林,我剛收到你發(fā)的那份材料?!睆埧偟穆曇粼跁h室里回蕩,“這事我得和你們公司高層談談。后續(xù)維護合同的事,我們需要重新評估?!?br>王建設的臉色變了。
“林工要是走了,我們這邊很難接受新的對接人?!睆埧偫^續(xù)說,“畢竟整套系統(tǒng)的技術實現只有他最清楚。”
“張總您放心,他走不了?!蓖踅ㄔO搶著說,“我親自盯這個事?!?br>“那就好?!睆埧倰炝穗娫?。
會議室里安靜了三秒。
“現在撤回還來得及?!盚R主管打破沉默,“獎金比例可以重新協商。”
“離職流程已經到總監(jiān)審批了?!蔽抑钢謾C屏幕上的OA系統(tǒng)提醒。
老張看了眼自己的手機:“確實收到了。”
“老張!”王建設站起來。
“我建議先走完流程?!崩蠌堈f,“該怎么處理就怎么處理?!?br>王建設的手機接連震了三次。
他看了一眼屏幕,臉更白了。
第一條是客戶張總發(fā)給公司CEO的郵件抄送:“貴司核心技術人員變動,建議暫停簽署后續(xù)維護合同?!?br>第二條是集團人力資源部的郵件:“請說明項目A-2024-037的獎金分配依據和核算明細?!?br>第三條是部門內部群消息。技術骨干小趙和小孫同時在群里發(fā)了離職申請的截圖,備注欄寫著:“薪酬分配不公平,寒心?!?br>“都是你搞的?”王建設盯著我。
“是你自己搞的?!蔽伊嗥鸺埾?,“我只是讓大家看清楚?!?br>走到門口時我回頭:“對了,技術文檔的交接清單我會整理出來,大概三十六份。還有十二個系統(tǒng)隱患沒解決,八個客戶定制需求的實現邏輯只在我腦子里?!?br>“你威脅我?”
“不,我提醒你?!?br>門關上的瞬間,我聽見王建設摔杯子的聲音。
3
“必須找人接手,不能讓一個人綁架項目。”
隔著總監(jiān)辦公室的玻璃門,我看見王建設在里面指著白板講話。技術主管老王坐在對面,表情像便秘。
我的工位已經被HR貼了封條。
“林工?!崩贤踝烦鰜恚澳莻€...架構文檔能給我講講嗎?”
“文檔里都有。”
“可是...”他撓頭,“你那注釋全是縮寫,數據流轉邏輯我看不懂?!?br>我打開他的電腦,調出核心代碼模塊。
“這個`DCTS_Pipeline`是什么意思?”老王指著屏幕。
“DataCleanTran**ormSync的管道流?!?br>“那`_hk_proc_v2`呢?”
“HttpKafka處理器的第二版?!?br>老王盯著代碼看了三十秒:“要不你再給我講講整體架構?”
“我在離職流程里?!?br>他試著在測試環(huán)境跑了個基礎功能。
報錯。
連跑三次,三次都報錯。
“這...”老王的額頭開始冒汗。
“47行少了個參數配置,98行的數據庫連接池要重啟,132行的緩存策略要改?!蔽艺f。
他照著改,**次終于跑通了。然后臉更白了——因為他意識到三百個功能模塊,每個都這么復雜。
下午兩點,王建設把一家外包公司的技術經理請到會議室。
“評估一下接手成本?!?br>外包團隊的人花了兩個小時查看代碼。
“王總,這個...”技術經理合上電腦,“代碼耦合度太高,很多業(yè)務邏輯和底層框架纏在一起。要接手的話,建議重構核心模塊?!?br>“多久?”
“兩個月。報價八十萬?!?br>“客戶只給兩周過渡期。”王建設的聲音發(fā)緊。
“那我們沒辦法?!?br>王建設看向HR主管:“壓著他的離職流程,必須完成交接才能走。”
HR主管敲開我臨時換的工位:“小林,公司要求你列出完整的交接清單。”
我發(fā)了份文檔過去。
《項目交接清單》:
- 技術架構文檔36份
- 系統(tǒng)隱患記錄12項
- 客戶定制化需求實現邏輯8個
- 核心算法優(yōu)化說明17份
- 數據庫設計文檔及變更記錄23份
老王接到交接任務,拿著我的文檔試著操作。
一個小時后,測試環(huán)境數據庫直接宕機。
“怎么回事?”王建設沖進機房。
“我...我按照文檔執(zhí)行回滾操作...”老王的聲音在發(fā)抖,“不知道為什么主從同步失敗了?!?br>數據庫恢復花了六個小時。
晚上八點,客戶張總發(fā)來正式郵件,抄送公司CEO和項目組全員。
“貴司核心技術人員林秋實先生提出離職,根據合同附件三《核心人員名單及變更條款》,我方要求:如該人員離職,需退還30%項目款并**后續(xù)維護合同。特此正式通知?!?br>我的手機響了。
是CEO打來的。
“小林,你要什么條件?”他的語氣很平靜。
“我已經找好下家了,明天入職?!?br>“違約金我們公司來賠?”
“合同是公司簽的,跟我沒關系?!蔽艺f,“而且合同里寫的很清楚——核心人員變更需要客戶書面同意。你們可以去問張總同不同意。”
電話那頭沉默了五秒。
“三倍獎金,你繼續(xù)帶項目?!?br>“不好意思,我已經簽了新公司的Offer。”
“那你要賠償我們的損失...”
“CEO您可能搞錯了。”我打斷他,“是你們違反勞動法在先——獎金分配嚴重不公,我有完整證據。要打官司,我奉陪?!?br>又是一陣沉默。
“你把話說死了?!?br>“是王建設把路走絕了?!蔽覓鞌嚯娫?。
第二天早上,公司法務部的人敲開了總監(jiān)辦公室的門。
客戶方正式發(fā)函:要求退還項目款240萬,賠償系統(tǒng)停機損失60萬,并將此事通報行業(yè)協會。
公司股價開盤跌了3%。
我收拾完最后一個紙箱,刷卡走出大樓。
門禁系統(tǒng)顯示:權限已注銷。
手機震動,是新公司HR發(fā)來的消息:“林工,明天入職報到,工位已經準備好了。期待與您共事?!?br>身后,老王還在會議室里盯著我的代碼發(fā)呆。
投影儀上,那些縮寫和注釋像密文一樣閃爍。
我四個月敲了一千次代碼,他發(fā)了四條釘釘消息。
獎金公示下來:他18萬,我9萬,五個技術3萬。
客戶張總看向我,欲言又止。
王建設補了一句:“小林拿這個數已經很不錯了,畢竟執(zhí)行層嘛?!?br>我去洗手間把所有證據打包備份,回來時他正在給集團領導視頻匯報:“這次項目的核心突破,是我們創(chuàng)新性地采用了分層解耦架構……”
那是我在方案評審會上提的技術路線,連術語都一字不差。
1
驗收通過的消息在項目群炸開時,我正在改第三百七十二個*UG。
“慶功宴晚上七點,香格里拉C座包廂?!备笨偼踅ㄔO的消息置頂,后面跟著一串@所有人。
手機又震了一下,獎金公示推送。
我點開附件。
王建設:18萬。我:9萬。五個人的技術團隊:3萬。
盯著屏幕看了三秒,我起身去茶水間。倒水的時候手在抖,不是氣的,是四個月每天十八小時敲代碼攢下來的。
包廂里王建設坐在C位,客戶張總在他右手邊。
“這個項目能成功,主要是決策層最后兩周的戰(zhàn)略把控到位。”王建設舉著酒杯站起來,燈光打在他的發(fā)蠟上反光。
張總下意識看向角落里的我,嘴唇動了動,最后只是端起茶杯意思了一下。
我的手機在桌下又震了。HR在項目大群里發(fā)公告:“獎金分配按貢獻度核算,異議期三個工作日?!?br>“小林拿這個數已經很不錯了?!蓖踅ㄔO補了一句,“畢竟執(zhí)行層嘛,按勞分配?!?br>技術主管老王在我旁邊咳了一聲。
我放下筷子:“去趟洗手間?!?br>隔間里,我打開釘釘項目群的聊天記錄。從三月到七月,四個月,一千三百二十七條消息。我發(fā)的八百四十條,老王兩百一十條,其他人兩百六十三條。王建設四條。
第一條是三月十二號:“大家加油?!钡诙l是五月的某個周一:“注意進度。”第三條是六月項目卡殼時:“我去協調資源?!?*條是上周驗收前:“辛苦了?!?br>我把聊天記錄截圖,打開Git代碼倉庫的提交統(tǒng)計。我的提交記錄:一千零六十三次。王建設:零次。
驗收會議的錄音文件還在手機里。我點開播放,快進到**十三分鐘——那是客戶方專家組**技術實現細節(jié)的部分。
“這個數據中臺的分層邏輯是怎么設計的?”專家的聲音。
“我們采用的是……”我自己的聲音。
快進到一小時零八分。
“這套方案的核心優(yōu)勢在哪里?”
“林工,你來說說。”王建設的聲音出現了,然后就是我二十分鐘的技術答辯。
我把所有文件打包,上傳到私人網盤。備份完成的提示音響起時,外面有人敲門。
“小林,王總在問你怎么這么久?!笔荋R小陳的聲音。
“馬上?!蔽蚁戳税涯?,水很涼。
回到包廂時,王建設正舉著手機在視頻通話。
“是的**,這次項目的核心突破在于我們創(chuàng)新性地采用了分層解耦架構……”他說的是我在方案評審會上提的技術路線,連術語都一字不差。
手機屏幕里,集團技術副總裁在點頭。
張總的視線又飄過來。這次我看清了他眼睛里的東西——不是同情,是一種混合著無奈和默契的理解。
“張總,您微信多少?”散場時我追上他。
張總掃了我的二維碼:“后續(xù)維護還得林工你盯著,我只認技術?!?br>“我盡力?!?br>“什么盡力?”王建設不知道什么時候站在了旁邊,“張總放心,小林是我們重點培養(yǎng)的對象,不會離開項目的?!?br>他拍了拍我的肩膀,手勁很大。
張總笑了笑,沒接話。
車里,王建設點了根煙:“獎金的事別多想,你還年輕,以后機會多的是。”
我看著窗外的路燈。每一盞都在倒退。
“到了?!彼緳C提醒。
下車時王建設又說:“對了,明天開始準備下個項目的方案,投標在下月。”
我點點頭,關上車門。
手機震動,是張總發(fā)來的消息:“林工,方便明天聊聊嗎?項目有些技術細節(jié)想確認一下?!?br>我剛要回復,王建設的消息就彈了出來:“明天早上九點,來我辦公室討論新項目?!?br>手指停在屏幕上,最后我先回了張總:“好的,明天下午兩點?”
王建設那條消息,我看了三十秒,退出了對話框。
2
異議期第三天上午九點,我在OA系統(tǒng)里同時提交了兩份文件。
《離職申請》和《項目獎金分配異議說明》。
后者一共十二頁。釘釘聊天記錄的完整截圖,Git代碼提交統(tǒng)計表,驗收會議錄音的文字轉寫稿,還有一張Excel——我和王建設在項目各階段的工時對比。
四個月,我的工時記錄:兩千一百四十七小時。王建設:三十二小時,其中二十個小時是在會議室里玩手機。
提交按鈕按下去的瞬間,系統(tǒng)自動抄送直屬領導。也就是王建設。
手機立刻炸了。
王建設的電話打進來時,我正在整理工位上的東西。
“你這是要鬧哪樣?”他的聲音從聽筒里擠出來。
“走正常流程?!?br>“你知不知道這樣做的后果?”
“知道。”我把桌上的技術書裝進紙箱,“所以我離職?!?br>“林秋實!”他第一次叫我全名,“你是不是覺得公司離了你就轉不了?”
“不是,是您離不了我。”我掛斷電話。
五分鐘后,HR主管敲響我的工位隔板。
“小林,方便去趟會議室嗎?”她的表情很復雜。
會議室里,王建設已經在了,還有部門總監(jiān)老張。
“你那份異議說明我看了。”老張點開投影儀,我的十二頁文檔出現在屏幕上,“材料很詳實。”
“謝謝。”
“但是你有沒有想過,”王建設靠在椅背上,“這個行業(yè)圈子就這么大,你這么做,以后誰還敢用你?”
“不用就不用?!?br>“你!”王建設拍了下桌子。
手機又響了。是張總的電話。
“張總?!蔽野戳嗣馓?。
“小林,我剛收到你發(fā)的那份材料?!睆埧偟穆曇粼跁h室里回蕩,“這事我得和你們公司高層談談。后續(xù)維護合同的事,我們需要重新評估?!?br>王建設的臉色變了。
“林工要是走了,我們這邊很難接受新的對接人?!睆埧偫^續(xù)說,“畢竟整套系統(tǒng)的技術實現只有他最清楚。”
“張總您放心,他走不了?!蓖踅ㄔO搶著說,“我親自盯這個事?!?br>“那就好?!睆埧倰炝穗娫?。
會議室里安靜了三秒。
“現在撤回還來得及?!盚R主管打破沉默,“獎金比例可以重新協商。”
“離職流程已經到總監(jiān)審批了?!蔽抑钢謾C屏幕上的OA系統(tǒng)提醒。
老張看了眼自己的手機:“確實收到了。”
“老張!”王建設站起來。
“我建議先走完流程?!崩蠌堈f,“該怎么處理就怎么處理?!?br>王建設的手機接連震了三次。
他看了一眼屏幕,臉更白了。
第一條是客戶張總發(fā)給公司CEO的郵件抄送:“貴司核心技術人員變動,建議暫停簽署后續(xù)維護合同?!?br>第二條是集團人力資源部的郵件:“請說明項目A-2024-037的獎金分配依據和核算明細?!?br>第三條是部門內部群消息。技術骨干小趙和小孫同時在群里發(fā)了離職申請的截圖,備注欄寫著:“薪酬分配不公平,寒心?!?br>“都是你搞的?”王建設盯著我。
“是你自己搞的?!蔽伊嗥鸺埾?,“我只是讓大家看清楚?!?br>走到門口時我回頭:“對了,技術文檔的交接清單我會整理出來,大概三十六份。還有十二個系統(tǒng)隱患沒解決,八個客戶定制需求的實現邏輯只在我腦子里?!?br>“你威脅我?”
“不,我提醒你?!?br>門關上的瞬間,我聽見王建設摔杯子的聲音。
3
“必須找人接手,不能讓一個人綁架項目。”
隔著總監(jiān)辦公室的玻璃門,我看見王建設在里面指著白板講話。技術主管老王坐在對面,表情像便秘。
我的工位已經被HR貼了封條。
“林工?!崩贤踝烦鰜恚澳莻€...架構文檔能給我講講嗎?”
“文檔里都有。”
“可是...”他撓頭,“你那注釋全是縮寫,數據流轉邏輯我看不懂?!?br>我打開他的電腦,調出核心代碼模塊。
“這個`DCTS_Pipeline`是什么意思?”老王指著屏幕。
“DataCleanTran**ormSync的管道流?!?br>“那`_hk_proc_v2`呢?”
“HttpKafka處理器的第二版?!?br>老王盯著代碼看了三十秒:“要不你再給我講講整體架構?”
“我在離職流程里?!?br>他試著在測試環(huán)境跑了個基礎功能。
報錯。
連跑三次,三次都報錯。
“這...”老王的額頭開始冒汗。
“47行少了個參數配置,98行的數據庫連接池要重啟,132行的緩存策略要改?!蔽艺f。
他照著改,**次終于跑通了。然后臉更白了——因為他意識到三百個功能模塊,每個都這么復雜。
下午兩點,王建設把一家外包公司的技術經理請到會議室。
“評估一下接手成本?!?br>外包團隊的人花了兩個小時查看代碼。
“王總,這個...”技術經理合上電腦,“代碼耦合度太高,很多業(yè)務邏輯和底層框架纏在一起。要接手的話,建議重構核心模塊?!?br>“多久?”
“兩個月。報價八十萬?!?br>“客戶只給兩周過渡期。”王建設的聲音發(fā)緊。
“那我們沒辦法?!?br>王建設看向HR主管:“壓著他的離職流程,必須完成交接才能走。”
HR主管敲開我臨時換的工位:“小林,公司要求你列出完整的交接清單。”
我發(fā)了份文檔過去。
《項目交接清單》:
- 技術架構文檔36份
- 系統(tǒng)隱患記錄12項
- 客戶定制化需求實現邏輯8個
- 核心算法優(yōu)化說明17份
- 數據庫設計文檔及變更記錄23份
老王接到交接任務,拿著我的文檔試著操作。
一個小時后,測試環(huán)境數據庫直接宕機。
“怎么回事?”王建設沖進機房。
“我...我按照文檔執(zhí)行回滾操作...”老王的聲音在發(fā)抖,“不知道為什么主從同步失敗了?!?br>數據庫恢復花了六個小時。
晚上八點,客戶張總發(fā)來正式郵件,抄送公司CEO和項目組全員。
“貴司核心技術人員林秋實先生提出離職,根據合同附件三《核心人員名單及變更條款》,我方要求:如該人員離職,需退還30%項目款并**后續(xù)維護合同。特此正式通知?!?br>我的手機響了。
是CEO打來的。
“小林,你要什么條件?”他的語氣很平靜。
“我已經找好下家了,明天入職?!?br>“違約金我們公司來賠?”
“合同是公司簽的,跟我沒關系?!蔽艺f,“而且合同里寫的很清楚——核心人員變更需要客戶書面同意。你們可以去問張總同不同意。”
電話那頭沉默了五秒。
“三倍獎金,你繼續(xù)帶項目?!?br>“不好意思,我已經簽了新公司的Offer。”
“那你要賠償我們的損失...”
“CEO您可能搞錯了。”我打斷他,“是你們違反勞動法在先——獎金分配嚴重不公,我有完整證據。要打官司,我奉陪?!?br>又是一陣沉默。
“你把話說死了?!?br>“是王建設把路走絕了?!蔽覓鞌嚯娫?。
第二天早上,公司法務部的人敲開了總監(jiān)辦公室的門。
客戶方正式發(fā)函:要求退還項目款240萬,賠償系統(tǒng)停機損失60萬,并將此事通報行業(yè)協會。
公司股價開盤跌了3%。
我收拾完最后一個紙箱,刷卡走出大樓。
門禁系統(tǒng)顯示:權限已注銷。
手機震動,是新公司HR發(fā)來的消息:“林工,明天入職報到,工位已經準備好了。期待與您共事?!?br>身后,老王還在會議室里盯著我的代碼發(fā)呆。
投影儀上,那些縮寫和注釋像密文一樣閃爍。