Эксоцман
на главную поиск contacts

Профессия - IT-менеджер

Петр Прокунин, Начальник отдела разработки компании Wikimart
27.10.2010
«Зависимость между тем, что человек умеет и где учился – почти что нулевая. У нас в отделе успешно работают как те, кто окончил факультет вычислительной математики и кибернетики МГУ, так и ребята после колледжей, а один – вообще по образованию химик». 

— Петр, ваша должность – начальник отдела разработки. Кем вы себя считаете, программистом или менеджером?

— Мне приходится решать задачи, с одной стороны, непосредственно менеджерские, с другой – связанные с системной архитектурой.

Мы занимаемся сайтом. Wikimart – это довольно крупный мегамолл в Интернете, не магазин, а скорее ТЦ «Европейский», сами мы ничего не продаем, а лишь сводим вместе покупателей и продавцов.

Сайт как бизнес – структура довольно сложная. Самый простой его уровень связан непосредственно с «железом» – серверами, каналами связи, установкой программного обеспечения, и этими вопросами занимаются системные администраторы.

Есть уровень, связанный с бизнес-процессами, здесь работают бизнес-аналитики.

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

— Из чего складывается рабочий день ваш и ваших коллег? Пришли, сели за компьютер – и каждый сам по себе?

— Мы работаем по методологии Scrum – командами. В отделе 9 человек, они разбиты на 3 команды. Рабочий день начинается с обязательной для всех пятиминутки: члены каждой команды собираются и обсуждают три вопроса – что было сделано вчера, что будет сделано сегодня и есть ли какие-то препятствия в работе. После обмена информацией команды расходятся по рабочим местам и начинают работать над конкретными задачами.

— И задачи каждый день – новые?

— Есть трехнедельные планы работы... Вообще смысл системы Scrum в том, чтобы дать разработчикам максимальную свободу действий, а взамен получить от каждого нечто больше, чем просто рабочий день с 9.00 до 18.00. Вместо того, чтобы быть обыкновенным исполнителем воли заказчика, программист должен стать активным участником команды, где он может включаться и в процесс пересмотра требований, и в работу с архитектурой. Чем больше мы даем человеку свободы, тем активнее он участвует в общей работе, а главное – делает это добровольно и с желанием. Хотя это и требует особого подбора персонала.

— А что делаете именно вы? Вы в команде?

— Формально нет. Я выполняю функции координатора-руководителя. То есть я не раздаю директивных указаний, идеология Scrum подразумевает самоорганизацию внутри команд: чем меньше вмешиваешься в их текущие дела, тем лучше и продуктивнее работает команда.

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

Вот сейчас, к примеру, в текущем спринте (трехнедельный этап работ) производился полный редизайн оформления заказа. И так вышло, что программисты одной команды из-за несколько поспешных действий уничтожили часть кода другой команды – потому что, грубо говоря, две команды «сидели» в одном и том же файле. Такое бывает, когда перед нами стоит довольно крупная задача, для решения которой за три недели двум командам приходится параллельно работать над смежными участками функциональности. Этот процесс пришлось «разруливать» вручную – собираться командами, переключать одну из них на другие задачи…

— Согласно информации сайта вашей компании, для группы разработки «созданы особые условия»: в комнате поддерживается тишина, нет даже телефонных разговоров.

— Действительно, группе разработки выделено лучшее помещение: отдельно от специалистов call-центра, менеджеров. И у нас тихо. Когда работаешь с любой сложной системой, в голове надо удерживать информацию из многих смежных областей, постоянно что-то вспоминать, искать – в голове должна складываться «картинка». Если программиста оторвать от работы, то когда он вернется к ней, ему понадобится еще минут 20 для «разогрева», чтобы все вспомнить, восстановить в прежнем объеме и ничего не упустить.

— Но поговорить-то по телефону в течение дня вы можете?

— Ну да, вышел из комнаты и говори. Главное – коллегам не мешай.

— Когда набирали ребят в отдел, на что обращали внимание при собеседовании?

— Если честно, меньше всего – на диплом вуза и то, есть ли он у них вообще. Потому что мне стало ясно: зависимость между тем, что человек умеет и где он учился – почти нулевая. У нас в отделе успешно работают как те, кто окончил факультет вычислительной математики и кибернетики (ВМК) МГУ, так и ребята после колледжей, а один – вообще по образованию химик.

Естественно, если человек окончил МГУ, да еще с «красным» дипломом – это характеризует и его склад ума, и целеустремленность. Но еще не гарантирует, что он будет хорошим программистом.

— А что гарантирует?

