Как я работаю: Павел Антоненко, Technical Program Manager в Snap

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

Павел Антоненко — Technical Program Manager в американской продуктовой компании Snap, которая разрабатывает мессенджер Snapchat, умные очки Spectacles, сервисы Bitmoji и Zenly и несколько других продуктов. В 2015 году Snap купил украинский стартап Looksery, в котором в то время работал Павел. Так одесская команда разработчиков селфи-фильтров стала частью глобальной корпорации.

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

О себе

В детстве у меня рано появился компьютер: первый «Радио-86РК» мой отец собрал сам в 1992 году, мне было 7-8 лет. Потом был ZX Spectrum и уже позже — IMB PC. Но до старших классов я больше увлекался играми, чем программированием. В плане учебы интересовался биологией и естественными науками, а потому после 7-го класса поступил на «химию» в Ришельевский лицей — это одна из лучших в Одессе школ по точным и естественным наукам.

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

Когда пришло время решать, на кого учиться дальше — на химика или математика-программиста, — я взвесил карьерные перспективы и выбрал второй вариант. Это был 2002 год: IT-сфера как раз начинала развиваться в нашей стране, и было понятно, что у нее есть будущее. Я поступил на прикладную математику в ОНУ им. Мечникова. Учиться было непросто из-за огромного числа суровых предметов по математике, но все же я считаю, что с выбором вуза не промахнулся: получил прочный фундамент, развил гибкость мозга и логическое мышление.

Во время учебы в университете я продолжал участвовать в олимпиадах. Занимал призовые места на уровне Украины и однажды дошел до мирового полуфинала. «Выше, быстрее, сильнее» — для меня это был хороший способ доказать, что ты чего-то стоишь :)

В 2006 году, когда я учился на четвертом курсе, наш декан порекомендовал меня в интернатуру продуктовой компании CS Odessa. Впоследствии я проработал там пять лет: сначала в роли программиста, затем — скрам-мастера. Считаю, это был отличный старт. С одной стороны, в компании было много молодых мотивированных ребят, с которыми мы вместе учили новые технологии, делились идеями, помогали друг другу. С другой, в моей команде работали и опытные разработчики, которые стали моими менторами. В CS мне посчастливилось познакомиться с будущими основателями множества известных украинских компаний — например, Readdle.

Мы делали продукты для мирового рынка, лично я в основном занимался разработкой сервиса для управления проектами ConceptDraw MindMap. Это были кроссплатформенные приложения Windows/Mac — для того времени экзотика, в Украине mac еще был в диковинку. Я работал с технологиями Cocoa на Mac и MFC на Windows. Кроссплатформенную часть и под Windows писал на C++, под Mac — на Objective-C. Это было интересно, но сложно :) Помню, как в первые годы много раз что-то «ломал», но до релиза успевал пофиксить.

В 2008 году мы с коллегами начитались о Скраме и решили внедрить гибкое управление проектами и у себя. Сначала руководители компании отнеслись к этой идеи настороженно, но все же пригласили в офис тренера, который рассказал о возможностях Agile. После этого нам дали зеленый свет. Так к моим обязанностям по разработке добавилась еще и работа Скрам-мастера.

В 2011 году в CS Odessa начались задержки с выплатой зарплат, и мне пришлось подыскать другую компанию. И снова нашел работу по рекомендации: мой друг порекомендовал меня в Provectus. Сейчас это одна из крупнейших аутсорсинговых компаний Одессы, но тогда бизнесу не было и года. Я попал в новый отдел мобильных приложений, «перепрыгнул» с macOS на iOS. Опыта разработки под iOS у меня не было, да и вообще айфоны на тот момент только несколько лет как появились. Так что пришлось осваивать новый стек на ходу.

Моя должность в Provectus звучала как Senior Mobile Developer / Project Manager: кроме разработки, я напрямую общался с заказчиками и отвечал за то, чтобы клиенты были счастливы и продолжали пользоваться нашими услугами. С точки зрения бизнеса было нерентабельно нанимать отдельного PM’а, так как проекты и команды были маленькими. В свою очередь, мне было интересно совмещать две разные роли и развивать одновременно технические и софт скиллы, участвовать во всех фазах создания продуктов.

В 2013-м наш большой заказчик, Selectica, начал проект по мобильной разработке, и меня позвали туда на должность Engineering Manager. Сначала я управлял командой, которая работала со знакомым мне стеком, а потом меня перевели на незнакомый. Я немного нервничал, помню, спрашивал у СТО, что ж я там буду делать, если не понимаю технологии проекта? Но он меня успокоил: «Тебе будет чем заняться». Так и получилось: у меня было много задач по планированию, администрированию Jira, управлению сроками и ресурсами и так далее. По сути, это оказалась скорее менеджерская позиция, чем техническая. С одной стороны, работать было интересно. С другой, все же не хватало более технических задач, меня всегда тянуло «пощупать» технологии руками.

