Hitech logo

Кейсы

«Я не хотел быть разработчиком, который может разобраться в любом коде»

TODO:
Алексей Корецкий26 октября 2021 г., 09:41

7 лет назад Иван Вавилов решил сменить скучную работу начинающего разработчика SAP на неполной ставке на iOS-программирование, в котором в тот момент мало что понимал. Сегодня приложениями, разработанными Вавиловым, в России пользуются миллионы человек. Некоторые из них стали прорывными отраслевыми решениями и обеспечили компаниям-заказчикам значимое конкурентное преимущество. Среди его кейсов — сложные проекты для «Билайна», банков «Открытия» и «РосЕвроБанка», страховых компаний «Согласие» и Росгосстрах, Национальной платежной системы «Мир».

Самые интересные технологические и научные новости выходят в нашем телеграм-канале Хайтек+. Подпишитесь, чтобы быть в курсе.

Многие из разработанных им приложений, отмечены отраслевыми наградами. Так, «Мой Билайн» является лауреатом международной премии Webby 2017 года и победителем российских премий Рунета 2016 и Роскачества в 2019 годах. Приложение агрегатора социальных сетей WeLike выиграло награду «Золотое приложение» в категории социальных сетей, приложение РосЕвроБанка через несколько лет получило ту же награду в категории «Лучший дизайн и использование/UX». Приложение для банка «Открытие» в 2019 году забрало награду Go Banking Awards в категории «Лучшая реализация базового функционала банковского приложения».

Иван имеет опыт судейства конкурсов разного уровня, последний из таких — хакатон «Прожектор» в 2020 году, на котором участники решали важные общественные проблемы через разработку сервисов приложений и сайтов.

Сейчас Иван — одни из наиболее востребованных iOS-разработчиков не только в России. Причем с большим опытом создания сложных b2b и b2c приложений, а также построения и прокачки команд iOS-разработки. За шесть лет он прошел путь от начинающего специалиста до руководителя отдела iOS-разработки в одной из самых известных в России компаний по созданию приложений. А последние несколько месяцев он техлид в быстро развивающемся американском стартапе. Мы поговорили с Иваном о том, как ему удалось построить такую карьеру, и какие сложности возникали на его пути.

— Давайте здесь забежим немного вперед. Каков ваш текущий опыт и навыки? Чего вы к данному моменту достигли в разработке?

— На данный момент я являюсь одновременно ведущим разработчиком и техлидом под iOS. Это включает разработку под iPhone, iPad, Apple Watch, Apple TV и так далее. Есть опыт разработки b2b и b2c приложений, включая банковские, для страховых компаний, приложение для одного из крупнейших национальных телеком-операторов, а также для Национальной платежной системы «Мир». Как техлид я разработал приложения, которыми в России ежемесячно пользуются миллионы, если не десятки миллионов человек. У меня большой опыт управления разработкой сложных проектов, в том числе большими командами до 30 человек.

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

Мне с самого начала карьеры была интересна специализация на стыке — я не хотел быть разработчиком, который может разобраться в любом коде, но при этом не знает, как управлять людьми, разрешать конфликты, как выстраивать коммуникацию внутри команды или с заказчиками. Мне всегда были интересны и разработка, и управление. Причем как проектами, так и iOS-отделом. Я стараюсь параллельно развивать soft и hard skills в своей профессиональной сфере.

Первый стартап и первое iOS-приложение

— Как вы пришли в iOS-разработку?

— В какой-то момент стало понятно, что iPhone и Android захватывают мир — приложения стали реально выглядеть не только красивее, но и стали более функциональными и одновременно более сложными… Ну, и я как-то подрос с точки зрения понимания, что такое разработка приложений. Я стал этим интересоваться, много читать, пробовать. Разработка под Enterprise системы наскучила, и я понял, что мне стоит сменить специализацию, что для этого самое время. Я начал искать вакансии iOS-разработчика и быстро нашел работу в одном из российских стартапов.

— Каким была ваша первый опыт iOS-разработки?

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

Это было приложение-агрегатор социальных сетей. Там были Instagram, «ВКонтакте», Facebook, «Одноклассники», кажется, что-то еще.

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

