我正在尋求有關如何應對高風險機會的建議。
我的雇主最近不得不裁員,原因是其產品使用的底層技術發生了變化(即:從C變為C ++) ,從CVS遷移到GIT等)。由於某些愚蠢的原因,他們堅持認為大多數開發人員只會收到3個月的通知,但實際上他們必須工作,而不是獲得3個月的付款。一位被解僱的高級職員獲得了不錯的5個月薪酬,而我們其餘的人不得不從事我們現在討厭的工作,而我的一些同事實際上不得不培訓薪水不足的補發人員。
因此,每個人都不能適應,不能克服語言障礙,等等。儘管如此,我的處境卻非常獨特。在還要交鑰匙卡之前,我已經工作了大約六個星期,並且一直在尋找新的工作。由於劣質的IT政策,所有開發人員都可以訪問我們的數據和版本服務器的同一主密碼。一位IT人員(幸運的是,不是我)決定做點很有意義的事情:他將包含我們所有代碼的CVS存儲庫遷移到了GIT,但僅是HEAD版本,並且沒有從舊CVS中找到服務器數據的副本
該代碼可以在新的GIT服務器上正常構建,因此我們認為一切都很好。錯誤!我們檢出了產品所依賴的關鍵代碼(40,000行)的最新副本。有人(我們無法確定是誰,因為似乎DHCP租約日誌和SSH“最後”日誌回溯得還不夠,使用“ admin”用戶帳戶來執行此操作),然後有人通過解析器運行它: / p>
- 刪除了所有註釋(這些是關鍵,因為我們有大量的寄存器值和位域查找表)。
- 刪除了所有縮進。
- 全部替換了整數文字,因此它們是十進製而不是十六進制,因此位字段值不明顯。
- 將所有函數重命名為無用的,非描述性的名稱。
一個示例將會是:
舊代碼
#include <iostream.h>main(){initDevice(); INT我= 0x8001; //設置MSB和LSB以在舊型號上啟用診斷模式。 cilib <<“ Hello World!”; shutdownDevice(); return 0;}
新代碼
#include <iostream.h>main(){foo_0001(); int i = 32769; cout <<“你好,世界! “; foo_0082();返回0;}
記住,這是針對數百個文件中的40,000行代碼完成的。
沒人注意到這一點,因為自動構建工作一直保持良好狀態。現在需要進行更改了,我們幾乎沒有小槳了。我和其他一些開發人員已經編寫了很多這段代碼,但是要糾正這種混亂將是一項艱鉅的任務,因此至少可以在我們可以進行改進,使用新產品支持的地方使用。管理層大怒,當一位軟件經理髮現找不到備份時,便大聲疾呼把東西扔到他的辦公室。他們有基於時間的備份,但似乎此更改是在幾週前進行的,因此最早的備份也是垃圾代碼。
大約半年前,我在家中進行遠程工作。該公司鼓勵我們通過VPN投入額外的時間,但這並不算作“工作時間”。基本上,這是下午5點後免費獲得額外工作的一種方式。沒有針對使用個人計算資源進行工作的政策。我有一個SNAFU之前代碼庫的副本。
工作環境不是很好,但比我在其他地方所付的要多得多。當我在6週內放手時,償還抵押貸款和養家糊口會很痛苦,但我們將生存。有什麼辦法可以利用嗎?我已經提出了以下方案,並需要採取哪種路線的建議。請記住,當我聲明自己不是破壞代碼庫的人時,我是100%誠實的人:
- 告訴所有者,我有代碼的備用副本。
- 也許他們讓我保留我的工作,機會是他們不會。
- 我真的不能要求他們為我起草一份新的工作機會,因為它可能會被勒索/勒索。可能會把我告上法庭。他們甚至可能以為我是在搞破壞活動。
- 極高的風險,最小的獎勵。
- 我能想到的最安全的選擇。
- 我實際上有大約70%這些東西即將投入使用,或者知道如何在大約6個月內解決大部分問題。
- 幫助我暫時支付賬單。
- 與上面相比,唯一的問題是可能會讓他們認為我是破壞者。我不想讓他們思考。
我認為我沒有義務免費向公司自願提供該代碼。我不是IT支持人員,也不對他們不負責不知道如何進行備份測試負責。另外,我不樂於幫助培訓那些將取代我和我的朋友的人。我想從這種情況中受益,所以我在求職時不會花我的積蓄來支付抵押貸款,也不想讓業主懷疑我是由我造成的,並跟著我跟律師一起燒毀我的積蓄甚至更快。
是否有任何合法途徑可以使我從這場完全的災難中繁榮起來?
更新
事實證明我弄錯了。我從未獲得過代碼的副本。
大喊大叫的經理已被解僱,因此至少有一些好處。
我們所有人都被通知進入會議室與首席技術官和法律團隊負責人一起,他們陳述了我剛才描述的全部故事,並用清晰的話說:“你這小小的寄生蟲吃掉了一堆……我們知道那是其中之一您”,並要求我們所有人簽署一份書面協議,指出我們聲稱我們不參與整個事情,底部的法律條款則授予他們查看我們的個人電子郵件以確認這一點的權利。
其中一位高級開發人員告訴大家不要簽署任何東西,因為這不可能使我們受益。沒有人簽署任何東西。
我將簡單地遠離此事,並在接下來的6周里面帶微笑地出去兜風。抱歉,有多個帳戶,試圖保護我的隱私。
不,Jake / Jacob不是我的真實姓名。
最終更新
首先,這是用您已經密碼加密的“ hello world”用於過去的一些一次性電子郵件帳戶。用我的帳戶密碼和前兩個密碼通過 openssl enc -d -a -aes-256-cbc
進行管道傳輸。
U2FsdGVkX1 / Q0Xq + Ium6X5BxoZ7ZhhpLtz7ltU + / WrM =
無論如何,今天太瘋狂了。團隊中一些瘋狂的人找到了此帖並與團隊分享。當然,臨時軟件經理必須看到它。好吧,有人給管理部門發送了電子郵件,要求通過比特幣付款。不知道他們是否真的有代碼。就我們所知,這是一個拖延太遠的巨魔。
感謝您的合理建議。保持這一點。我仍然感到驚訝的是,他們還沒有付清開發人員的薪水並打包給他們,而不是強迫一群惡意的開發人員訓練他們的替代人員。一個“工資轉儲”。 C開發人員以及CVS,SVN,git,mercurial等也都精通C ++。
是的,我以為我有一段代碼,但我弄錯了。這是一個單獨的項目,沒有改變,沒關係。我決定今天退出,僅在家中零擦拭我的個人硬盤。問題解決了。