Я ищу совета о том, как справиться с возможностью высокого риска.
Моему работодателю недавно пришлось уволить сотрудников из-за изменения базовых технологий, используемых в его продуктах (например, переход с C на C++, переход с CVS на GIT и т. д.). По какой-то глупой причине они настаивали на том, что большинству разработчиков будет дано уведомление только за 3 месяца, но на самом деле им придется работать, а не получать выплаты за 3 месяца. Один из уволенных старших парней получил приличную выплату за 5 месяцев, в то время как остальным приходится работать на работе, которую мы теперь ненавидим, а некоторым из моих коллег фактически приходится обучать низкооплачиваемую замену.
Итак, все ведут себя менее чем уступчиво, цепляются за словесные языковые барьеры и т. д. Однако я нахожусь в очень уникальной ситуации. Я работаю еще около 6 недель, прежде чем мне придется сдать ключ-карту, и ищу новую работу. Из-за некачественной ИТ-политики все разработчики имеют доступ к одному и тому же мастер-паролю для наших серверов данных и версий. Один айтишник (к счастью, не я) решил сделать что-то очень подлое: он перенес репозиторий CVS со всем нашим кодом в GIT, но только версию HEAD, и копий серверных данных из старого CVS не найдено. сервер.
Код отлично строится с новым сервером GIT, поэтому мы думали, что все в порядке. Неправильный! Мы проверили последнюю копию ключевого фрагмента кода (40 000 строк), от которого зависят наши продукты. Кто-то (мы не можем определить кого, поскольку кажется, что журналы аренды DHCP и «последние» журналы SSH не уходят достаточно далеко назад, для этого использовалась учетная запись пользователя «admin»), а кто-то прогнал это через парсер, который:
Примером может быть:
#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;
}
Помните, это было сделано для примерно 40 000 строк кода в сотнях файлов.
Никто этого не заметил, потому что задания автоматической сборки просто продолжали работать нормально. Теперь, когда нужно что-то менять, мы почти без весла идем вверх по реке. Я и несколько других разработчиков знаем большую часть этого кода, написав его, но было бы огромной задачей исправить этот беспорядок, чтобы его можно было использовать хотя бы до такой степени, что мы могли бы вносить улучшения, поддерживать новые продукты с его помощью. и т. д. Менеджмент в ярости, и один из менеджеров по программному обеспечению буквально разбросал вещи по своему офису в ярости, когда они обнаружили, что резервные копии не могут быть найдены. У них есть резервные копии с привязкой ко времени, но кажется, что это изменение было внесено несколько недель назад, так что самая старая резервная копия — это тоже мусорный код.
Около полугода назад я работал удаленно из дома. Компания поощряет нас использовать дополнительное время через VPN, но это не считается «рабочим временем». По сути, это способ получить от нас дополнительную работу после 17:00 бесплатно. Не существует политики против использования персональных вычислительных ресурсов для выполнения работы. У меня есть копия кодовой базы до SNAFU.
Условия на рабочем месте не самые лучшие, но мне платят НАМНОГО больше, чем я мог бы заработать в другом месте. Когда меня отпустят через 6 недель, будет очень тяжело платить ипотеку и содержать семью, но мы выживем. Могу ли я как-то извлечь из этого выгоду? Я продумывал следующие сценарии, и мне нужен совет, какой маршрут выбрать. Имейте в виду, что я на 100% честен, когда заявляю, что я НЕ был тем человеком, который саботировал кодовую базу:
Я не считаю своим долгом бесплатно предоставлять код компании. Я не ИТ-поддержка и не несу ответственности за то, что они не знают, как проводить резервное тестирование. Кроме того, мне не нравится помогать обучать людей, которые заменят меня и моих друзей. Я хочу извлечь выгоду из этой ситуации, поэтому я не копаюсь в своих сбережениях, чтобы платить по ипотеке, пока я ищу работу, и я не хочу, чтобы владельцы заподозрили, что это я виноват, и не придут за мной с адвокатами, сжигая мои сбережения. даже быстрее.
Есть ли какие-нибудь законные пути, по которым я могу процветать после этой полной катастрофы?
Оказывается, я ошибся. У меня никогда не было копии кода.
Кричащего менеджера уволили, так что хоть что-то из этого вышло.
Всех нас по уведомлению вызвали в комнату для совещаний с техническим директором и главой юридической команды, и они изложили всю историю, которую я только что описал, и в ясных словах сказали: «Ты, маленький паразитический гребаный ***». *wads ... мы знаем, что это был один из вас», и потребовал от всех нас подписать письменное соглашение, в котором отмечалось, что мы не принимали участия во всем этом, с юридическим пунктом внизу, дающим им право проверять наш личный адрес электронной почты, чтобы подтвердить это.
Один из старших разработчиков сказал всем ничего не подписывать, так как это не принесет нам никакой пользы. Никто ничего не подписывал.
Я просто буду держаться подальше от этого и проживу следующие 6 недель с улыбкой на лице. Извините за несколько учетных записей, пытаясь защитить мою конфиденциальность.
И нет, Джейк/Джейкоб не мое настоящее имя.
Во-первых, вот «hello world», зашифрованное паролем, который я использовал в последних нескольких одноразовых учетных записях электронной почты. Передайте его openssl enc -d -a -aes-256-cbc
с паролем моей учетной записи для этой учетной записи и двух предыдущих для доказательства.
U2FsdGVkX1/Q0Xq+Ium6X5BxoZ7ZhhpLtz7ltU+/WrM=
Как бы то ни было, сегодня было безумие. Какой-то сумасшедший из команды нашел этот пост и поделился им с командой. Конечно, временный менеджер по программному обеспечению увидел это. Что ж, кто-то отправил электронное письмо руководству с требованием оплаты в биткойнах. Не знаю, есть ли у них код или нет. Насколько нам известно, это тролль, который зашел слишком далеко.
Спасибо за дельный совет. Держитесь подальше от этого. Я до сих пор удивляюсь, что они просто не заплатили разработчикам и не отправили их паковать вещи, а не заставили группу злобных разработчиков обучать их замену.
И в адрес одного из комментариев: да, это "зарплатный свал". Разработчики C также свободно владеют C++, а также CVS, SVN, git, mercurial и т. д.
Да, я думал, что у меня есть копия кода, но я ошибался. Это был отдельный проект, в который не вносились изменения, да это и не важно. Я решил бросить сегодня и просто очистил свой личный жесткий диск дома. Задача решена.
Это не то решение, на обдумывание которого вы хотите потратить много времени: чем дольше вы будете действовать, тем более подозрительным оно будет выглядеть, когда вы, в конце концов, выйдете вперед.
Я действительно вижу три варианта:
1. Честность
В этой ситуации вы - в некоторой степени - отдаете себя на милость этой компании, а также рассчитываете на их щедрость, что может быть... глупо.
Вы идете к своему начальнику и говорите:
Послушайте, я работал из дома 8 месяцев назад, и на моей личной машине стоит более старая версия программы. Вот USB с ним, он твой.
Если этот человек порядочный человек, он поблагодарит вас от всего сердца и предложит награду. Вы могли бы потенциально попросить один на этом этапе.
Я знаю, что вы, ребята, отпускаете нас всех, но если бы вы предложили мне премию за вашу помощь, я бы не отказался. Хорошего дня.
Вы сохраняете свое достоинство и занимаете высокие моральные позиции.
2. Оставайтесь в безопасности
Если вы имеете дело с мстительными, иррациональными и неприятными людьми, просто молчите . Если вы подозреваете, что любая попытка помочь им закончится тем, что вас обвинят в заговоре против них, то вам лучше просто уйти через 6 недель и умыть руки.
Однако в этот момент компания , вероятно , обанкротится, и многие люди потеряют работу. На самом деле это не на вас, но вы можете что-то с этим сделать.
3. Анонимность
Поместите код на USB-накопитель и напечатайте анонимную заметку, в которой говорится:
У меня был этот код на личном ноутбуке из-за работы над ним из дома. Я никоим образом не хочу вмешиваться в эту ситуацию, поэтому, пожалуйста, примите ее анонимно. Это немного старше, но лучше, чем ничего. Удачи!
Затем вложите их обоих в конверт и оставьте на лобовом стекле у менеджера или в любом другом месте, где они будут найдены, но не будут отслежены до вас.
Вывод
Честно говоря, я не думаю, что вы можете использовать ситуацию, чтобы заставить их дать вам работу. Если вы решите попытаться обмануть их, позволив вам «перестроить» код, то рано или поздно они просто придут к выводу, что вы саботировали проект именно для этой цели.
Лучше обойтись без этой особой головной боли.
Как оплачиваемый сотрудник, вы обязаны предоставить им этот код, который в первую очередь принадлежит им.
Не стоит даже начинать рассматривать другие альтернативы. Это их. Они платят вам. Дать им.
Если они когда-нибудь узнают, что вы скрывали их, когда знали, что они этого хотят, у вас могут быть большие проблемы с законом. Я не юрист. Вероятно, стоит немного денег обсудить вашу ситуацию с юристом, чтобы получить юридическую консультацию.
Если вас поощряли работать из дома на собственном оборудовании, они должны были опросить вас и других людей, которые, возможно, сделали то же самое, если у вас есть копии — если они ценят эти копии.
Возможно, копии слишком старые. Возможно, у них есть известные копии, которые еще более актуальны, о которых они не говорят, но которые они не хотят использовать.
Вероятно, здесь происходит какая-то извращенная политическая ерунда, в которую вы не посвящены. Будьте деликатны. Но узнайте, чего они хотят.
Если они этого хотят, дайте им это. Ты будешь героем. Поговорите с юристом. Удачи.
Вы не упомянули об этом, но CVS не является распределенным контролем версий, как git. Возможно, они предположили, что у вас не должно быть полной копии репо. Определенно пора поговорить с адвокатом.
Оказывается, я ошибся. У меня никогда не было копии кода.
Интересно, почему ты так думал. Возможно, вы думали, что CVS работает как распределенная система, с которой вы могли быть знакомы. Я разочарован вашим желанием воспользоваться бесхозяйственностью фирмы, используя в качестве разменной монеты то, что у них уже есть.
Компания владеет кодом. Любые попытки продать им собственный код закончатся плачевно.
Когда вас увольняют, все трудовые договоры, которые у меня были, требовали, чтобы я уничтожил любые копии кода или вообще любые документы компании, которые у меня могли быть. И это то, что вам нужно сделать. Если вас уведомили и вы знаете, что вас уволят, вы можете прямо сейчас приступить к уборке того, что у вас есть.
Вы можете посмотреть, насколько хорошо они справляются в будущем, и получить от этого некоторое удовольствие.
PS После вашего обновления: Итак, технический директор выдвигал ложные обвинения против почти всех разработчиков и оскорблял их всех одновременно. Что ж, это поможет. Какой идиот. (Почему я говорю «какой идиот»? Если код был удален, это не поможет. Но если у кого-то еще дома была копия, как вы думали, что у вас есть, или если преступник сохранил копию, что не маловероятно, был бы небольшой шанс вернуть код, но своим глупым поведением он уничтожил эту возможность). Поздравляем, у вас есть один старший разработчик, который сохранил хладнокровие и дал вам правильный совет.
Честно говоря, я бы сказал, что лучший вариант для вас - оставить все в покое и уйти.
Они действовали недобросовестно, но не опускались до их уровня. Такое ощущение, что они тонущий корабль. Отступите и дайте им утонуть
Не упоминайте код, НИКОГДА. Если вы его предъявите, они, скорее всего, заподозрят, что вы были первоначальным вандалом и уничтожили код, чтобы вы могли шантажировать их копией, которую вы сохранили.
Для меня было бы только два варианта.
Ничего с этим не делать и пусть варятся в своей каше. (Вряд ли я сделал бы это, но думаю, если бы я был достаточно недоволен, я бы мог) В этом случае я бы удалил их файлы со своей машины.
Во-вторых, дайте им копию кода.
Все остальное, что вы предлагаете, в лучшем случае аморально и, вероятно, незаконно, если вас когда-нибудь узнают, потому что это искажает правду.
Если бы вы попытались продать им их собственный код любым замысловатым способом, который вы придумали, вероятно, подумали бы, что вы тот, кто саботировал вещи в первую очередь. Вы говорите, что вы на 100% честны, но весь тон вашего вопроса зависит от отсутствия этики и личной честности.
В первую очередь виновата компания
То, что у вас есть, ценно для компании, и я не думаю, что у вас есть юридические или моральные обязательства передавать это. Конечно, вы не можете продать его или передать другому лицу.
Я бы не дал им код на основе слабого разрыва. Для них это легко стоит 1 года выходного пособия, но что, если они придут к вам, а не заплатят? Это явно плохо управляемая компания - я бы не стал рассчитывать на рациональные решения.
Мой совет: держитесь подальше от этого и ни в коем случае не вмешивайтесь. Крайне маловероятно, что вы сможете получить какое-либо вознаграждение (дополнительную работу, премию и т. д.), если передадите файлы, которые у вас есть.
Кроме того, менеджеры, ответственные за хранение резервных копий (или люди, чья работа заключалась в создании резервных копий), наверняка будут искать козла отпущения, чтобы спасти себя. Если вы появитесь с файлами, вас легко могут сделать козлом отпущения — у вас действительно нет способа доказать, что вы не являлись причиной саботажа, если сетевые записи настолько скудны, как вы говорите.
В вашей ситуации я бы удалил файлы, отработал бы последние 6 недель и тем временем поискал бы другую работу. Вы не можете (и даже не должны пытаться) продавать код кому-то еще — это было бы незаконно и неэтично.
Можно возразить, что не передавать файлы неэтично. Я согласен с этим утверждением, но если вы пойдете по этичному пути, ничто не защитит вас от компании, если один или несколько менеджеров решат обвинить вас. У компании будут ресурсы для долгой судебной тяжбы, в которой вы можете выиграть или не выиграть в конце. Тем временем вы наверняка потеряете много денег, если этот сценарий станет реальностью.
Ваш первоначальный вопрос Как я могу извлечь выгоду из катастрофы компании? разоблачает вас как нечестных со скрытыми мотивами. Неэтично добиваться личного процветания во время катастрофы компании, как в этом сценарии.
Ваше обновление делает мою точку зрения спорной, но я все равно опубликую это, чтобы подчеркнуть свою точку зрения : вы должны пойти по пути и предоставить компании код , который, как вы думали, у вас был (которого, как вы теперь знаете, у вас не было).
Как следует из варианта № 1 в ответе @AndreiRom и варианта 2 в ответе @Kilsi , в этой ситуации вы должны быть честными. Код принадлежит вашей компании, и до последнего дня, когда вы выходите за дверь, вы обязаны действовать в интересах своего работодателя.
Некоторые другие ответы предполагают, что, давая им код, вы подвергаете себя ответственности. Если бы компания преследовала вас, это было бы иррациональным решением с их стороны. Компания заинтересована в выживании. ОП, предоставив компании исходный неизмененный код, оказал огромную услугу своему работодателю. Чтобы компания подала в суд на OP, они только навредили бы себе. Без помощи ОП компания, скорее всего, рано или поздно потерпит крах.
Если бы я был владельцем компании, и кто-то саботировал кодовую базу, я бы с благодарностью принял любую возможную помощь в восстановлении бизнес-операций и признал бы , сотрудничая с ОП, что я обеспечиваю собственное выживание.
Законный путь прост: вам все равно платят, и в течение этих 6 недель вы должны действовать в интересах компании. Мне не нужно говорить вам, что это за маршрут, не так ли?
Мое почтение разработчику, внесшему эти изменения в важнейшие 40 000 строк исходного кода. Менеджеры и руководители вашей компании заслуживают этого и того хуже.
Мой вам совет - молчите о хороших исходниках, которые у вас есть. Ваше начальство наверняка заподозрит, что это вы намеренно изменили код, чтобы извлечь выгоду из ситуации, и навлекли на себя массу юридических проблем. Вы не обязаны помогать своей компании; пусть менеджеры и руководители варятся в собственном соку.
Безвозвратно сотрите все имеющиеся у вас копии исходного кода до внесения этих изменений с ваших личных устройств (устройств, которыми вы владеете, а не устройств компании). Уничтожьте любые флэш-накопители и, желательно, даже жесткие диски, которыми вы владеете, где вы сохранили хороший исходный код. Это на тот случай, если ваше начальство решит обратиться в суд по какой-либо причине и потребовать, чтобы все компьютеры всех разработчиков, включая их персональные компьютеры, были привлечены к уголовной ответственности и искали доказательства, чтобы выяснить, кто это сделал. Если вы не хотите уничтожать принадлежащие вам жесткие диски, по крайней мере удалите хороший исходный код с помощью одного из тех приложений для уничтожения файлов, которые делают многократные проходы и перезаписывают файл битовыми шаблонами, чтобы сделать их еще более трудными для восстановления или обнаружения. существовал.
край
бланк
Уэйн Вернер
Облако
Гримм The Opiner
Облако
Гримм The Opiner
...destroyed unintended backups
, вау, я об этом не подумал. Я принял за чистую монету заявление о том, что у них их «в конце концов не было». Теперь я могу видеть их, расслабленно сидящих в офисном кресле, рассказывающих своему руководству, в то время как уголок их рта почти незаметно дергается!Облако
Показать имя