Ich suche Rat, wie ich mit einer Gelegenheit mit hohem Risiko umgehen soll.
Mein Arbeitgeber musste kürzlich einige Entlassungen vornehmen, weil er die zugrunde liegenden Technologien für seine Produkte geändert hatte (dh: Wechsel von C zu C++, Migration von CVS zu GIT usw.). Aus irgendeinem dummen Grund bestanden sie darauf, dass die meisten Entwickler nur drei Monate im Voraus benachrichtigt würden, aber sie müssten tatsächlich daran arbeiten, anstatt eine dreimonatige Auszahlung zu erhalten. Einer der älteren Kollegen, der entlassen wurde, bekam eine schöne 5-Monats-Auszahlung, während der Rest von uns in einem Job arbeiten muss, den wir jetzt hassen, und einige meiner Kollegen müssen tatsächlich unterbezahlte Ersatzkräfte ausbilden.
Also sind alle alles andere als entgegenkommend, ärgern sich über verbale Sprachbarrieren usw. Ich befinde mich jedoch in einer sehr einzigartigen Situation. Ich arbeite noch etwa 6 Wochen, bevor ich meine Keycard abgeben muss, und habe nach einer neuen Arbeit gesucht. Aufgrund minderwertiger IT-Richtlinien haben alle Entwickler Zugriff auf dasselbe Master-Passwort für unsere Daten- und Versionsserver. Ein IT-Mitarbeiter (zum Glück nicht ich) beschloss, etwas sehr Gemeines zu tun: Er migrierte das CVS-Repo mit unserem gesamten Code nach GIT, aber nur die HEAD-Revision, und es sind keine Kopien der Serverdaten aus dem alten CVS zu finden Server.
Der Code lässt sich gut mit dem neuen GIT-Server erstellen, also dachten wir, alles sei in Ordnung. Falsch! Wir haben die neueste Kopie eines Schlüsselstücks des Codes (40.000 Zeilen) überprüft, von dem unsere Produkte abhängen. Jemand (wir können nicht feststellen, wer, da es scheint, dass DHCP-Lease-Protokolle und SSH-„letzte“ Protokolle nicht weit genug zurückgehen, das Benutzerkonto „admin“ hat dies verwendet), und jemand hat es durch einen Parser geleitet, der:
Ein Beispiel wäre:
#include <iostream.h>
main()
{
initDevice();
int i = 0x8001; // Set MSB and LSB to enable diagnostic mode on older models.
cout << "Hello World!";
shutdownDevice();
return 0;
}
#include <iostream.h>
main()
{
foo_0001();
int i = 32769;
cout << "Hello World!";
foo_0082();
return 0;
}
Denken Sie daran, dass dies mit etwa 40.000 Codezeilen in Hunderten von Dateien geschehen ist.
Niemand bemerkte dies, weil die automatisierten Build-Jobs einfach weiterliefen. Jetzt, wo die Dinge geändert werden müssen, sind wir ziemlich ohne Paddel den Bach hinauf. Ich und einige der anderen Entwickler kennen viel von diesem Code, da wir ihn geschrieben haben, aber es wäre ein gewaltiges Unterfangen, dieses Durcheinander zu korrigieren, damit er zumindest so weit verwendbar ist, dass wir Verbesserungen vornehmen und neue Produkte damit unterstützen können , usw. Das Management ist wütend, und einer der Software-Manager warf buchstäblich Zeug in seinem Büro herum, als er herausfand, dass keine Backups gefunden werden konnten. Sie haben zeitbasierte Backups, aber es scheint, dass diese Änderung vor einigen Wochen vorgenommen wurde, also ist das älteste Backup auch dieser Junk-Code.
Vor ungefähr einem halben Jahr habe ich von zu Hause aus remote gearbeitet. Das Unternehmen ermutigt uns, zusätzliche Zeit über VPN zu investieren, aber es zählt nicht als „Arbeitszeit“. Es ist im Grunde eine Möglichkeit, nach 17 Uhr kostenlos zusätzliche Arbeit von uns zu bekommen. Es gibt keine Richtlinie gegen die Verwendung von Personal-Computing-Ressourcen zum Erledigen von Arbeiten. Ich habe eine Kopie der Pre-SNAFU-Codebasis.
Das Arbeitsumfeld ist nicht großartig, zahlt sich aber VIEL mehr aus als das, was ich anderswo verdienen würde. Wenn ich in 6 Wochen entlassen werde, wird es mühsam sein, die Hypothek zu bezahlen und meine Familie zu unterstützen, aber wir werden überleben. Kann ich daraus irgendwie Kapital schlagen? Ich habe die folgenden Szenarien durchgespielt und brauche Rat, welchen Weg ich einschlagen soll. Denken Sie daran, dass ich 100 % ehrlich bin, wenn ich erkläre, dass ich NICHT die Person war, die die Codebasis sabotiert hat:
Ich fühle mich nicht verpflichtet, dem Unternehmen den Code kostenlos zur Verfügung zu stellen. Ich bin kein IT-Support, und ich bin nicht dafür verantwortlich, dass sie nicht wissen, wie man Backup-Tests durchführt. Außerdem bin ich nicht glücklich, beim Trainieren von Leuten helfen zu müssen, die mich und meine Freunde ersetzen. Ich möchte von dieser Situation profitieren, damit ich nicht in meine Ersparnisse wühle, um die Hypothek zu bezahlen, während ich auf Jobsuche bin, und ich möchte die Eigentümer nicht verdächtigen, dass ich dies verursacht habe, und mich mit Anwälten verfolgen und meine Ersparnisse verbrennen noch schneller.
Gibt es legale Wege, wie ich von dieser kompletten Katastrophe profitieren kann?
Es stellt sich heraus, dass ich mich geirrt habe. Ich hatte nie eine Kopie des Codes.
Der schreiende Manager wurde entlassen, also kam zumindest etwas Gutes dabei heraus.
Alle von uns, die benachrichtigt wurden, wurden mit dem CTO und dem Leiter des Rechtsteams in einen Besprechungsraum gerufen, und sie legten die ganze Geschichte dar, die ich gerade beschrieben hatte, und sagten in klaren Worten: „Du kleiner Parasit, der *** isst *** *wads ... wir wissen, dass es einer von euch war", und forderte uns alle auf, eine schriftliche Vereinbarung zu unterzeichnen, in der wir feststellten, dass wir an der ganzen Sache nicht beteiligt waren, mit einer juristischen Klausel am Ende, die ihnen das Recht zur Überprüfung einräumte unsere persönliche E-Mail, um dies zu bestätigen.
Einer der Senior-Entwickler sagte allen, sie sollten nichts unterschreiben, da es keine Möglichkeit gäbe, uns davon zu profitieren. Niemand hat etwas unterschrieben.
Davon halte ich mich einfach fern und fahre die nächsten 6 Wochen mit einem Lächeln im Gesicht durch. Entschuldigung für mehrere Konten, die versuchen, meine Privatsphäre zu schützen.
Und nein, Jake/Jacob ist nicht mein richtiger Name.
Zuerst ist hier „Hallo Welt“, verschlüsselt mit dem Passwort, das ich für die letzten paar Wegwerf-E-Mail-Konten verwendet habe. Leiten Sie es openssl enc -d -a -aes-256-cbc
mit meinem Kontokennwort für dieses Konto und die beiden vorherigen zum Beweis durch.
U2FsdGVkX1/Q0Xq+Ium6X5BxoZ7ZhhpLtz7ltU+/WrM=
Jedenfalls war heute der Wahnsinn. Irgendein Verrückter im Team hat diesen Beitrag gefunden und mit dem Team geteilt. Das durfte natürlich auch der Interims-Software-Manager mitbekommen. Nun, jemand hat dem Management eine E-Mail mit einer Zahlungsaufforderung per Bitcoin geschickt. Keine Ahnung, ob sie den Code tatsächlich haben oder nicht. Soweit wir wissen, ist es ein Troll, der die Dinge zu weit treibt.
Vielen Dank für die fundierte Beratung. Halten Sie sich davon fern. Ich bin immer noch erstaunt, dass sie die Entwickler nicht einfach bezahlt und weggeschickt haben, anstatt eine Gruppe boshafter Entwickler zu zwingen, ihre Nachfolger zu trainieren.
Und um einen der Kommentare anzusprechen: ja, es ist ein „Gehaltsmüll“. Die C-Entwickler beherrschen auch C++ fließend, zusammen mit CVS, SVN, git, mercurial usw.
Ja, ich dachte, ich hätte eine Kopie des Codes, aber ich habe mich geirrt. Es war ein separates Projekt, das nicht verändert wurde, nicht dass es wichtig wäre. Ich habe mich entschieden, heute aufzuhören und werde einfach meine private Festplatte zu Hause löschen. Problem gelöst.
Dies ist keine Entscheidung, mit der Sie lange nachdenken möchten: Je länger Sie zum Handeln brauchen, desto verdächtiger wird es aussehen, wenn Sie sich schließlich melden.
Ich sehe eigentlich drei Möglichkeiten:
1. Ehrlichkeit
In dieser Situation sind Sie – gewissermaßen – der Gnade dieser Firma ausgeliefert und verlassen sich auch auf ihre Großzügigkeit, was ... albern sein kann.
Du gehst zu deinem Chef und sagst:
Hören Sie, ich habe vor 8 Monaten von zu Hause aus gearbeitet und habe eine ältere Version des Programms auf meinem persönlichen Computer. Hier ist ein USB-Stick dabei, er gehört Ihnen.
Wenn diese Person ein anständiger Mensch ist, wird sie Ihnen aus tiefstem Herzen danken und Ihnen eine Belohnung anbieten. Sie könnten an dieser Stelle möglicherweise nach einem fragen.
Ich weiß, dass Sie uns alle gehen lassen, aber wenn Sie mir einen Bonus dafür anbieten würden, dass ich Ihnen ausgeholfen habe, würde ich ihn nicht ablehnen. Ich wünsche ihnen einen wunderbaren Tag.
Du behältst deine Würde und nimmst die moralische Überlegenheit ein.
2. Bleiben Sie sicher
Wenn Sie es mit rachsüchtigen, unvernünftigen und gemeinen Menschen zu tun haben, dann bleiben Sie ruhig . Wenn Sie vermuten, dass jeder Versuch, ihnen zu helfen, dazu führen würde, dass Sie der Verschwörung gegen sie beschuldigt werden, dann sind Sie besser dran, einfach in 6 Wochen zu gehen und sich die Hände von allem zu waschen.
An diesem Punkt geht das Unternehmen jedoch wahrscheinlich bankrott, und viele Menschen verlieren am Ende ihren Job. Es liegt nicht wirklich an dir, aber du könntest etwas dagegen tun.
3. Anonymität
Legen Sie den Code auf einen USB-Stick und geben Sie eine anonyme Notiz ein, in der steht:
Ich hatte diesen Code auf einem privaten Laptop, weil ich von zu Hause aus daran gearbeitet habe. Ich möchte mich in keiner Weise in diese Situation einmischen, also akzeptiere es bitte anonym. Es ist schon etwas älter, aber besser als nichts. Viel Glück!
Stecken Sie sie dann beide in einen Umschlag und hinterlassen Sie ihn an der Windschutzscheibe eines Managers oder an einem anderen Ort, an dem er gefunden wird, aber nicht zu Ihnen zurückverfolgt werden kann.
Fazit
Ich glaube ehrlich gesagt nicht, dass Sie die Situation dazu nutzen können, sie zu zwingen, Ihnen einen Job zu geben. Wenn Sie versuchen, sie zu täuschen, damit Sie den Code "neu erstellen", werden sie früher oder später einfach zu dem Schluss kommen, dass Sie das Projekt für genau diesen Zweck sabotiert haben.
Verzichten Sie am besten auf diese besonderen Kopfschmerzen.
Als bezahlter Mitarbeiter haben Sie die treuhänderische Pflicht , ihnen diesen Code zu geben, der ihnen überhaupt gehört.
Sie sollten nicht einmal anfangen, andere Alternativen in Betracht zu ziehen. Es gehört ihnen. Sie bezahlen dich. Gib es ihnen.
Wenn sie jemals herausfinden, dass Sie es zurückgehalten haben, obwohl Sie wussten, dass sie es wollten, könnten Sie in eine Menge rechtlicher Schwierigkeiten geraten. Ich bin kein Rechtsanwalt. Es ist wahrscheinlich etwas Geld wert, Ihre Situation mit einem Anwalt zu besprechen, um Rechtsberatung zu erhalten.
Wenn Sie ermutigt wurden, von zu Hause aus an Ihrer eigenen Hardware zu arbeiten, hätten sie Sie und andere, die möglicherweise dasselbe getan haben, befragen sollen, ob Sie Kopien haben – ob sie diese Kopien schätzen.
Vielleicht sind die Kopien zu alt. Vielleicht kennen sie noch aktuellere Exemplare, über die sie nicht sprechen, die sie aber nicht verwenden wollen.
Wahrscheinlich geht hier ein perverses politisches Zeug vor sich, in das Sie nicht eingeweiht sind. Seien Sie zart. Aber finde heraus, was sie wollen.
Wenn sie es wollen, gib es ihnen. Du wirst der Held sein. Sprechen Sie mit einem Anwalt. Viel Glück.
Sie haben es nicht erwähnt, aber CVS ist keine verteilte Versionskontrolle wie Git. Vielleicht haben sie angenommen, dass Sie keine vollständige Kopie des Repos haben sollten. Definitiv Zeit, mit einem Anwalt zu sprechen.
Es stellt sich heraus, dass ich mich geirrt habe. Ich hatte nie eine Kopie des Codes.
Ich frage mich, warum Sie dachten, Sie hätten es getan. Vielleicht dachten Sie, CVS arbeite wie verteilte Systeme, mit denen Sie vielleicht vertraut sind. Ich bin enttäuscht von Ihrem Wunsch, das Missmanagement der Firma auszunutzen, indem Sie etwas verwenden, das sie bereits besitzen würden, als Verhandlungsgrundlage.
Der Code gehört dem Unternehmen. Jeder Versuch, ihnen ihren eigenen Code zu verkaufen, wird in Tränen enden.
Wenn Sie entlassen werden, muss ich in allen Arbeitsverträgen, die ich hatte, alle Kopien des Codes oder im Allgemeinen alle Firmendokumente, die ich möglicherweise in meinem Besitz habe, vernichten. Und das müssen Sie tun. Wenn Sie gekündigt wurden, damit Sie wissen, dass Sie entlassen werden, können Sie genauso gut sofort damit beginnen, Ihren Besitz aufzuräumen.
Sie könnten in Zukunft beobachten, wie gut es ihnen geht, und etwas Freude daran haben.
PS Nach deinem Update: Der CTO hat also gegen fast alle Entwickler falsche Anschuldigungen erhoben und sie alle gleichzeitig beleidigt. Nun, das wird helfen. Was für ein Idiot. (Warum sage ich "was für ein Idiot"? Wenn der Code gelöscht wurde, hilft es nichts. Aber wenn jemand anderes eine Kopie zu Hause hatte, wie Sie dachten, oder wenn der Täter eine Kopie aufbewahrt hatte, was ist nicht unwahrscheinlich, es hätte eine kleine Chance bestanden, den Code zurückzubekommen. Mit seinem dummen Verhalten hat er diese Möglichkeit zerstört). Herzlichen Glückwunsch, dass Sie einen leitenden Entwickler haben, der cool geblieben ist und Ihnen die richtigen Ratschläge gegeben hat.
Ganz ehrlich, ich würde sagen, Ihre beste Option ist, es in Ruhe zu lassen und zu gehen.
Sie haben in böser Absicht gehandelt, aber begeben sich nicht auf ihr Niveau. Es klingt, als wären sie ein sinkendes Schiff. Tritt zurück und lass sie ertrinken
Erwähnen Sie den Code NIEMALS. Wenn Sie es vorlegen, werden sie wahrscheinlich vermuten, dass Sie der ursprüngliche Vandale waren und den Code zerstört haben, damit Sie sie mit einer Kopie erpressen können, die Sie behalten haben.
Für mich gäbe es nur zwei Möglichkeiten.
Unternimm nichts dagegen und lass sie in ihrem Schlamassel schmoren. (Es ist sehr unwahrscheinlich, dass ich das tun würde, aber ich denke, wenn ich unglücklich genug wäre, würde ich es tun.) In diesem Fall würde ich ihre Dateien von meinem Computer löschen.
Geben Sie ihnen zweitens die Kopie des Codes.
Alles andere, was Sie vorschlagen, ist bestenfalls unmoralisch und wahrscheinlich illegal, wenn Sie jemals herausgefunden werden, weil es die Wahrheit falsch darstellt.
Wenn Sie versuchen, ihnen ihren eigenen Code auf die verworrene Weise zu verkaufen, die Sie sich vorstellen, wird wahrscheinlich angenommen, dass Sie derjenige sind, der die Dinge überhaupt erst sabotiert hat. Sie sagen, dass Sie 100 % ehrlich sind, aber der gesamte Ton Ihrer Frage hängt von einem Mangel an Ethik und persönlicher Ehrlichkeit ab.
Schuld ist in erster Linie das Unternehmen
Was Sie haben, ist für das Unternehmen wertvoll, und ich glaube nicht, dass Sie rechtlich oder moralisch verpflichtet sind, es zu übergeben. Natürlich können Sie es nicht verkaufen oder an eine andere Partei weitergeben.
Ich würde ihnen den Code nicht aufgrund einer schwachen Trennung geben. Es ist ihnen leicht 1 Jahr Abfindung wert, aber was ist, wenn sie dich angreifen, anstatt zu zahlen? Es ist eindeutig ein schlecht geführtes Unternehmen - ich würde mich nicht auf rationale Entscheidungen verlassen.
Mein Rat wäre, halte dich da raus und misch dich nicht ein. Es ist sehr unwahrscheinlich, dass Sie irgendeine Art von Belohnung (verlängerter Job, Bonus usw.) erhalten, wenn Sie die Dateien, die Sie haben, übergeben.
Darüber hinaus werden die Manager, die für die Aufbewahrung von Backups verantwortlich waren (oder für die Personen, deren Aufgabe es war, Backups zu erstellen), mit Sicherheit nach einem Sündenbock suchen, um sich selbst zu retten. Wenn Sie mit den Dateien auftauchen, können Sie leicht zum Sündenbock gemacht werden - Sie haben wirklich keine Möglichkeit zu beweisen, dass Sie die Sabotage nicht verursacht haben, wenn die Netzwerkaufzeichnungen so dürftig sind, wie Sie sagen.
In deiner Situation würde ich die Akten löschen, die letzten 6 Wochen abarbeiten und mir in der Zwischenzeit einen anderen Job suchen. Sie können (und sollten es nicht einmal versuchen) den Code an jemand anderen verkaufen – das wäre illegal und unethisch.
Man könnte argumentieren, dass es unethisch ist, die Akten nicht auszuhändigen. Ich stimme dieser Aussage zu, aber wenn Sie den ethischen Weg gehen, gibt es nichts, was Sie vor dem Unternehmen schützen wird, wenn einer oder mehrere Manager beschließen, Ihnen die Schuld zu geben. Das Unternehmen wird die Ressourcen für einen langen Rechtsstreit haben, den Sie am Ende gewinnen können oder auch nicht. In der Zwischenzeit werden Sie jedoch sicherlich viel Geld verlieren, wenn dieses Szenario Wirklichkeit wird.
Ihre ursprüngliche Frage Wie kann ich von einer Unternehmenskatastrophe profitieren? entlarvt Sie als unehrlich mit Hintergedanken. Es ist unethisch, während einer Unternehmenskatastrophe wie in diesem Szenario persönlich zu wachsen.
Ihr Update macht meinen Standpunkt strittig, aber ich werde dies trotzdem posten, um meinen Standpunkt zu verdeutlichen - dass Sie die Hauptstraße nehmen sollten, um der Firma den Code zu geben , von dem Sie dachten, dass Sie ihn hätten (von dem Sie jetzt wissen, dass Sie ihn nicht hatten).
Wie in Option 1 in @AndreiRom answer und Option 2 in @Kilsi answer vorgeschlagen , sollten Sie in dieser Situation ehrlich sein. Ihr Unternehmen besitzt den Code und bis zum letzten Tag, an dem Sie aus der Tür gehen, sind Sie verpflichtet, im besten Interesse Ihres Arbeitgebers zu handeln.
Einige der anderen Antworten deuten darauf hin, dass Sie sich der Haftung aussetzen, indem Sie ihnen den Code geben. Wenn das Unternehmen hinter Ihnen her wäre, wäre dies eine irrationale Entscheidung seinerseits. Das Unternehmen hat ein Überlebensinteresse. Der OP hat seinem Arbeitgeber einen großen Gefallen getan, indem er dem Unternehmen den unveränderten Originalcode zur Verfügung gestellt hat. Wenn das Unternehmen rechtliche Schritte gegen das OP einleiten würde, würde es sich nur selbst schaden. Ohne die Hilfe des OP würde das Unternehmen höchstwahrscheinlich früher oder später scheitern.
Wenn ich der Eigentümer des Unternehmens wäre und jemand die Codebasis sabotiert, würde ich jede erdenkliche Hilfe bei der Wiederherstellung des Geschäftsbetriebs annehmen und erkennen , dass ich durch die Zusammenarbeit mit dem OP mein eigenes Überleben sicherstelle.
Der rechtliche Weg ist einfach: Sie werden weiterhin bezahlt und müssen in diesen 6 Wochen im Interesse des Unternehmens handeln. Ich brauche Ihnen nicht zu sagen, was diese Route ist, oder?
Mein Lob an den Entwickler, der diese Änderungen an den entscheidenden 40.000 Zeilen des Quellcodes vorgenommen hat. Die Manager und Führungskräfte Ihres Unternehmens haben das und Schlimmeres verdient.
Mein Rat an Sie - schweigen Sie über den guten Quellcode, den Sie haben. Ihre Chefs werden definitiv vermuten, dass Sie es waren, der den Code absichtlich geändert hat, um von der Situation zu profitieren, und Sie in eine Menge rechtlicher Schwierigkeiten gebracht haben. Sie sind nicht verpflichtet, Ihrem Unternehmen zu helfen; lassen sie die manager und führungskräfte in ihrem eigenen saft schmoren.
Löschen Sie unwiederbringlich alle Kopien, die Sie vom guten Quellcode haben, bevor diese Änderungen vorgenommen wurden, von Ihren persönlichen Geräten (Geräte, die Ihnen gehören, nicht die Geräte des Unternehmens). Zerstören Sie alle USB-Sticks und am besten sogar Festplatten, die Sie besitzen, wo Sie den guten Quellcode gespeichert haben. Dies ist der Fall, wenn Ihre Chefs aus irgendeinem Grund beschließen, vor Gericht zu gehen und alle Computer aller Entwickler, einschließlich ihrer privaten Computer, vorzuladen und nach Beweisen zu suchen, um herauszufinden, wer dies getan hat. Wenn Sie keine Festplatten zerstören möchten, die Ihnen gehören, löschen Sie zumindest den guten Quellcode mit einer dieser Dateivernichtungsanwendungen, die mehrere Durchgänge durchführen und eine Datei mit Bitmustern überschreiben, um es noch schwieriger zu machen, sie einmal wiederherzustellen oder zu erkennen existierte.
Enderland
blankip
Wayne Werner
Wolke
Grimm Der Opiner
Wolke
Grimm Der Opiner
...destroyed unintended backups
, wow, daran habe ich nicht gedacht. Ich nahm die Aussage, dass sie sie „eigentlich nicht hatten“, für bare Münze. Jetzt sehe ich sie entspannt in einem Bürostuhl sitzen und es ihrem Management mitteilen, während sich ein fast unmerkliches Zucken in einem ihrer Mundwinkel bewegt!Wolke
Anzeigename