Генеральный директор «ЛАНИТ-ТЕРКОМ» Вадим Сабашный в проекте «ЛИЦА»
В серии интервью с ИТ-специалистами компании «ЛАНИТ-ТЕРКОМ» сотрудники рассказывают о своей работе, проектах, задачах и делятся секретами профессионального успеха.
Сегодня наш собеседник – Вадим Сабашный. Он с отличием окончил математико-механический факультет Санкт-Петербургского государственного университета в 2004 году и начал карьеру в «ЛАНИТ-ТЕРКОМ» в студенческие годы. Он прошел путь от джуниор-разработчика до директора по производству, а затем стал генеральным директором компании.
Вадим рассказывает о том, какую роль в его карьере сыграло участие в одном из первых потоков студенческих проектов «ЛАНИТ-ТЕРКОМ», зачем молодым специалистам нужен такой опыт и как добиться успехов в своей области.
Когда и как вы попали в одну из первых команд студенческих проектов «ЛАНИТ-ТЕРКОМ»?
Я попал на общее собрание, которое «ЛАНИТ-ТЕРКОМ» проводил по студенческим проектам, когда учился на втором курсе математико-механического факультета СПбГУ. Так получилось, что информатику на первом курсе нам преподавал сотрудник «ЛАНИТ-ТЕРКОМ» и на тот момент студент Сергей Кукс – он много и очень интересно рассказывал о компании. Участвовать в одном из первых потоков студенческих проектов хотели около восьмидесяти человек, и тема была одна для всех – конвертер документов (HTML, Word, TEC, RTF – форматов, актуальных в начале 2000-х), ее представлял будущий исполнительный директор «ЛАНИТ-ТЕРКОМ» Владимир Уфнаровский.
Тогда мы разделились на две группы – в одной было 30 человек, а в другой – 10 (я попал во вторую). Тогда Владимир принял, на мой взгляд, очень правильное решение, предложив двум группам «посоревноваться» в работе над одной темой. Получилось, что до конца студпроекта в первой группе дошло 20 человек, а во второй – всего 5. На тот момент оказалось так, что ядром нашей команды стали будущие сотрудники «ЛАНИТ-ТЕРКОМ» – я, ныне директор департамента информационных систем Кирилл Чурилин и архитектор ПО Игорь Лабутин. На тот момент мы, будучи студентами, неплохо разбирались в технологиях программирования, но ничего не знали о методологиях и ведении проекта. Мы думали, что самое главное в процессе разработки – это умение создавать хороший код. Но это не совсем так. Оказалось, что, прежде всего, следует выработать грамотное целеполагание – определить, какая именно задача стоит перед командой. Понимание, для кого разрабатывается продукт и как он будет использоваться, пришло только к завершению работы над проектом, который мы презентовали руководству «ЛАНИТ-ТЕРКОМ» в лице генерального директора и основателя компании Андрея Николаевича Терехова, Владимира Уфнаровского, руководителей направлений и подразделений. Я считаю, что тогда мне очень повезло с коллегами – мы все пришли в «ЛАНИТ-ТЕРКОМ» практически одномоментно, но это уже совсем другая история.
Чему можно научиться на студпроектах?
Здесь можно научиться промышленному подходу к разработке – это командная работа над проектом, в которой используются средства совместной работы. Когда студент трудится над курсовой или лабораторной работой, то чаще всего делает это в одиночку. В начале нулевых не было сервисов для совместной разработки (как, например, GitHub) и флеш-накопителей – существовали только дискеты. Студентам, которые работали над программами из дома, было сложно настроиться на командную разработку даже технически – возникали трудности с синхронизацией изменений по исходникам и документации, сложно было актуализировать версии для сборки. Когда я пришел в «ЛАНИТ-ТЕРКОМ», то был очень рад, что эти проблемы были решены – тогда актуальным было средство MS Visual SourceSafe, файл-серверная система управления версиями, предназначенная для небольших команд разработчиков. Тогда я понял, что отсутствие автоматизации простых процессов может значительно снизить эффективность работы.
Если сравнивать студпроекты с разработкой в рамках университетской деятельности, то здесь есть одно важное отличие: если решение показывает правильный результат на конкретном наборе данных (например, в задаче, поставленной перед курсовой или лабораторной работой), то это не означает, что оно работает. Всегда необходимо предусмотреть, что произойдет, если в приложение, например, поступили некорректные данные. То есть, выстраивать так называемую защиту от bad and boundary values. Приложение не должно «падать», данные не должны теряться – иными словами, разработанный продукт не должен доставлять пользователю неудобства. Это и есть одно из отличий промышленного программирования от научного, студенческого. Необходимо рассмотреть все случаи использования продукта, в том числе негативные.
Зачем студентам нужны студпроекты?
Прежде всего, чтобы попробовать себя в условиях, приближенных к реально существующих в современных компаниях. В процессе может оказаться, что разработка – не самая интересная деятельность конкретно для вас. Область IT значительно шире чем программирование, и включает в себя аналитику, дизайн, тестирование и ряд других более узких специализаций. В студпроектах можно попробовать себя в каждой из областей, прежде чем предпринять важный шаг в карьере. Участие в студпроектах – это также возможность получить реальные знания и структурировать теоретическую базу, полученную в вузе, посмотреть, как она применяется на практике. Я ни в коем случае не предлагаю забыть, то «о чем вас учили в вузе» – это неправильный подход. Другое дело – научиться применять эти знания. У кого-то это получается сразу, а кто-то извлечет пользу из пар по теории алгоритмов спустя пять лет после окончания вуза – когда оценить сложность алгоритмов и производственных мощностей придется в реальной работе.
Как попасть в IT-компанию?
Во-первых, нужно желание – это самое важное. Но оно не должно заканчиваться формулировкой «я хочу», а превратиться в «я хочу и делаю» все, для того, чтобы попасть в «ЛАНИТ-ТЕРКОМ» или любую другую IT-компанию. Кроме того, необходимо получить необходимые hard-skills. Для разработчика – это знание языков программирования, средств проектирования, тестирования и методологий. Теоретическая подготовка, безусловно, нужна, а подкрепить ее практикой можно на студенческих проектах.
Как вы добились успеха в компании и выросли с позиции джуниор-разработчика до генерального директора?
Руководство компании, Андрей Николаевич Терехов, Владимир Уфнаровский, всегда поддерживали любое движение вперед как в научной деятельности, так и в организационной. Также необходимо помнить, что каждого участника команды есть своя зона ответственности: разработчик отвечает за код, аналитик – за бизнес-требования и анализ, архитектор ПО – за архитектуру, тестировщик – за тестирование, поиск ошибок и качество продукта. Где-то эти зоны ответственности пересекаются, и иногда человек подходит к какой-то из этих точек пересечения спустя рукава, считая, что не должен решать проблемы в этом поле. Но чтобы развиваться, надо действовать, как будто это тоже твоя зона ответственности. Это позволяет получить новые навыки и знания в тестировании, аналитике, архитектуре ПО и расти над собой.
В какой-то момент количественные изменения переходят в качественные – к определенному моменту человек готов принимать на себя новый уровень ответственности, которой, на мой взгляд, совершенно не нужно бояться.