Один день из жизни…

Этим постом мы открываем серию публикаций, в которых будем знакомить всех с тем, чем живет и дышит наша компания. Первым в рубрике «Один день из жизни…» расскажет о себе, своей карьере, рабочем процессе в InfoWatch и его особенностях Роман Ефременко, руководитель отдела web-разработки.

Привет, Роман! Как называется твоя должность?

Если обращаться к истокам моей карьеры в ИнфоВотч, то компания позволяла, а я всегда брал на себя больше ролей, чем было прописано в официальных документах и подписях. Так, занимая должность руководителя отдела тестирования, я также занимался проектным руководством, внедрял Scrum. Будучи PM-ом (Project manager – прим.ред.), я активно вел разработку, занимался дизайном и выполнял роль архитектора. Хотя последние 3 года моя должность официально звучит как «руководитель» проектного направления» (назначали широко и глубоко, чтобы не менять мне должности так же часто, как Шойгу), но по существу, моя должность – это «руководитель отдела web-разработки». Хотя я снова скоро вернусь к истокам, и буду заниматься руководством абсолютно нового проекта, но это отдельная история…

Сколько лет ты работаешь в компании InfoWatch, на какую должность пришёл изначально, и что тебя удерживает в компании?

Работаю примерно 6.5 лет, а с Натальей Ивановной Касперской уже все 12! Пришел я в ИнфоВотч на должность старшего тестировщика. Потом довольно быстро, где-то за год, я вырос до руководителя отдела тестирования. Ну, а дальше понеслась: web-разработчик, руководитель проекта. Идей много, желания тоже хоть отбавляй, так почему бы не расти в уже родной компании. Тем более что здесь поддерживается благоприятный климат для развития и роста. Как говорится, если глаза горят, голова работает, только в путь! А с появлением новых проектов, думаю, что энергии еще настолько же лет точно хватит.

Сколько сейчас сотрудников подчиняются тебе?

Сейчас у нас в отделе web-разработки 11 человек по таким направлениям:, как UI дизайн, Frontend разработка и Backend разработка. Раньше входила ещё data base команда. Потом «Базы» стали существовать отдельной жизнью, потому что не особо с нами перекликаются.

Если сравнивать с крупными компаниями web-индустрии, наша web-команда, конечно, не большая, но каждым, кто работает в ней, я горжусь! Все очень крутые разработчики, интересные люди и, самое главное, не просто товарищи по работе, а настоящие друзья. Мы вместе не только хорошо работаем, но и отдыхаем: поездки по Европе, совместные регаты по средиземноморью, да и просто вечерние пятничные посиделки.

Расскажи, пожалуйста, с чего начинается твой рабочий день, как он формируется, и какие обязанности?

Естественно, начинается он, как и у всех — с чашки кофе, а иногда и не одной (улыбается — прим. ред.). Затем я начинаю просматривать дефекты в коде и «раскидывать» их по сотрудникам, чтобы ребята могли оперативно заняться исправлением «багов». Что-то уходит коллегам в другие группы разработки. Мы ведь фронт для разработки: тестировщик увидел проблему в GUI (графический интерфейс пользователя – прим.ред.) и завел на нас.

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

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

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

Как ты взаимодействуешь со своим сотрудниками? У вас ежедневные совещания, собрания, или как ты организуешь работу отдела?

Совещания не люблю – трата времени, так как в большинстве случаев они не модерируются. Я за оперативное решение трудностей, проблем и просто вопросов: собрались, быстро обсудили и решили при минимальном количестве участников. В моем отделе нет бюрократии и «официальщины»: я полностью открыт и доступен для своих коллег в любое время. Некоторые сотрудники, бывает, пишут мне и в полночь.

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

-В каких системах и программах ты работаешь?

Так как я работаю в компании давно, то мне разрешено иметь собственный ноутбук, поэтому от официального рабочего компьютера отказался. Я привык к Mac OS и не пользуюсь Windows или Linux (хотя раньше был успешным тестировщиком под Linux).

Что касается программ, то мне достаточного Outlook, Skype и любимого текстового редактора. У меня в целом в отделе люди работают на том, что им по душе. Мне главное, чтобы они делали свою работу, получали от этого кайф и выдавали супер результат, а если для этого им надо работать в какой-нибудь специфичной ОС и со своими любимыми приложениями – да без проблем! В плане разработки, язык программирования и есть тот инструмент для выражения наших идей.

Сейчас разработка ведется на Coffescript и PHP. На Coffescript пишет FrontEnd-разработчики, на PHP BackEnd-разработчики. Но это сейчас, ведь web-разработка специфична тем, что у нее безумные темпы развития – то, что ты используешь сейчас, уже через 3-5 лет станет полностью неактуально, иногда и быстрее. Очень важно держать руку на пульсе и следить за мейнстримом, чтобы не оказаться у разбитого корыта из-за того, что используемые нами компоненты устарели, перестали поддерживаться. Да и людей найти на разработку технологий, которые уже не в тренде сложно, все хотят использовать свежие идеи.

Сколько в процентном соотношении уходит времени на написание кодов и исправление дефектов?

У web-разработчика работа состоит из этапaов. При старте нового проекта в первые несколько месяцев 100% процентов времени займёт написание нового кода для интерфейса. Как только этот этап заканчивается, начинается этап поддержки, исправления дефектов. Когда бывают промежуточные этапы, то процентов 70% занимает процесс исправления дефектов, а 30% – это работа над новыми задачами.

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

Сколько строчек кода получается написать за день?

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

Все зависит от настроения и задачи.

С кем в течение дня приходится взаимодействовать?

Со всеми: со своей командой, с системными аналитиками, с тестировщиками, с отделом внедрения (бизнес-аналитики,PM-ы, инженеры внедрения), с разработчиками из других команд, отделом продаж, техническими писателями. Проще было бы сказать, с кем не сталкиваешься в течение рабочего дня.

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

А как же дизайн, зависит твоя работа от дизайнера?

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

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

Почему из всех направлений разработки ты выбрал именно web, и чем оно отличается от остальных?

Выбрал случайно. По образованию я безопасник в области ИТ, и всегда трудился на этом поприще! В какой-то момент захотелось найти иной способ заработка. Языки программирования для меня были чем-то вроде хобби, я их довольно много изучал и использовал, вот и решил идти в разработку. Ну, а в web меня втянуло, так как было модно, и было много заказов.

Здесь постоянно всё развивается, есть движение, появляются новые технологии. Если смотреть другие области, то там для меня менее динамично.

В самом начале я разрабатывал что-то для себя, а потом несколько лет назад предложил Наталье Ивановне разработать web-интерфейс для продукта. Так у нас в компании и начала формироваться команда web-разработки.

По каким критериям отбираешь себе специалистов в команду?

Для меня самое главное, чтобы я видел, что человеку это интересно, и он хочет заниматься web-разработкой. Конечно, есть и оценка знаний кандидата, но при этом не требую, чтобы человек знал абсолютно всё и очень глубоко. Главное, это наличие желания развиваться. А уж если голова светлая, с самоорганизацией и мотивацией все в порядке, то постепенно научится.

У нас есть несколько человек, которые уже через пару месяцев работы активно приступали к выполнению новых задач, хотя на входе не обладали полным багажом знаний, которые я предъявлял к кандидатам. И вообще, в моей команде все очень разные, но сплоченные. Главное драйв в глазах и крови! Кстати, именно поэтому у меня все молодые. У них много энергии, чтобы сделать что-то реально крутое и рискованное.

Какие плюсы можешь выделить в своей работе?

Навскидку я вижу два плюса.

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

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

Подпишитесь на рассылку INFOWATCH