Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

Как я работаю: Павел Антоненко, 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.

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

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

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

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

Все про українське ІТ в телеграмі — підписуйтеся на канал DOU

👍ПодобаєтьсяСподобалось2
До обраногоВ обраному2
LinkedIn

Схожі статті




2 коментарі

Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.

Павел, подскажи пожалуйста сколько в среднем в день удается «сделать помидорок» учитывая, что они у тебя по 25 минут?
Какое кол-во считаешь минимально необходимым в день, а какое продуктивным днем?

Это сильно зависит от конкретной позиции и от текущих задач. Лично для меня сейчас — 3-4 помидорки минимум, 6-8 оптимально для меня. Можно больше конечно. Митинги/звонки я не считаю в помидоры.

И да, важно понять, если помидор не тикает — не означает, что ты не работаешь ) Просто работаешь в более расфокусированном, exploration / communication режиме. Работать всегда в сфокусированном режиме не эффективно для позиций на которых нужно активно коммуницировать.

Підписатись на коментарі