Saturday, March 23, 2013

A ты умеешь нажимать на зелененькую стрелочку?

На одной из моих работ был у меня сотрудник, и даже совсем не важно какой внешний вид он имел, был стройным красавцeм или плюгавеньким штыбзикoм, а в том, что ты помнишь о нем.
Дело было в том, что вдруг нам пришлось пересечься в совместной работе над одним проектом. Он в этой технологии уже чуток поднаторел, но не особенно углублялся, а меня перекинули в этот проект для серьезных изменений. Это был чистой воды development, т.е. по-русски, писание кода. И еще страшнее: писание кода для mobile devices, что подразумевает специфические ограничения на операционную систему этого device, к-е в силу своей миниатюрности просто не имеют того об'ема памяти, как нормальные компьютеры, к к-м мы все, программисты, привыкли. Того там нет, это отсутствует, и практически никакой промежуточной диaгностики или debugging-a. Т.е. ощущение такое, как будто бы тебя отбросили на 20 лет назад в программировании.
В общем отлов своих собственных ошибок там значительно сложнее, и держится он в основном на догадках программистa.
Но так или иначе, не важно, в какой стране программисты живут, и на каком языке они говорят, а как бы везде принято, что если один программист передает то, что он понапрограммировал, другому, то он хоть немного, но все же рассказывает про свою работу тому, кто будет продолжать начатую работу.
Назовем нашего программиста Фредом, просто чтобы хоть как-то его называть.
Вот в назначенный час мы с ним встречаемся, он пролетает на ракете через архитектуру довольно сложного проекта и успешно приземляется на космодроме под названием "Я": "А я это сделал", "А я re-engineered that", "А я, а я, а я..." и т.д. Неожиданно на полуслове он вдруг подскакивает, прощается и выбегает.
Я покопалась-поковырялась, получается, что даже passwords, server names for source control у меня нет, а у него одного-то они и есть. Делать нечего - опять назначаю встречу с ним, втайне надеясь, что под этим предлогом смогу у него получить кое-какие сведения о том, как же этот проект построен, и с какой стороны мне надо начинать его обгрызать, чтобы затребованный кусок фунцкиональности туда пристроить, ничего в нем не порушив.
 Кино повторяется. Фредик нарисовывается, правда честно сдает пароли и адреса(явки серверов), взлетает опять ракетой, когда надо чегой-то поконкретней ответить про сей проект, притормаживает немного на его великом вкладе в эту систему, и опять смывается  быстрее, чем я успела переспросить какую-то мелочовку.
Как вы, конечно догадываетесь, никакой документации к тому проекту не имелось, а его создатель давно ушел из компании.
На третий раз я уже пошла в обход, и когда зазвала Фредика снова, то расставила кресла в офисе так, что просто для того, чтобы выскочить, он должен был бы попросить меня встать и выпустить его, ибо проход перекрыт. Ну, думаю, посмотрим, как он на сей раз выкрутится...
На этот раз вся встреча сосредодочилась на прослушивании его исключительных заслуг в работе над сим проектом, от ответов на вопросы он изворачивался весьма искусно, но видимо не желая больше подобных встреч и пошел конем: взял, и совсем не по-американски нагло спросил меня напрямую: а ты вообще умеешь нажимать на зелененькую стрелочку? Я опешила: Какую такую?
И он ткнул пальцем в моем открытом на тот момент VisualStudio на кнопку "Run", на к-ю программист жмет на дню по сотне раз, отлаживая свой код. Однако стрелочка по случаю имела темно-синий цвет.
Намек я поняла. Однако меня оскорбило, до какой степени это существо унизило меня, задав такой идиотский вопрос. Я с холодной яростью, но глубоко вздохнув, встала и сказала: Let me introduce myself, и вывалила на него весь арсенал своего опыта в программировании и тех технологий, которыми мне пришлось заниматься в своей профессиональной жизни, т.к. он ничего, кроме Microsoft .Net не знал. Cотрудник заглотнул слюну и выскользнул молча через освободившийся проход. Я больше ничего у него не спрашивала, ибо поняла, что такие все равно ничем с тобой не поделятся.
Однако я запомнила, что он жаловался, что он не мог пользоваться симулятором для отладки, потому что тот у него все время сваливался из-зa нехватки памяти, поэтому он вообще в потемках работал, ибо т.о. у него не оставалось вообще никаких средств для отладки. Начала я с того, что повозившись немного, реанимировала симулятор, т.к. без него никакой серьезной отладки и не сможешь сделать.
Что вам сказать? Начальник того проекта был далеко не самая приятная личность в работе. Сидел у меня буквально на голове, подгоняя, и весь тот проект буквально был обильно полит моими кровью и потом, пока я наконец не врубилась сама в очень изящно спроектированную иерахию классов. В общем дизайн был прекрасный в том проекте, и мне удалoсь где-то за 2.5 месяца что называется, и начать и кончить тот проект.
Вот я уже вылизываю последние мелочи, а тут у  моего офиса останавливается Фредик, и видимо хочется ему, чтобы я у него опять попросила помощи, а он бы опять мне бы ничего бы не ответил, но зато насладился бы своей значимостью. А я ему и говорю, мол помнишь, ты не мог работать с симулятором? А вот если тут и там поменяешь эти и те параметры, то после этого он у тебя будет всегда доступен.
Он побежал к себе, попробовал, и возвращается назад: работает! не сваливается! А зачем ты мне про это рассказала? Я бы ни за что не стал бы на твоем месте этого делать.

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