Проекты, реализованные в Redmadrobot

— С чего началась ваша работа в Redmadrobot?

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

В 2015 году у приложения было чуть меньше миллиона месячных активных пользователей. А когда я с него уходил (примерно через год) у него было уже более 2 млн. активных пользователей.

В процесс работы над этим приложением я стал тимлидом, а команда разработки в какой-то момент выросла с 2 до 6 человек.

— Каких результатов вы добились на «Моем Билайне»?

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

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

— Какой проект был следующим?

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

— Затем был проект приложения для страховой компании?

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

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

— После этого вы снова вернулись к банкам?

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

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

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

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

Менторство

Как вы занимались профессиональным развитием и ростом сотрудников?

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

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

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

— Сколько лет вы занимались менторством?

— Три с половиной года — с момента, как я стал руководителем отдела. Сперва я сам был ментором для всех разработчиков уровня junior и middle, а разработчики уровня senior на том этапе были без менторов. Но быстро стало понятно, что такой подход не масштабируется — одного ментора на всех мало. Поэтому мы сделали древовидную структуру — несколько опытных разработчиков стали менторами для остальных сотрудников отдела (один ментор на трех-четырех человек), а я стал руководителем-ментором для этих менторов. В таком виде система оказалась масштабируемой и эффективной.

Выступления на конференциях

— В какой-то момент вы начали выступать на конференциях. Что вас к этому побудило?

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

— О чем были ваши доклады?

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

Опыт преподавания

— У вас есть опыт преподавания курсов iOS-разработки. Вы читали такой курс для студентов Высшей школе экономики. Кроме того, преподавали в Британской высшей школе дизайна. А еще стали одним из авторов онлайн-курса мобильной iOS-разработки, который вела компания Redmadrobot. Расскажите об этом опыте. Зачем вы этим занимались?

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

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

Ну и был онлайн-курс мобильной iOS-разработки для начинающих. Это был как раз мой первый опыт преподавания. Мы делали его в Redmadrobot в 2017–2018 годах. Курс помогал сделать первые шаги в профессии, получить базовые знания. И я лично знаю людей, которые прошли наш курс, а затем получили работу в больших компаниях.

— И все-таки, зачем вам преподавание?

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

— Можете оценить, какой охват был у ваших курсов?

— Сейчас подумаю. В «Британке» и в Высшей школе экономики это были полноценные потоки. Вместе с онлайн-курсом, думаю, до тысячи человек.

— Вы уже дважды участвовали в WWDC — отраслевой конференции Apple. Расскажите, что вас удивило, что понравилось, что произвело самое сильное впечатление?

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

Переход в международный стартап

— Почему следующим местом работы вы выбрали стартап Swiftlane?

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

— Можете в двух словах объяснить, чем занимается стартап?

— Основной продукт стартапа — умные домофоны. Вместо обычного домофона в офисах либо в многоквартирных домах мы вешаем на дверь iPhone, и ты можешь зайти в эту дверь, просто подойдя к ней. Распознавание занимает буквально полсекунды — iPhone сканирует твое лицо и включает механизм разблокировки дверей. Разблокировка реализована через наши hardware-решения, специальные платы, которые работают с разными типами замков. А дальше есть множество опций, как эту функциональность использовать — можно удаленно пустить курьера или гостей, можно по видеосвязи позвонить любому из жильцов дома, либо, если это офис, — позвонить на ресепшен нужной компании. Есть множество сценариев, как такой умный домофон может работать.

— То есть это не пилотный продукт или прототип, а существующий бизнес, правильно я понимаю?

— Да, это рабочий продукт, который уже год, как представлен на рынке. Но мы продолжаем его совершенствовать, развивать функциональность. У нас достаточно уже клиентов во многих штатах. Изначально это были офисные клиенты — компании. А когда начался COVID-19 и стало понятно, что многие будут работать из дома, мы сделали репозиционирование — адаптировали наш продукт под многоквартирные дома. Сейчас большая часть заказов на установку наших умных домофонов поступает именно из многоквартирных домов.

— Какая ваша зона ответственности в компании? Какие задачи решаете?

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

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