morfizm (morfizm) wrote,
morfizm
morfizm

О работе

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

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

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

Простое задание состояло в том, чтобы подготовить файлы и инструкции для установки одного из наших сервисов в компьютерный центр. Этими инструкциями воспользуются операторы центра. У нас было несколько примеров выполненной похожей работы, их можно было взять за основу. Я совершенно не знал топологию компьютерного центра, смысл настроек и необходимый порядок действий. У нас было несколько человек, которые уже делали эту работу, я мог обращаться к ним с вопросами. К одному из них я несколько раз обращался за подробными объяснениями, суммарно провёл с ним около двух часов. Второму я слал два длинных письма с вопросами, и он мне построчно отвечал. Обращаться к ним ещё чаще означало, по сути, позволить им выполнить всю работу самостоятельно, поэтому я пытался хоть что-то сделать сам, и встречал огромное внутреннее сопротивление. Я часто проверял почту и отвлекался по любому поводу. Всё, что меня окружало, казалось мне ярким, живым и манящим, по сравнению с этой работой. Больших трудов мне стоило сохранять концентрацию на задаче. Я тупо заставляя себя делать строчку за строчкой.

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

Сложное задание отличалось от простого практически во всём. Начну с того, что я его сам выбрал. Я выяснил список потенциальных задач задолго до официальной "раздачи", провёл несколько часов за внимательным изучением этого списка, выписал все задачи-кандидаты. Большинство задач, которые я выбрал, были добавлены в список нашим архитектором. После этого я пошёл к нему и попросил рассказать об этих задачах поподробнее. Мне хотелось точнее знать, что из себя представляют эти задачи, чтобы сделать ещё более правильный выбор. Также я разузнал, какие из этих задач по его мнению по зубам именно мне. Кроме того, я сказал, что мне вообще интересно поподробней узнать, как всё работает в этой области (по которой задачи). Архитектор объяснил мне кратко и предложил мне приходить за подробными объяснениями по мере необходимости.

Во время "раздачи" я вовремя успел сказать, что заинтересован в двух из трёх задач-кандидатов. Первую я прошляпил, но, наверное, это хорошо, потому что первая была проще. На следующий день архитектор сказал, что собирается объяснять ту часть системы, которая меня интересует, нашему стажёру, и я мог бы присоединиться. Я незамедлил воспользоваться предложением и прослушал интересную трёхчасовую лекцию, делая заметки, выстраивая в голове стройную систему и параллельно обдумывая, как в эту систему вписываются изменения, которые я собираюсь сделать. Это было в прошлую пятницу. В понедельник я делал простое задание, но в перерывах, когда гулял по коридору, обдумывал сложное. Во вторник утром я обдумывал задачу за рулём, пока ехал на работу. Мне приходили в голову разные потенциальные решения, и ход мыслей был примерно таким: я прокручивал разные тестовые случаи в голове, при этом некоторые решения совсем отбрасывая, а некоторые - уточняя и видоизменяя. Иногда я мысленно откладывал какую-то идею, иногда мысленно возвращался. Вообще мне нравятся размышления над SQL-кодом, потому что они богаты впечатлениями и хорошо развивают пространственное воображение. Последнее время я представляю себе JOIN двух таблиц в виде красивой анимации, в которой одни шарики приклеиваются к другим. Приехав на работу, у меня уже есть намётки решения, которое хочется сесть и немедленно запрограммировать. Как только я показываю первые признаки усталости, что обычно происходит, поработав где-то с часик, я прерываюсь и иду гулять по коридору, при этом либо полностью очищая мозг от мыслей и расслабляясь, либо продолжая думать над задачей (но это обычно само происходит, я специально не напрягаюсь). Возвращаясь мне опять хочется что-то попробовать, меня "втягивает" в работу. Даже если я по привычке отвлекусь проверить почту, желание поработать переманивает меня и заставляет закрыть Outlook...

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

В предыдущей группе мне за два с половиной года мне так и не удалось достаточно хорошо изучить какую-то одну область, так чтобы я выполнял в ней задания существенно быстрей среднего. Для меня практически все задания были "плавание с закрытыми глазами". В этой группе всего за полгода уже наклёвываются возможности для специализации (отчасти потому, что я стратегически выбрал группу, в которой размер существующего кода небольшой). Это придаёт оптимизма.
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 8 comments