Примерно в это время мой коллега ушел в молодой стартап Looksery, в котором разрабатывали селфи-фильтры для трансформации изображения лица пользователя в режиме реального времени. Спустя год они стали искать человека, который может совмещать разработку и работу с клиентами, — и пригласили меня. Стартап показался мне перспективным. Я пообщался с СЕО, поверил, что продукт взлетит, и согласился. Как выяснилось позже, не ошибся.

К команде Looksery я присоединился в декабре 2014-го, и уже через пять месяцев нас купила компания Snap, которая создала мессенджер Snapchat и несколько других продуктов. Это был крупнейший на тот момент экзит в истории украинских стартапов — сумма сделки составила $150 млн.

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

До присоединения к Snap в Looksery, как в типичном стартапе, не было четкого распределения ролей, все занимались всем. Я и писал под iOS, и управлял проектом по разработке кастомной версии приложения для клиента.

В Snap я получил должность Technical Program Manager. Так же, как и обычный проектный/программный менеджер, TPM отвечает за то, чтобы проект/программа достигла успеха. Но разница в том, что я работаю с масштабными кросс-департаментными программами, которые нельзя поручить одной команде: в них задействованы специалисты из разных подразделений. Как раз к таким программам и относится создание наших «линз», которые позволяют в онлайн-видеопотоке наложить на лицо пользователя различные визуальные эффекты.

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

За пять лет в компании я участвовал в разных внутренних проектах и программах. Начинал с мобильной разработки, позже занялся бизнес-метриками, реализовывал кастомный Jira-воркфлоу по разработке продуктов от бизнес-анализа до имплементации. Сейчас работаю в основном с десктопными приложениями: Lens Studio, в котором создаются наши визуальные эффекты, и Snap Camera, которая позволяет использовать линзы в сторонних десктопных приложениях вроде Zoom или Skype.

Должность TPM меня привлекает тем, что я общаюсь с разными командами и специалистами: разработчиками, тестировщиками, техническими писателями, контентщиками, маркетологами, инженерами техподдержки и так далее. Поэтому вижу продукт как бы «сверху», глобально. Есть люди, которым нравится углубляться в узкую специализацию, а мне, наоборот, интересно расти «вширь», участвовать во всех этапах жизненного цикла продукта, разбираться, как работает вся система целиком.

Код я уже практически не пишу, но если нужно подправить что-то по мелочи, то могу это сделать.

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

А у нас многие разработчики думают только о коде, все остальное их особо не интересует. Это отражается даже в подходах к собеседованиям: если у нас принято гонять кандидата по технологиям, то в США могут не задать ни одного вопроса по стеку, а спрашивать о системном дизайне, алгоритмах, давать задания на софт скилы: «А как бы вы поступили в такой-то ситуации?» и так далее.

Мне нравится, что Snap дает возможность развиваться в самых разных направлениях. К примеру, компания сотрудничает с волонтерским образовательным проектом GoCamp, и в рамках этой программы я проводил вокршопы по созданию линз в Lens Studio для школьников. В этом году все было дистанционно, по Zoom. Деткам понравилось, и, думаю, для них это неплохая практика, чтобы потом войти в IT в качестве программиста или дизайнера.

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

Я почти каждый день созваниваюсь с коллегами из Лос-Анджелеса, а потому мой рабочий день сдвинут на вторую половину дня. Утро посвящаю личным делам: провожу время с семьей, занимаюсь спортом, просто отдыхаю. Могу разве что проверить рабочую почту, чтобы убедиться, что все хорошо, ничего не «горит».

11:00. Начинаю работать. Конкретные задачи зависят от этапа проекта. Например, составляю спецификацию, анализирую метрики продукта, помогаю с настройкой Jira, составляю план реализации функциональности, общаюсь с пользователями продукта. Также провожу митинги с украинскими командами: раньше это были живые встречи, а с началом карантина — видеозвонки. Обсуждаем текущие рабочие вопросы: как реализовать очередную фичу и так далее.

16:00. Делаю большой перерыв: выхожу на улицу, переключаюсь. Заметил, что если работать без отдыха, то к вечеру продуктивность сильно падает.

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

21:00. Как правило, примерно в это время заканчиваю работу. Бывает, что нужно обсудить какие-то срочные вопросы, тогда приходится засидеться, но овертаймы случаются нечасто.

Этот план дня — очень приблизительный. На уровне компании у нас нет определенного графика работы и учета часов: важно, что ты сделал, а не сколько времени отработал. Поэтому я ориентирую свое расписание на рабочие встречи и звонки, то есть на ситуации, когда надо быть на связи. В остальном могу позволить себе гибкость: стараюсь держать work-life balance. Например, социальная жизнь происходит обычно ближе к концу дня, поэтому стараюсь в неделе освобождать несколько вечеров под общение с семьей и друзьями.

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

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

