В последний день менеджер внес изменения в программу, которые сломали ее, и хочет, чтобы я вернулся, чтобы исправить это [закрыто]

Я только что закончил 5-месячный контракт, по которому меня наняли в качестве программы для создания программы. Программа является частью большого проекта. В мой последний день, когда я все сдавал, мой босс попросил меня показать ему некоторые результаты программы. Он не очень технарь (по крайней мере, когда дело касается программирования) и почти никогда не проверял мою работу. Он заметил некоторые упущения/ошибки в выводе и заставил меня изменить код. Конечно, это сломало программу. Конечно, я не мог вернуть его в пригодное для использования состояние. У меня была резервная копия, но мой босс сказал, что она устарела. Я чувствую себя плохо из-за того, что не сделал более свежую резервную копию. Теперь мой босс хочет, чтобы я пришел в другой день, чтобы покончить с этим. Мне бы за это не заплатили, и это скорее услуга.

Резюме:

  • Мой менеджер собрал все результаты в последний день
  • Мой менеджер заставил меня изменить что-то, что сломало программу, когда я уходил.
  • Я задержался, чтобы исправить это, но я устал и расстроился, и мне нужно было остановиться.
  • Я вернулся к старой версии, но она была довольно старой, и моему менеджеру она не понравилась.
  • Мой менеджер хочет, чтобы я пришел на следующей неделе, чтобы исправить это.
  • Мне бы не заплатили, но я в порядке с этим
  • Мой менеджер занимается микроуправлением, всегда копается и портит то, что я делаю.
  • в здании, в котором я работал, относительно строгая охрана, и мне, вероятно, придется заполнить документы, чтобы вернуться в здание.
  • мой менеджер плохо общается
  • другие люди, которые работают с моим менеджером, думают, что то, что он пытается сделать, — это безумие и крушение поезда (например, то, как он систематизирует данные).

Мои мысли что делать:

1) если я войду, у меня будет определенное время, когда я уйду, несмотря ни на что. Например если я решу зайти на 8 часов, то сделаю бекап всего, потом через 8 часов сделаю даже если программа в худшем состоянии чем когда запускал.

2) Я хотел бы поговорить с менеджером моего менеджера, так как я могу лучше общаться с ним. Я собираюсь поставить ультиматум, что я буду приходить только тогда, когда моего менеджера нет, так как он склонен к микроуправлению, что приводит к поломке вещей. Я знаю, что когда он нервничает, он приходит каждые 20 минут, чтобы спросить, как у меня дела, и ковыряться, и это серьезно меня расстраивает. Как я могу заявить об этом дипломатично?

Любые другие требования, которые я должен запросить? Я также обеспокоен тем, что, когда я вернусь, ИТ-отдел отключит доступ к моей учетной записи. FWIW Я уверен, что смогу решить проблему с программой в спокойной обстановке за 1 или 2 часа.

ОБНОВЛЕНИЕ: Я позвонил менеджеру моего менеджера (мой менеджер сейчас в отпуске), и он сказал, что он предпочитает, чтобы я написал некоторую документацию относительно изменений и того, как это исправить.

Что касается контракта, то в нем четко сказано, в какие дни я приступил к работе, сколько часов в неделю отработано и сколько долларов за час я получаю. Ничего о продукте или результатах.

Что касается контроля версий: мне сказали не использовать его, хотя я делал инкрементальные резервные копии. Я вернулся к резервной копии, но мой менеджер сказал, что она устарела. Да, я понимаю, что должен был сделать еще одну резервную копию окончательного продукта, но я как раз передал все своему менеджеру и был «захвачен охраной», когда он внезапно заставил меня изменить исходный код.

последнее обновление: я вернулся. Исправлено. Теперь они хотят, чтобы я вернулся снова и сказал, что он не работает/они не знают, как его запустить. Я больше не вернусь.

