Как развиваться, когда работаешь 10 лет в одной компании. Андрей Шишко, Director of Engineering в Vimeo

[В рубрике «Как я работаю» мы приглашаем гостя рассказать о своей работе, организации воркспейса, полезных инструментах и лайфхаках]

Андрей Шишко — Director of Engineering в украинском офисе Vimeo. Здесь он работает уже 10 лет, а начинал еще во времена, когда компания называлась Livestream. За три года с джуниор-разработчика Андрей вырос до тимлида несмотря на то, что был самым молодым в команде, а сейчас он развивает продукты Vimeo и Livestream Studio в качестве директора по инжинирингу.

О себе

Программирование мне было интересно еще со школы, с класса 9-го. Я участвовал в олимпиадах и вообще много свободного времени проводил за написанием кода. Мои родители — тоже программисты, еще в 90-е работали на околовоенном заводе, а потом на разных предприятиях. Думаю, они привили мне любовь к этому с детства. А еще мне повезло с учителем информатики, он направил меня в нужное русло и помог разобраться с базовыми вещами.

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

Первый опыт работы я получил как раз там: на 4-м курсе в 2008 году вызвался на проект искусственного интеллекта для помощи машинистам поезда. Задача была в том, чтобы контролировать состояние машиниста и получать раннее уведомление в случае, если ему станет плохо. Лично от меня требовалось определить, куда должен смотреть машинист в данный момент времени. Например, на рельсы. Дальше эту информацию сопоставляли с тем, куда на самом деле человек смотрит. Если система замечала, что машинист смотрит не туда или неадекватно себя ведет, должна была срабатывать нотификация. У проекта были иностранные инвесторы, но вся команда разработчиков состояла из студентов старших курсов. Я не знаю, использовали ли эту технологию в конце концов на практике, но проект закрылся по окончанию финансирования.

Это дало мне первый опыт, но это трудно назвать настоящим опытом работы в компании. Дальше в моем профессиональном пути все было просто: я пришел в компанию Livestream, которая сейчас называется Vimeo. Устроился сюда практически сразу после университета и уже 10 лет здесь работаю.

Роль и обязанности

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

Потом компания решила заняться новым продуктом — Livestream Studio. Это логическое продолжение проекта, над которым мы работали раньше. Его задача состояла в том, чтобы заменить большие передвижные телевизионные станции, которые ведут вещание со спортивных событий. Идея была в том, чтобы вместо них разместить на событии коробку размером с компьютер для онлайн-трансляции. Меня переключили сюда, и я писал модуль вещания для спортивных событий.

Первое «железное» решение, которое мы выпустили, называлось Livestream Studio HD 500 — оно позволяло подключить 5 разных входов, выполнить переключение между ними, накладывать графику, проигрывать записанные видео и вещать это все на платформу Livestream.

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

С должности джуниора примерно за три года я вырос до тимлида команды, в которой был самым молодым разработчиком. Мне не было дискомфортно из-за возраста, я старался делать фокус на работу. Конечно, когда меня повысили, какое-то время чувствовал неуверенность в себе потому, что появились задачи, с которыми раньше не сталкивался, и много новой ответственности. Как справлялся с этим? Просто выполнял свою работу.

Компания вкладывала много ресурсов в продукт Livestream Studio, поэтому некоторое время мы занимались только им командой из 15 человек. Видеомиксер может содержать в себе множество разных функций, и наша задача была в том, чтобы добавлять разные типы входных данных, анимаций, эффекты и тому подобное. Потом мы достигли точки, когда дальнейшее движение было не столь эффективным. У нас все еще были задачи, но они были более нишевые — полезны для 2–3% пользователей, но при этом требовали много времени. Поэтому это было не очень интересно с точки зрения бизнеса.

Плюс в этот момент в компании сформировался новый проект. Компания решила выпускать собственную камеру Mevo, поэтому часть моей команды перешла туда. Это был период застоя, как по мне, какие-то новые фичи были, но ничего, что вызывало бы вау-эффект.

Вторая волна роста для моей команды пришла с момента, когда Vimeo купила компанию Livestream в 2017 году. У Vimeo были большие планы на внедрение функционала, который был в десктопном продукте Livestream Studio, на свою платформу. Соответственно, часть моей команда осталась работать с платформой Livestream Studio (и мы до сих пор этим занимаемся, не забросили), а часть вместе со мной начала заниматься проектом по онлайн-вещанию на платформе Vimeo. Это второй большой проект, над которым мы работаем уже почти 4 года.

Прямо сейчас, кроме всех тех проектов, которыми я занимался и раньше, работаю над новым. Это Vimeo Record — расширение для Google Chrome, которое позволяет захватывать видео с браузера и записывать его на платформу Vimeo. Необходимость в этом продукте появилась в апреле 2020 года. Компания не хотела нанимать на проект новых сотрудников, а со всех команд наиболее свободной оказалась моя. Эта работа сильно отличается от того, что мы делали раньше, я даже думаю, что это один из самых больших челленджей для меня.

