Влад Дугнист: «чтобы протестить новые фичи, мы прыгаем с высоты 4000 метров»

Всем привет, сегодня мы обсудим с Владом Дугнистом путь от iOS разработчика к сооснователю стартапа. Влад, кажется, успел попробовать в разработке абсолютно все: начинал с С, перешел на разработку приложений под iOS, успел попробовать Kotlin для Android, писал утилиты и бекенд на Python, сайты на AngularJS, погружался в AR. Последний год Влад работает над мобильным приложением для парашютистов Skyduck. Мы обсудим как превратить хобби в стартап, когда стоит уходить с работы по найму и как выстроить удаленную работу в экстремальных условиях.

Влад, Привет! Расскажи пожалуйста, с чего начался твой путь в разработке?

Программировать я начал на первых курсах университета, первым языком был С. Сначала это были задачки на acmp.ru, потом немного поучаствовал в контестах. Когда настало время выбирать следующий язык, решил выучить Objective-C. Сменил Linux + gcc на OS X + Xcode и начал писать первые поделки под iOS.

Через некоторое время устроился на первую работу. Там меня сразу отправили проходить курс CS 193P на iTunes U, так как моих знаний с трудом хватало на одноэкранное приложение без логики.

Когда ты решил попробовать второй язык программирования и почему? Что это дало, где пригодилось?

До Objective-C я немного писал на C, Visual Basic и ассемблере в университете. На первой работе использовал Bash и Ruby для автоматизации ручной работы. После этого успел попробовать Python, Java (Android), Javascript (AngularJS), Kotlin. Каждый следующий язык учить легче, так как всё больше и больше подходов становятся тебе знакомыми.

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

Ты говорил, что разрабатывал AR приложения (дополненная реальность). Расскажи пожалуйста, что это были за проекты и как вообще подступиться к этому направлению, что желательно знать и уметь?

AR в мобильных приложениях находится на стыке 3D разработки и разработки интерфейсов. Нужно иметь либо опыт iOS/Android, тогда придётся изучить работу с 3D графикой, либо опыт Unity, тогда нужно будет разобраться в вёрстке интерфейсов. Сам AR достаточно прост, гораздо сложнее было научиться работать с движком для рендера. В моём случае это был SceneKit.

Один из проектов – iFunnyCam, он до сих пор есть в сторе. Это фото/видео камера с возможностью добавлять на сцену отрисованные нами AR модели. Второй проект был рэндом чатом, вроде чатрулета, в котором вместо видео представлен твой 3D аватар (как в animoji).

У тебя есть опыт работы и над аутсорс проектами, и в продуктовых компаниях. Расскажи пожалуйста, в чем между ними разница и что тебе нравится больше?

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

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

Сейчас ты работаешь над своим проектом — Skyduck app. Как возникла идея проекта?

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

Я согласился. Тогда я ещё не знал, что в ближайшие выходные я буду сидеть в самолёте, пристёгнутым к тандем мастеру перед своим первым прыжком. И сколько прыжков будет еще впереди. Было ли страшно? Первые 15 прыжков — да, потом страх полностью исчез. Сейчас у меня уже есть лицензия и я могу прыгать самостоятельно. Это очень помогает при придумывании новых фич, проектировании интерфейсов, отлове багов.

прыжок в команде — лучший тимбилдинг

Как ты на это решился? 🙂

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

Научиться достаточно просто: можно записаться на AFF (Accelerated Free Fall – курс начинающего парашютиста), где ты попробуешь 7 прыжков и  научишься перемещаться во время свободного падения. Первый прыжок в тандеме, потом два с двумя инструкторами и четыре с одним инструктором. Можно двигаться вперёд, назад, влево, вправо, вверх, вниз и вращаться. Когда понимаешь, как всё это работает, ты уже не просто падаешь, а летаешь, используя для этого только своё тело. И ради этого ощущения полета хочется прыгать вновь и вновь.

Пока готовила это интервью, мне тоже захотелось прыгнуть 🙂 А как устроено ваше приложение? Чем оно помогает парашютистам?

У каждого парашютиста есть парашютная книжка, она же логбук. Туда записываются данные о каждом прыжке: номер прыжка, дата, дропзона (аэродром, на котором прыгают парашютисты), модель парашюта, модель самолёта, высота отделения, время свободного падения и цель прыжка. После заполнения прыжок нужно дать другому парашютисту на подпись. Эта книжка – подтверждение твоего опыта. Она нужна для получения новых лицензий и допуска к прыжкам на новой дропзоне.

Мы же сделали приложение, которое с помощью сенсоров телефона записывает твою траекторию полёта. Это как бумажный логбук, только к каждому прыжку прикреплён трек. Из этого трека мы заполняем автоматически почти все поля, что упрощает ведение логбука. А ещё можно посмотреть графики высоты, скорости, перегрузок и увидеть траекторию своего полёта на 3D карте — сразу же после приземления.