На ум приходит слово нет. Но вопросы с просьбой принять решение за вас не по теме
@ReallyTiredOfThisGame Я стараюсь не формулировать это как просьбу о решении. Я спрашиваю, вернусь ли я назад, в каких условиях я должен предложить сделать этот переход как можно более легким?
Почему ваш код не был в системе контроля версий?
Да я вообще не знаю, как это вообще происходит.
@HLGEM менеджер сказал мне не использовать контроль версий. Вот что я имею в виду, что он микроуправляет, но не техничен.
@JoeStrazzere, можешь объяснить, что ты имеешь в виду? Программы редко бывают на 100% свободны от ошибок, и моя не была исключением, но она выдавала правильный вывод для большинства таблиц.
Если он сказал не использовать контроль версий, он сам несет ответственность за то, чтобы сделать свою собственную резервную копию, прежде чем вносить свои изменения. Вы не обязаны спасать его от нанесенной самому себе раны. Насколько он важен как референс, и улучшит ли это его спасение? Честно говоря, я думаю, что вы должны брать плату за консультации, даже если это «одолжение».
Даже если бы мой клиент сказал не использовать систему управления исходным кодом, для собственного здравомыслия и защиты я бы сделал что-нибудь, чтобы поставить контрольную точку и каким-то образом заархивировать код. Я делаю это даже для своих глупых домашних проектов. Это просто часть разработки.
«Мне сказали не использовать контроль версий». <-- Это утверждение не является оправданием для профессионала. Просто представьте, что вы профессиональный водитель, и ваш начальник говорит: «Не пристегивайтесь ремнем безопасности». Вы можете и должны по-прежнему использовать контроль версий на своем собственном компьютере для разработки, даже если компания не вкладывает средства в централизованную систему контроля версий.
@ Брэндин, это немного глупо - не пристегиваться ремнем безопасности незаконно, и все это знают. Кроме того, я использовал контроль версий, проблема заключалась в том, что я не сделал копию конечного продукта, так как думал, что в последний день ничего не изменится... в этом смысле я согласен, что это было недосмотром, но бесполезно плакать по этому поводу. сейчас.
Контроль версий работает следующим образом: когда вы получаете окончательный выпуск, вы фиксируете эту версию в системе управления версиями и помечаете ее как «0.1.0-rel» или что-то подобное. Если вы или ваш босс возитесь с ним в последний день и что-то ломаете, вы просто откатываетесь до 0.1.0-rel, чтобы получить предыдущую известную рабочую версию. Но похоже, что вы этого не сделали (т.е. вы не использовали контроль версий).
Если я неправильно понял историю, менеджер не внес изменений. Он запросил изменения в последний день, которые вы внесли в соответствии с просьбой. Как заявляли другие, вы ошиблись, не убедив менеджера использовать систему управления версиями. Я буквально не могу поверить, что вы работали 9 месяцев без регистрации, ни в «контроле версий», ни в «вот что у меня есть, это то, что вы имели в виду?» чувства. Тем не менее, для вас может быть законным или незаконным работать бесплатно, чтобы решить проблему.
Никогда не работайте бесплатно. Не твоя проблема.
@stannius это не моя работа говорить моему менеджеру, что он должен заставить меня сделать
Вам даже не нужен контроль исходного кода. На вашем компьютере щелкните папку, содержащую всю вашу работу, и выберите «дублировать» в меню. Введите дату, готово. Но, в конце концов, тот факт, что и менеджер, и разработчик вели себя довольно некомпетентно, ситуацию не меняет.
И правило: никогда, никогда не делай ничего, когда на тебя давят. Не за день до отпуска, и уж точно не за день до отъезда. Вы будете совершать ошибки, и здесь они были фатальными.

Ответы (3)

Ответ зависит от того, как составлен договор. Если это был контракт с фиксированной стоимостью, вам платят x за y результатов, тогда да, вам нужно устранять проблемы бесплатно, поскольку контракт не завершен.

Если бы контракт был контрактом на время и материалы, вам заплатили x за y количество времени, тогда вы могли бы взимать плату за дополнительное время.

Остальные факты вторичны по отношению к типу договора. Тот факт, что в коде все еще есть ошибки, является частью кодирования, если вы не будете дважды проверять требования, тогда все произойдет. Тот факт, что нет контроля версий, и поэтому дополнительные изменения нельзя легко отменить, является болью, и я уверен, что вы узнаете об этом в следующий раз.

В конце концов, все сводится к типу контракта и желанию снова работать с компанией. Иногда стоит проглотить день работы, чтобы получить еще 3 месяца, иначе вы можете не получить дополнительные 3 месяца.

Голосование за упоминание различных типов контрактов.
Это единственный ответственный ответ. Прочтите и поймите свой договор. Если вы выполняете работу вне контракта, вы теряете защиту контракта.
И заметьте, дополнительная работа будет выполняться по более высокой ставке в час :)