Сложность заключалась в том, что в новом проекте мы использовали TypeScript и React.js, который я не применял до этого. У меня был опыт с JavaScript на уровне пет-продуктов, а это совершенно другие парадигмы. В новом проекте практически любое решение было вызовом, особенно на первых стадиях работы. Не было однозначного понимания, правильные ли решения мы принимаем, но их надо было принимать.

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

Несмотря на то, что менеджерской работы стало гораздо больше, стараюсь уделять время и разработке, хотя ее стало значительно меньше. Конечно, тут все зависит от сезонности. Если есть четкое понимание, куда мы движемся в ближайшие несколько дней или месяцев, особой необходимости в митингах нет. В такой ситуации можно 70% времени уделять разработке и 30% созвонам. А если проект на начальной стадии, тогда все наоборот — митинги и подготовка к ним занимают 70–80% дня и остается только 20–30% на разработку.

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

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

Но и свои минусы тоже есть, чем больше я занимаюсь менеджерскими задачами, тем меньше времени остается на программирование. Меньше всего мне по душе ситуация, когда из-за огромного количества менеджерских задач я вообще не могу программировать. Если они занимают 100% времени, то это очень большая нагрузка для меня.

Типичный рабочий день

Обычный рабочий день начинается в 09:00–09:15. На карантине встаю в 08:45, пью чай, завтракаю и через полчаса начинаю работать. Первым делом узнаю, что произошло, пока я спал, так как в США день, когда у нас ночь. Отвечаю на вопросы, проверяю, нет ли новых срочных задач. Если есть, сразу приступаю к этому, если нет — новые задачи перепоручаю коллегам или откладываю, пока не решу более приоритетные вопросы.

В 10:00 начинаются утренние митинги, которые обычно длятся до 11:00–11:30. Когда утренние встречи уже закончились, а вечерние еще не начались, в перерыве либо занимаюсь программированием, либо готовлюсь к вечерним митингам, либо провожу внеплановые созвоны.

Америка просыпается — и с 15:30 начинаются вечерние митинги, которые длятся обычно до 18:00–18:30. Дальше смотрю по ситуации со срочными задачами, настроению и самочувствию. Могу еще поработать, а могу и закончить на этом. Стараюсь работать минимум 8 часов каждый день, чаще всего заканчиваю в 19:00, иногда немного раньше. А бывает и позже, не всегда потому, что задача горит, а просто потому, что мне интересно ее доделать. К тому же тяжело отдыхать, когда остались нерешенные вопросы.

Когда работал из офиса, старался ходить на обед в столовую, которая находится в 3 остановках общественного транспорта, чтобы побольше двигаться. 25 минут в одну сторону, 25 в другую — уже неплохая прогулка. А когда работаю из дому, обычно никуда не выхожу, не могу себя заставить просто выйти на улицу, чтобы пройтись вокруг дома, мне это неинтересно. Сейчас у меня даже нет полноценного обеденного перерыва. Сколько времени обед занимает, столько и обедаю, потом сразу возвращаюсь к заданиям и в целом делаю минимальное количество перерывов.

Я нечасто засиживаюсь с работой допоздна, но пару случаев, когда ночевал в офисе, все-таки было. Например, когда-то мы принимали участие в выставке в Лас-Вегасе под названием NAB Show с нашим проектом Livestream Studio. Несколько лет подряд компания готовила стенды, на которых презентовался продукт, и это был самый жесткий момент в работе с точки зрения дедлайнов. Их нельзя было никуда сдвинуть, поэтому бывало такое, что рабочий день заканчивался в 4 часа ночи.

А однажды за несколько дней до выставки я вообще закончил работать в 9 утра. В этом даже было что-то забавное, когда в 9 утра понедельника приходит директор, здоровается с тобой и понимает, что ты был здесь всю ночь. Меня никто не заставлял, просто я знал, что это нужно сделать потому, что на эту работу рассчитывают. Зато, когда выходишь после такой ночи, очень удовлетворяет понимание, что ты все необходимое выполнил. Это перевешивает негативные факторы. Кроме этого, после такого обычно дают дни отдыха.

Более напряженный график у нас стал с начала карантина. Из-за того, что все сидели дома, у нас сильно возросло количество пользователей, нагрузка на сервер увеличилась в 10 раз, и только благодаря этому мы узнали, что есть проблемы, которые нужно срочно решать. Например, часть наших пользователей не могла делать лайв-вещание на платформе Vimeo. Примерно месяц понадобился, чтобы все исправить, потом ситуация стабилизировалась.

Инструменты и продуктивность