К тому же одно дело — просто работать удаленно, другое — делать это в одной квартире с маленьким ребенком, когда детские сады закрыты :) Мы помогли родителям достроить частный дом и пока что сами туда переселились: теперь и мне есть где уединиться для работы, и сыну хватает места побегать.




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

Для меня продуктивность — это не способность работать много, а умение добиться результатов, которые приносят пользу бизнесу. Я стараюсь фокусироваться на достижениях, которыми потом могу гордиться. К примеру, для разработки это означает не просто написать отличный код на C++ («что я делал»), а добиться того, что приложение стало запускаться в три раза быстрее («что я сделал»).

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

Затем работаю по технике Pomodoros. Она названа в честь кухонного таймера в форме помидора, и идея в том, чтобы не отвлекаться ни на что постороннее, пока работает таймер. Обычно я беру небольшой промежуток времени — 25-30 минут, это своего рода маленький спринт для меня одного. В это время концентрируюсь только на поставленной задаче. А затем делаю паузу на 5-10 минут: в это время можно посмотреть уведомления, пообщаться с коллегами, ответить на какие-то срочные вопросы или просто освободить свой ум от работы.

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

Отдельная сложность — сделать так, чтобы во время «помидора» тебя никто не отвлекал. На прошлой работе ко мне каждые 10 минут забегали коллеги, что-то спрашивали — и это очень отвлекало. Однажды мне подарили лампочку в форме клавиши Delete, и я придумал лайфхак. Написал большими буквами табличку, что если лампочка горит, то у меня видеозвонок и я сейчас не могу уделить время коллеге. Это сработало: ребята видели, что я занят, и заходили позже.

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

Что касается почты и чатов: как я уже упоминал, просматриваю все уведомления вне «помидоров». В первую очередь читаю сообщения, которые написали мне напрямую или где меня тегнули. Все остальное просматриваю один-два раза в день, этого вполне достаточно.

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

Раз в неделю выделяю отдельный «помидор» для самопроверки: как удалось продвинуться по предыдущим целям и какие поставить новые.

Для управления «помидорами» использую приложение Be Focused. Для списка задач раньше пользовался Wunderlist, но мне не понравились его последние обновления, и я переключился на Notion. Там можно создавать и ToDo-листы, и таблицы для общего планирования, и текстовые документы — очень удобно.

Еще хочу заметить, что для хорошей работы нужен хороший отдых. Я люблю путешествовать, посетил более 40 стран. Буквально перед карантином успел побывать в Перу и Боливии. Также занимаюсь open water плаванием и кайтсерфингом — это драйвовый спорт, которым, в отличие от обычного серфинга, можно отлично заниматься в Украине.






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

Как человеку, который развивается скорее «в ширину», чем «в глубину», мне сложно получать абстрактную информацию в вакууме. Гораздо эффективнее ставить конкретные цели — не просто выучить С++ за 21 день, а сделать такое-то приложение. И уже под эту задачу выбрать, что именно следует подучить и по каким источникам.

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

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

Поэтому, если в работе нет осмысленных задач, связанных с изучением нового, лучше выделить отдельное время на самообразование вне работы. Чтобы держать себя в тонусе по программированию, я захожу на HackerRank. Это помогает не терять навыки и даже подучивать языки. Например, я часто использую Python, но никогда не учил его структурно — и на HackerRank постепенно восполняю пробелы и разбираюсь, как можно решать ту или иную задачу еще более эффективно.

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

  • «Джедайские техники» Максима Дорофеева — интересная и полезная книга для понимания того, как работает мозг (к тому же автор около 15 лет работал в области разработки ПО, поєтому это книга от разработчика к разработчикам);
  • «Поток» Михая Чиксентмихайи — о состоянии, когда человек полностью поглощен интересным делом, в котором максимально реализует свой потенциал;
  • «7 навыков высокоэффективных людей» Стивена Кови — системный подход к определению жизненных целей и приоритетов человека.

В плане бизнес-литературы мне нравится сервис Blinkist — это выжимки из книг без «воды». Такие конспекты позволяют сэкономить время и взять только самое важное.

Также я слежу за новыми статьями на DEV, «Хабре», а также блогами известных компаний вроде Slack.

Ретроспектива и планы

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

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

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

Похожие статьи:
В выпуске: прощай Firebug и привет Firefox Quantum, JavaScript экосистема глазами Дэна Абрамова, переходим на CSS гриды вместе со Slack, а также изучаем...
Улітку 2023 року завершився освітній проєкт ІТ Generation, який мав на меті допомогти українцям опанувати нові професії та знайти роботу....
Нині безплатне протезування можуть отримати всі українці, які цього потребують. Незалежно від того, втратили вони кінцівку через...
Команда Мінцифри разом з Міністерством освіти і науки України працюють над реформою шкільного курсу інформатики. З 1 вересня...
IT Education Center объявляет набор на курсы по Администрированию Linux. Старт обучения очередных групп — с 28.03.16 Программа...
Яндекс.Метрика