Как программист, которому платят за результат, вы несете ответственность за то, чтобы убедиться, что вы можете воспроизвести все результаты, за которые вам платят. Конечные результаты включают не только окончательное рабочее программное обеспечение, но и исходный код и все файлы сборки/создания, необходимые для создания окончательного рабочего программного обеспечения, а также для его развертывания, если вы пишете программное обеспечение для облачных вычислений.

Это может означать хранение ваших собственных резервных копий, а может означать сохранение исходного кода в системе контроля версий.

Поскольку вы не сохранили все результаты, правильно было бы сделать это правильно. То есть за свои деньги, без дополнительной компенсации, доставьте то, за что вам уже заплатили.

«Как программист, которому платят за результат». FWIW Мне платили по часам, и это четко указано в контракте.
Почасовая или по работе просто выставление счетов. Это не меняет обязанности по доставке полного пакета, как перечисляет @shoover.
Что еще более важно, никто не должен брать плату за программирование без надлежащего контроля версий.
@cdkMoose часть дела заключалась в том, что как только я закончил один модуль, мой босс дал мне требования для следующего. В этом смысле я никогда не знал, что такое «полный пакет».
@JonStory менеджер сказал не использовать контроль версий
@JimmyBauther, в конце каждого модуля вы должны были/могли каким-то образом заархивировать исходный код этого модуля. Тогда у вас будет «полный пакет» на тот момент времени.
Если он сказал не делать этого, то, честно говоря, это его беспорядок, и он должен как минимум заплатить вам, чтобы вы его исправили. Урок на следующий раз: используйте его в любом случае
Этот ответ может быть неверным, по крайней мере, в некоторых областях, в зависимости от обстоятельств, поскольку отработанные часы, даже для исправления ошибки, могут по-прежнему считаться отработанными часами, которые работодатель по закону обязан компенсировать. Я думаю, что это юридический вопрос, и следует проконсультироваться с местным юристом.
С почасовым контрактом я бы не вернулся исправлять ошибки. Однако отказ от сохранения вашего источника в системе контроля версий был серьезным упущением. Даже если система управления исходным кодом не предоставляется, вы должны запустить ее на своем рабочем столе. Учитывая, что вы выполнили работу, а затем «потеряли», я был бы склонен вернуться на день или два, чтобы разобраться во всем. И используйте контроль версий, даже если вам придется делать это самостоятельно.

Лично я бы сказал, что менеджер недостаточно справлялся, а не микроуправление. Нет никакого оправдания тому, что версия, которую вы поставили в последний день, не находится в каком-то виде системы контроля версий. Он должен был сильно обрушиться на вас с самого начала, если бы вы не использовали систему контроля версий должным образом. Он также должен был доставить код раньше, чтобы он мог проверить его до того, как вы уйдете.

Теперь вы получили дорогой урок о том, почему профессионалы всегда используют систему контроля версий и почему они выполняют то, что обещали. Итак, теперь да, вам нужно войти и исправить беспорядок, который вы (не менеджер, вы) создали, когда вносили на лету изменения в код, который не был в системе контроля версий.

Вы просите менеджера убедиться, что для вашего возвращения предусмотрены надлежащие меры безопасности.

Затем вы миритесь с тем, что он чувствует, что ему нужно работать с вами. Если он хочет повиснуть над вами, то не повезло. Смирись с этим. Будь взрослым. Вы можете вежливо попросить его дать вам пару часов, прежде чем вернуться, но если он этого не сделает, то хорошо, что нам всем пришлось мириться с вещами, которые не были нашими предпочтениями. Прямо сейчас вы хотите просто сделать это, чтобы вы могли двигаться дальше по жизни. Так что просто сделай это. Не устанавливайте пределов, например, вы дадите ему еще 8 часов и уйдете, даже если он все еще нарушен. Вы исправите свой беспорядок. Начните с создания версии текущего кода в системе контроля версий и часто проверяйте ее при внесении этих изменений. Однако вам нужно исправить только то, что в настоящее время сломано. Вам не нужно принимать и внедрять новые требования.

Хм. Да и нет. Любой компетентный менеджер должен был знать, что последнее изменение навлекает на себя неприятности; последние дни следует использовать для резервного копирования и документирования статуса. Я согласен с тем, что OP в любом случае должен был сделать резервную копию перед запуском этого изменения, локально, если не в sccs, но я действительно думаю, что это общая ответственность.
Этот ответ просто не имеет смысла для меня. Если ваш контракт закончился, возвращаться к работе и делать больше ни для кого не имеет смысла. Правильнее всего договориться о новом контракте, хотя бы на день или два.