Для компании, в которой я сейчас работаю, я написал быстрый прототип, чтобы добавить кое-что для мгновенного мессенджера. Поскольку у него не было публичных API-интерфейсов, мне приходилось работать с очень низким уровнем, используя как C, так и встроенную сборку. Он взаимодействует с недокументированной DLL, которая довольно разборчива по поводу ввода данных, и хотя я много разбирался в ней, есть еще некоторые концепции, которые я не совсем понимаю.
Недавно была выпущена новая версия IM-приложения и сильно изменилась во внутренней библиотеке (как и следовало ожидать). Естественно, я принял некоторые меры предосторожности для таких изменений, но они сделали одно огромное изменение, которого я не ожидал. Фиксация этого прототипа, вероятно, займет около недели и, вероятно, займет почти полную переписку. Проблема в том, что я болота. Мой контракт работает еще месяц, и они ожидают, что я закончу еще два небольших проекта до этого времени, и я не уверен, что сделаю это.
Естественно, мой босс хочет попробовать, но он полностью подчинен. Он не знает о C или ASM, никогда не разбирал ничего, и только на самом деле имеет опыт работы с С# и (утверждает) SQL. В прошлом он делал код C, но основная причина, по которой они меня использовали для этого, в основном заключалась в том, что их низкоуровневый код разбился... много...
Как я должен справиться с этим? Я потратил около часа, пытаясь объяснить ему прототип, но у меня такое ощущение, что он не понимает этого. Мне кажется, что у меня есть только три варианта, ни один из которых не звучит очень привлекательно:
- Не вмешивайся вообще, что, вероятно, приведет к его неудаче проекта или доставит то, что будет наполнено утечками памяти (помните: это то, что работает в процессе с программой обмена мгновенными сообщениями, если оно сбой, IM-приложение идет с ним). Еще один недостаток этого заключается в том, что он, вероятно, задаст мне * много вопросов, оставив меня от моей собственной работы.
- Постарайтесь втиснуть проект в мой уже ограниченный график: не очень хорошо подходит для моих уровней стресса.
- Держите его за руку, надеясь, что он научится этому (вероятно, потребуется больше времени, чем делать это сам).
В принципе: я сейчас единственный в компании, который знает об этом. У меня нет времени самостоятельно работать над этим, и у меня нет времени обучать кого-то еще об этом. Очевидно, я не хочу покидать компанию с искаженным продуктом, но я также не очень люблю делать все-ночевки, чтобы спасти их от этого... (Я уже делаю больше часов, чем упоминалось в моем контракте, хотя мне платят ежемесячно)