Важная часть нашего приложения – библиотека, которая улучшает качество трека. Мы используем GPS для получения широты/долготы и барометр для получения высоты. Но эти сенсоры работают с частотой 1Hz. Поэтому мы берём 100Hz данные от акселерометра, магнитометра и гироскопа, с помощью которых мы улучшаем качество GPS и интерполируем трек до 10Hz.

Круто! А как решиться перейти с работы по найму на свой проект? Как лучше подготовиться? На какой стадии проекта это вообще имеет смысл?

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

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

Такой нетворк поможет при поиске исполнителей для тех задач, которые не может закрыть текущая команда.

Например, хотя я сейчас и работаю удалённо, большую часть времени нахожусь в Москве. Тут есть митапы, и я на них хожу.

Также полезно разбираться не только в одной области. За время работы над Skyduck я писал на Swift, Objective-C, C++, C, Python, Kotlin. Пришлось разбираться не только в разработке. Мы хотели сделать промо видео о нашем продукте и обратились к видеомейкеру. Когда за рекламное видео нам озвучили цену в 500$ и 2 недели работы, мы в тот же день сняли прыжок на GoPro, я за вечер смонтировал первую версию видео, а Игорь за две ночи доделал ее до финальной. Задача была решена:

Как собирали первых пользователей и обратную связь?

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

Первая реакция была «Что, правда, только телефон нужен? Как поставить?». Они были удивлены, что для получения данных мы не используем дополнительные устройства. До этого на рынке был Flysight (небольшое устройство с GPS и барометром), который выполнял те же функции, но для просмотра данных нужно было подключать его к ноутбуку и использовать специальный софт.

Мы же предложили решение, которое показывало данные по прыжку сразу после приземления — это совсем другие ощущения и визуализация прогресса.

Как организована работа в вашей команде? какие сервисы используете? как координируете часовые пояса?

С командой работаем удалённо. Для общения используем чаты в Telegram, звонки в Skype, задачи в Trello, документация по API в Postman, дизайн в Zeplin. Когда проектируем новые фичи, встречаемся в коворкинге или на дропзоне.

Часовые пояса меняются, так как мы не сидим на месте. Весной мы тестировали приложение на дропзоне в LA, но с командой созванивались в удобное время по Москве. Почти вся команда у нас в России.

Удалёнку выбрали для возможности перемещений и возможности работы с сотрудниками из разных городов.

В целом, мы стараемся побыстрее доделать новые фичи, чтобы можно было пойти их потестировать (прыгнуть с парашютом, чтобы увидеть новую версию в продакшне). 

В полет мы берём с собой один-два телефона + Flysight. Потом смотрим 3D трек и сравниваем с тем, что сами запомнили (примерные координаты отделения, траектория захода на посадку, точка посадки). Также сравниваем с данными от Flysight.

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

тестирую новую версию Skyduck

Какие у тебя требования к участникам, что важно для тех кого берешь в стартап?

У нас, кроме фаундеров, full-time работает только математик. Остальные сотрудники работают по сдельной форме оплаты. Мы описываем задачу, они выставляют ценник. Платим только за результат. От них требуется качественная работа ¯\_(ツ)_/¯

Сами они не прыгают, но парашюты им нравятся 🙂

Веришь ли ты в опционы как способ мотивации своих сотрудников? Реально ли их внедрить для удаленной команды?

Верю, это хороший способ отблагодарить и удержать ключевых сотрудников. На стадии создания мы заложили 10% в ESOP (Employee Stock Ownership Plan — план по опционам для сотрудников компании). Это сейчас стандарт в индустрии.

Пока ваше приложение доступно только для iOS. Нужно ли делать приложение на Android? Если да, то когда?

На Google I/O говорили о 2.5 млрд активных андроид устройств. Рынок большой, конечно нужно.

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

Но Андроид версия обязательно будет, если iOS понравится пользователям.

Как ты предпочитаешь работать? Из каких мест, в каком режиме и что можешь посоветовать?

Я могу работать в любом месте: дома, в кафе, в коворкинге, на дропзоне. Иногда меняю локации для разнообразия. Дома у меня организован рабочий стол, но я часто перемещаюсь между столом, кроватью и диваном. Так что из организации рабочего места могу только посоветовать ноутбук.

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

С чего можешь посоветовать начать тем разработчикам, которые хотят начать работать над своими проектами?

Начать работать над ним в свободное время. Тебе придётся самостоятельно закрывать задачи из разных областей или искать нужных людей. Всё как и и после перехода в свой стартап.

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

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

Поделиться ссылкой:

Добавить комментарий