Для рабочих задач мы с командой используем Jira и GitHub — это мастхев для любого проекта. Отдельно могу вести список задач лично для себя, когда плотно занимаюсь какой-то проблемой и в процессе возникает много вопросов, которые недостойны создания отдельного тикета. В такой ситуации я использую обычный блокнот. А в ежедневной работе мой основной инструмент планирования — Google-календарь.

Для всей коммуникации внутри компании и с компаниями-партнерами мы используем Slack. Если почта, то стандартная Gmail, а для звонков — только Zoom. Раньше пробовали и Skype, и Google Meets, но в какой-то момент остановились на Zoom. Во многом на это повлияло то, что у наших американских коллег в митинг-румах стоят устройства, у которых есть Zoom-идентификатор. Если использовать там другой софт, с этим нужно повозиться. И, как по мне, сейчас эта платформа побеждает по популярности и стабильности.

Заметил, что в целом коммуникация и управление онлайн требуют гораздо больше усилий и времени: всегда проще подойти к человеку, сесть рядом, поговорить 10–15 минут и решить проблему. А онлайн-митинг сначала нужно зарезервировать, это добавляет много рутины. Еще мне всегда труднее понимать собеседника онлайн, не то, что он говорит, а то, что не говорит, недосказывает. Даже с включенной камерой невозможно так хорошо понять человека, как на живой встрече один на один. Но со временем я уже привык, что все митинги только онлайн.

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

Книги и самообразование

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

А в свободное время читаю только художественную литературу, предпочитаю научную фантастику. Из последнего интересного запомнилась антиутопия Роба Харта «Склад» о мире, где всю власть захватила большая компания вроде Amazon.

В какой-то момент начинаю уставать от этого жанра, приходит ощущение, что ты уже где-то читал это, суть та же, но описана другими словами. Тогда переключаюсь на что-то потяжелее, например на «Войну и мир». Так я заполняю пробелы, вызванные ленью в средней школе. Еще люблю читать Теодора Драйзера и Артура Хейли, нравится их стиль повествования.

Главная задача чтения для меня — разгрузить мозг. Поэтому не люблю любую обучающую литературу, так как она с этой задачей не справляется, а скорее, наоборот, нагружает. Самообразование у меня обычно происходит в процессе работы, когда нужно разобраться с новыми задачами и технологиями, или на курсах от компании. А целенаправленно обычно этим не занимаюсь, времени хватает только на работу.

Ретроспектива

Себе в начале профессионального пути я бы ничего не советовал. Я ничего бы не менял, оставил бы все как есть. Почему? Все просто: в любой момент времени мне нравилась моя работа. Да, бывали тяжелые дни, но они скорее помогли мне сделать выводы для себя, что мне интересно, а что не интересно, как лучше поступать.

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

Часто приходилось выполнять задания сверхурочно, но это не было основной проблемой. Я больше уставал морально, когда надо было принимать решения, не технические, а продуктовые. С одной стороны, я знал, что беру на себя ответственность за то, что не должен, а с другой — понимал, что если этого не сделаю, это сильно замедлит наш темп. Слишком много всего было, и я понял, что уже не тяну. И в результате выгорел. Тогда я решил открыто сказать руководству, что работы много, я не справляюсь и надо этот вопрос решать. Все закончилось хорошо: мы расширили команду, взяли людей, на которых я переложил часть задач. Из этого я вынес урок, что у меня тоже есть лимиты и брать на себя слишком много — не лучший вариант.

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

Говорить, что за 10 лет я ни разу не думал о смене места работы будет ложью. Периодически такие мысли меня посещают. Обычно я об этом задумываюсь после собеседований с кандидатами, которые работают по 10+ лет на одном месте. На фоне других соискателей большинство из них имеет узкие знания. Компенсировать такую проблему для себя я стараюсь пет-проектами с использованием разных стеков. Обычно разрабатываю их максимум процентов до 40–50% и забрасываю. На этом этапе могу получить либо минимально юзабельный продукт для своих нужд, либо вижу, что дальше много рутинной работы, и мне становится неинтересно. Считаю, что такой опыт не сравнить с реальными проектами.

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

Самое главное — найти то, что нравится. Не надо смотреть, что сейчас более востребовано на рынке, где больше денег. Если ты делаешь то, что любишь, у тебя достаточно упорства и трудолюбия, то все получится.

Похожие статьи:
Добрый день! Эта статья — попытка ответить на самые часто задаваемые вопросы об эффективном управлении ИТ-проектами, которые мне...
У четвертому випуску подкасту 1-2-3 Techno ми запросили Женю Ковалевського, аби згадати цікаві історії з його минулого, в якому він...
До вашої уваги дайджест навчальних програм для тих, хто починає свою кар’єру в ІТ. В цьому номері зібрані можливості,...
В п’ятницю, 10 березня, президент України Володимир Зеленський ввів у дію рішення Ради національної безпеки...
Корпорація Meta запускає WhatsApp Channels. Україна — серед дев’яти держав, які першими отримують доступ до цієї...
Яндекс.Метрика