— На собеседовании мы предлагали выполнить небольшое практическое задание – написать код. Оценивали качество кода и системность мышления. На устном собеседовании меня интересовало, что человек умеет. Вопросы задавали и базовые, и их круг был довольно широк – начиная от программирования и заканчивая базами данных.

— В таком случае как быть с тем, что общепризнано: в столице – сильные технические вузы…

— Я бы сказал, большинство выпускников того же ВМК МГУ, Бауманки – хорошие академические программисты.

Условно говоря, есть два уровня. Первый связан с понятием алгоритма: во всех технических вузах учат, как правильно писать алгоритмы. Второй – с понятием архитектуры: это глобальное виденье проекта – всего кода, базы данных, сопутствующих технологий. Грубо говоря, есть тактический, и есть стратегический уровни. Вот у нас неплохо готовят программистов-тактиков. Стратегом можно стать, лишь занимаясь самообразованием и приобретая опыт.

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

— А что потом? Как из программиста может вырасти IT-менеджер?

— Типичный карьерный путь веб-программиста выглядит следующим образом. Сначала человек заинтересовался Интернетом – захотел сделать себе домашнюю страничку. Когда понял, что втянулся и ему это нравится, у него обычно появляются знакомые с разными заказами.

Дальше есть два пути. Можно заняться фрилансом: писать на форумах – я такой-то программист, пишу программы под заказ. Либо пойти работать в компанию.

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

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

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

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

— Вы не так давно окончили вуз. Как приобретали опыт?

— Я работаю семь лет. Веб-программированием заинтересовался еще в 11-м классе. Если говорить о том, что я умею, 30 процентов всего –  это результат учебных вузовских курсов, 70 процентов – самообразование: чтение специализированной литературы, общение с коллегами по цеху в Интернете и самое главное – практика. Это была даже не работа под заказ, а выполнение каких-то тестовых работ: большей части того, что знаю, я научился, набивая синяки и шишки – пробуя это сделать. 

— Вот вы упомянули гуру... Для вас кто-то является таковым?

— Да. К примеру, к нам в компанию – спасибо руководству – недавно приходил самый известный, пожалуй, из программистов веб-разработки Дмитрий Котеров. Это знаковая фигура в российском Интернете, один из сооснователей сети «Мой круг».

Когда смотришь на таких людей, понимаешь, к чему можно стремиться и как расти: энциклопедический объем знаний и крайне быстрая реакция – мы задавали ему весьма специфические вопросы, ответы на которые не найдешь ни в книгах, ни в Интернете – и он давал ответы…

— На сайте вашей компании сказано: в команде не приживется тот, у кого нет своего мнения – или же экстремальный индивидуалист. Вам часто приходится проявлять гибкость и высказывать собственное мнение?..

— Ну, если общение в компании происходит на «ты» и генеральный директор может пойти на обед с младшим специалистом службы поддержки, чтобы выслушать от него feedback («обратную связь») – значит, да, нам надо постоянно проявлять гибкость и высказывать свое мнение. Причем всем – вне зависимости от должности.

Компания у нас – и это правда – замечательная, основана двумя ребятами, окончившими Стэнфорд. Люди пришли в Россию, чтобы делать бизнес в стиле fun.

— На сайте же значится: не стоит общаться к вам для трудоустройства тем, кто не хочет расти и ежедневно решать новые задачи. Задачи действительно каждый день новые?

— Новому человеку мы можем предложить задачи по всему спектру веб-программирования – начиная от работы с изображениям и заканчивая обработкой прайс-листов; от работы непосредственно с сайтом – до работы с базой данных. Спектр задач настолько широк, насколько это вообще возможно.

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

Отсутствие жесткой специализации дает хорошие результаты, позволяя маневрировать ресурсами.  

— А правда ли, что у вас работы много и график – ненормированный?

— У нас 40-часовая рабочая неделя. Но бывает такое, что человек может прийти на работу в 11.00 и уйти в 23.00. Благодаря той самой командной работе у людей есть ощущение, что они за что-то реально отвечают, чем могут гордиться и над чем работать. И это людей мотивирует гораздо больше, чем зарплата или медицинское страхование. Когда у нас недавно случился аврал – немного не рассчитали сроки, 80 процентов команды вышло на работу в субботу добровольно – без давления со стороны начальства и без криков на тему «отгула» за этот день.

— И как мотивируют сотрудников?

— У нас есть цель, миссия, мы к ней стремимся – создать действительно классный продукт. Для нас это не пустые слова. Каждый за что-то отвечает. И все воспринимают результаты близко к сердцу.

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

— Чем привлекательна для вас ваша работа?

— Это один из вопросов, который мы задавали на собеседовании – я столько ответов на него выслушал!..

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

Беседовала Елена Кузнецова