Как бороться с кем-то, полностью разрушающим проект?

Для компании, в которой я сейчас работаю, я написал быстрый прототип, чтобы добавить кое-что для мгновенного мессенджера. Поскольку у него не было публичных API-интерфейсов, мне приходилось работать с очень низким уровнем, используя как C, так и встроенную сборку. Он взаимодействует с недокументированной DLL, которая довольно разборчива по поводу ввода данных, и хотя я много разбирался в ней, есть еще некоторые концепции, которые я не совсем понимаю.

Недавно была выпущена новая версия IM-приложения и сильно изменилась во внутренней библиотеке (как и следовало ожидать). Естественно, я принял некоторые меры предосторожности для таких изменений, но они сделали одно огромное изменение, которого я не ожидал. Фиксация этого прототипа, вероятно, займет около недели и, вероятно, займет почти полную переписку. Проблема в том, что я болота. Мой контракт работает еще месяц, и они ожидают, что я закончу еще два небольших проекта до этого времени, и я не уверен, что сделаю это.

Естественно, мой босс хочет попробовать, но он полностью подчинен. Он не знает о C или ASM, никогда не разбирал ничего, и только на самом деле имеет опыт работы с С# и (утверждает) SQL. В прошлом он делал код C, но основная причина, по которой они меня использовали для этого, в основном заключалась в том, что их низкоуровневый код разбился... много...

Как я должен справиться с этим? Я потратил около часа, пытаясь объяснить ему прототип, но у меня такое ощущение, что он не понимает этого. Мне кажется, что у меня есть только три варианта, ни один из которых не звучит очень привлекательно:

  • Не вмешивайся вообще, что, вероятно, приведет к его неудаче проекта или доставит то, что будет наполнено утечками памяти (помните: это то, что работает в процессе с программой обмена мгновенными сообщениями, если оно сбой, IM-приложение идет с ним). Еще один недостаток этого заключается в том, что он, вероятно, задаст мне * много вопросов, оставив меня от моей собственной работы.
  • Постарайтесь втиснуть проект в мой уже ограниченный график: не очень хорошо подходит для моих уровней стресса.
  • Держите его за руку, надеясь, что он научится этому (вероятно, потребуется больше времени, чем делать это сам).

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

Ответ 1

Прекратите заботу. Я знаю, что это тяжелая причина, по сути, мы заканчиваем "младенцами", когда мы создаем или серьезно исправляем код и можем начать отцовское отношение к состоянию этого программного обеспечения.

Однако посмотрите на этого ребенка. Это обратный ребенок-ублюдок, который никогда не должен был и требовался и будет продолжать требовать огромного объема обслуживания из-за его природы (как незарегистрированного подключения).

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

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

Ответ 2

В ситуации без выигрыша вам следует err на стороне личных интересов.

Ответ 3

Не запугивайте в недостижимые сроки.

Вы, очевидно, хорошо разбираетесь в проблемах. Поместите их в адрес электронной почты своему боссу. Также было бы хорошо сказать, каково ваше предпочтительное решение. Предположим, что на данный момент это еще 6-месячный контракт, в котором вы правильно выполняете работу.

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

Только мои $0,02.

Ответ 4

Человеческие проблемы настолько сложны.

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

Ответ 5

Я бы рекомендовал, чтобы они не устанавливали обновление в IM, если они хотят продолжить использование "prototype".

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

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

Ответ 6

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

Ответ 7

Повторите за мной:

Проект не мой ребенок.

@Quarrelsome сказал, что остальная часть этого сообщения будет намного лучше, чем я могу.

Ответ 8

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

Контракты интересны. Если я сотрудник, то я работаю с моими выделенными часами и делаю все возможное, не нажимая себя.

Если я непосредственно заключен контракт, я обещал X в этот крайний срок, я недоволен, я должен это сделать.

Надеюсь, я немного помогу. Извините, что вы в такой ситуации обломки.

Ответ 9

Все о том, как научиться управлять своим менеджером, устанавливать ожидания и контролировать восприятие.

1) Убедитесь, что ваш босс точно знает, что это такое: ужасный взлом. Объясните все причины, по которым это недостижимо, и какие-то проблемы, связанные с этим, продолжаются.

2) Будьте честны с вашим начальником о его поддержании. Объясните, что для этого требуется много знаний о программировании, и один неправильный ход может привести к тому, что все это будет нестабильным и непригодным для использования. И что вы обеспокоены тем, что это будет огромным временем для вас обоих.

3) В худшем случае - он идет вперед и взламывает его - когда он нападает на вас за помощью, сделайте ему выбор между скользящим графиком того, над чем вы сейчас работаете и помогаете ему с Франкенштейном. Скажите: "Да, я был бы рад помочь вам, но это подтолкнуло бы то, на что я работаю xyz, время. Это то, что вы хотите?" Сообщайте, что любое проскальзывание графика было результатом того, что он просил вас работать над этим другим материалом.

Ответ 10

Ваш босс не вариант, вы знаете причины, по которым вы их записывали.

Я бы сказал, что не использовал новую версию приложения IM, но отправлял вашу систему со старой версией вовремя, не делая дополнительной работы. Изменения в базовой инфраструктуре звучат слишком массивно. Это всего лишь прототип, не делайте больше, чем нужно. Если клиент хочет выполнить полную реализацию вперед на основе прототипа, хорошо, дайте разумную цитату и действительно свяжитесь с самой компанией приложений IM и спросите о стабильных API для ваших нужд.