Александр Мурзанаев: «Наше основное требование — это страсть к профессии»
«Мобильный разработчик должен прежде всего любить смартфоны, а уже потом знать Swift и Kotlin». Беседуем с руководителем студии AppCraft.
vlada_maestro / shutterstock
В интервью Александр Мурзанаев, CEO AppCraft, рассказывает:
- про три мировых тренда на ближайшую пару лет;
- каких кандидатов не рассматривает AppCraft, когда ищет разработчиков;
- реально ли в одиночку создать и вывести на рынок мобильное приложение;
- про основные ошибки начинающих разработчиков;
- почему руководителю тяжело уйти от роли специалиста;
- чем его заворожило программирование;
- почему перестал заниматься играми;
- а также даёт пять советов мобильным стартаперам.
— Начнём с тенденций. Какие они сегодня, и везде ли в мире одинаковы?
— Общие тренды одинаковы во всех регионах. Везде нужны удобные, умные, быстрые и интуитивно понятные приложения. Различия обусловлены скорее законодательными нюансами, чем разными потребностями.
Например, в Европе уже не первый год развивается мобильный банкинг Revolut. Подключаете к нему банковский счёт, и система помогает вам по-умному сохранять и приумножать деньги — инвестировать, например. Банк позволяет управлять деньгами любому сервису, который одобрил клиент. Так в Евросоюзе. В других регионах — другие законы. Поэтому там пока нет таких продуктов, хотя потребность в них очевидна.
Я вижу три основных мировых тренда:
- Развитие коммуникаций между людьми в самых разных формах.
- Умные помощники, которые экономят время пользователя, разгружают его внимание, избавляют от множества рутинных действий. Это и планирование путешествия одной кнопкой, и советы по сбережению денег, и выбор музыки с фильмами, и тому подобное.
- Tech For Good. Традиционно технологии противопоставляются природе, естественности. Сейчас, особенно в Европе, многие ломают этот стереотип — помогают своими проектами окружающей среде, людям, отношениям.
Тренды меняются примерно каждые два-три года. Три нынешних сформировались около года назад. Поэтому пару лет нас ожидает движение именно в этих направлениях.
Любопытно, что в дополненной и виртуальной реальности, блокчейне и некоторых других областях, на которые возлагали надежды не так давно, никаких подвижек не предвидится. Для массового потребителя эти технологии сегодня не имеют практической пользы — такой, какая есть, например, у машинного обучения. Оно создаёт «магическую умность», используется в распознавании изображений, обработке видео, фотографий и так далее. Остальное пока в лабораториях.
Так что, я считаю, разработчикам стоит сосредоточиться на том, что применимо уже сегодня.
«Важно самому пройти всё от и до»
— Что должен уметь разработчик, чтобы попасть в вашу команду? Какими инструментами и языками владеть?
— Мобильный разработчик должен прежде всего любить смартфоны, а уже потом знать Swift и Kotlin.
Наше основное требование — это страсть к профессии. Сложно представить себе резчика по дереву, у которого дома нет ни одной деревянной фигурки. Или музыканта, который не написал ничего для себя. Не бывает и хорошего программиста без единого собственного проекта. Дело не в том, что сотрудник должен это делать. Просто профессионал не может по-другому. Без желания, любопытства, потребности открывать для себя новое никогда не получится создать что-то стоящее.
Поэтому мы не рассматриваем резюме frontend-специалиста, у которого нет своих проб, проектов со сложной вёрсткой и анимацией, даже если послужной список у него внушителен.
Всем тонкостям внутренней кухни, технологиям, правилам в нашей команде мы постепенно научим. Я думаю, так поступают и другие дальновидные компании — несложно обучить того, кто получает удовольствие от выбранной области.
— Вам нужны чисто пробы пера или проекты, сделанные с нуля до релиза?
— Хотя бы рабочие прототипы. А в идеале — да, готовые проекты, пусть и небольшие.
— Вообще реально в одиночку создать приложение и вывести его на рынок?
— Более чем реально! Кроме того, это стоит делать со своими pet-проектами. Иначе не поймёшь, работают ли результаты твоего труда.
Важно самому пройти всё от и до. Например, ты написал нереально крутую фичу, но её никто не поймёт и не будет использовать, пока толково не объяснишь в туториале — и это тоже нужно уметь. А если сам не пробовал делать UI, то тебе будет сложно говорить на одном языке с дизайнерами.
— Что для этого нужно?
— Разобраться с полным циклом разработки и методично идти от аналитики и маркетинга до проведения когортных исследований. Каждый шаг позволяет лучше понять сферу мобильной разработки, даёт важные знания и, главное, опыт.
И если ты можешь сам пройти эти шаги — тебе будут рады везде.
Молодо-зелено
— К вам приходят со своими идеями стартапы? С какими чаще всего?
— От агрегаторов ресторанов для собак и ночной дозаправки авто у дома до масштабных социальных сетей и видеомессенджеров.
Раньше чаще всего хотели сделать копию Uber для своего города. Таких входящих могло быть больше пяти в неделю! Сейчас пальма первенства — за коммуникациями: телемедицина, организация вебинаров и другие сферы, связанные с взаимодействием людей. Об этом тренде пишут и многие аналитические агентства, он повсеместный.
— Какая помощь нужна новичкам?
— Как правило, оценить идею: считаем ли мы её рабочей, какие главные риски видим. Ещё молодые разработчики хотят знать, как сделать продукт виральным, как повысить его органику, какой инфоповод использовать после запуска.
За такие консультации мы денег не берём. Рынок разработки мобильных приложений в России очень молодой. И, несмотря на быстро пройденный путь, мы сильно отстаём от западных коллег по целому ряду параметров — от рыночной аналитики до маркетинга. В этих условиях выгодно помогать друг другу, открыто делиться информацией и быть честными.
— Какие ошибки совершают начинающие разработчики чаще всего?
— Основная — сосредоточиться на одной стороне разработки: на коде, на интерфейсе или на продвижении. Мобильному разработчику важно попробовать это всё, чтобы потом учитывать все шаги развития продукта целиком.
Я слышал как-то, что в финской армии есть правило: если кого-то решено повысить в должности, то испытательный срок он проходит на ещё более высокой позиции. Выполняя задачи руководства, он глубже понимает, что и зачем нужно, осознаёт приоритеты и ответственность, так как побывал на месте своего начальника.
И у разработчиков те же проблемы. Если ты программист и не пробовал продвигать приложение, то часто воспринимаешь в штыки задачи заказчика. Считаешь, что он сам не понимает, чего хочет. Так продуктивность и падает.
— А какие ошибки были у вас самих?
— Да те же самые. Первые свои приложения мы считали прекрасными, но они были совершенно негодными как продукты. Только со временем мы научились смотреть на вещи шире. Поняли, что нужно видеть продукт со всех сторон: анализировать статистику вместе с менеджерами, смотреть, как пользователи запускают приложение и выполняют в нём задачи, и так далее.
Лично мои ошибки: как и многим руководителям, мне было тяжело уйти от роли специалиста. Постоянно хотелось вмешаться и «сделать по уму» — так, как себе представляю именно я. Казалось, что другие сработают не так хорошо. Но всё это — ошибочное восприятие, порождённое неумением управлять.
Вокруг тебя полно прекрасных людей и спецов, которые способны работать лучше, чем ты. Если это не так, то рабочие процессы выстроены неправильно. Классическое «нужно работать не в компании, а над компанией» воплотить в жизнь гораздо сложнее, чем кажется.
От игр к мобильным приложениям
— Ваш сайт говорит, что AppCraft возник в 2008 году. С чего вы начинали?
— В 2007 году я купил первую модель iPhone. Магазин приложений тогда ещё не появился, предустановленных программ было мало, но щупать устройство было очень интересно. Большой экран, удобный интерфейс, высокая скорость работы натолкнули на мысли о прекрасном будущем технологий. Годом позже, сразу после появления на прилавках, я заказал Android Dev Phone 1.
Первое приложение, которое я под него создал, измеряло высоту, с которой упал смартфон. Для расчётов применялись акселерометр и таймер. При желании можно было узнать и высоту многоэтажки, но сомневаюсь, что после такого телефон бы выжил. Пользоваться приложением можно было хоть на Луне, хоть на Звезде Смерти — спасибо программистам из Google, добавившим в Android много гравитационных постоянных, в том числе и для вымышленных объектов.
Следующим увлечением стали, конечно, игры. Я придумывал разные. Например, про снежный ком, который нужно было катить, дуя в микрофон телефона. Челлендж появлялся, когда снежный шар становился большим — сдвигать его становилось всё труднее, и дуть приходилось изо всех сил. В 2009-м сделал даже собственный файтинг вроде того, каким потом получился Pokemon Go. Там игроку нужно было сражаться с монстрами, сжимая телефон в кулаке и лупя им по воздуху.
Благодаря редкой рекламе в играх удавалось зарабатывать до 30–80 тысяч рублей с каждой. Тогда можно было содержать команду, выложив в магазин около 20 приложений. Но мало того, что игры тяжело разрабатывать в одиночку, это ещё и очень нестабильное направление. Есть много примеров, когда маститые разработчики запустили всего один-два хита, на которых удалось зарабатывать. Rovio (Angry Birds) или Supercell (Clash of Clans) — все развивают только свой основной продукт. Любое отклонение в сторону заканчивается неудачей.
Игра, которая приносит серьёзный доход, — явление редкое даже при сотрудничестве с крупными издателями.
— То есть игры — пройденный этап?
— Да, потому что социальные сети, мессенджеры, интернет-магазины, утилиты живут дольше. Действительно полезные приложения задерживаются на устройствах годами. Поэтому захотелось создавать именно их.
Помню, как разослал ровно триста писем в разные компании с описанием плюсов, которые даёт собственное мобильное приложение. Ответили из двух. Одни просто поинтересовались ценой, а вот со вторыми удалось заключить договор. Так и получилось, что первым нашим клиентом стала сеть ресторанов суши. Это был 2012 год.
«Человек хорошо умеет делать то, что он делает»
— Чуть раньше мы говорили про страсть к разработке. А как сами вы пристрастились к программированию?
— В конце девяностых родители купили нам с братом компьютер. Причём сначала приобрели клавиатуру, мышь и монитор, а системный блок последовал годом позже. Пока у нас не было главного устройства, мне очень нравилось просто печатать. Особенно — слова «программирование» и «вакуоль». Их буквы очень удобно расположены, и набирать их — одно удовольствие, попробуйте.
На компьютере мне нравилось делать всё. Работать с документами, играть, рыться в настройках, программировать — просто всё подряд. Писать алгоритмы я, кстати, пробовал ещё на бумаге: это тоже было интересно, а почему — я тогда и не задумывался.
Позже я нашёл причину своей тяги к программированию. Меня завораживал именно процесс материализации мысли. Вот ты думаешь о чём-то, записал — и оно работает само по себе. Это как изобретательство, но быстрее, гибче и без ограничений физического мира.
— А как же книги, учителя или курсы?
— Читал я всё подряд: пошаговые инструкции, статьи, книги, классических Страуструпа, Ритчи и Кнута, руководства по написанию игр и многое другое. Но, как правило, сначала пробовал сделать что-то сам. Учебник брал в руки только тогда, когда мои исследования заходили в тупик и я тратил на препятствие очень много времени. Сейчас это звучит не слишком разумно, но, если вы наслаждаетесь самим процессом, эффект от такого подхода точно есть, поверьте.
В образовании я практик. Считаю, что человек хорошо умеет делать то, что он делает. Мы без труда ходим, говорим и едим, хотя даже это поначалу было непросто. Но мы брали и делали, и только потому это получается теперь так легко.
Если только ходить на конференции, то и научишься ходить на конференции, не более. Конечно, будешь безошибочно выбирать удобные места, быстрее всех подходить к еде в перерывах и делать многие другие полезные штуки. Однако твои рабочие навыки так не продвинутся ни на йоту.
Это справедливо для всего: читаешь — будешь отлично уметь читать, проходишь курсы — научишься проходить курсы, программируешь — сможешь отлично программировать. Поэтому в первую очередь мы пишем код, работаем над дизайном, тестируем, пробуем себя в роли пользователей. Уже после читаем обо всём, что происходит в мире, в области разработки мобильных приложений.
— Что ещё посоветуете, кроме практики?
— Сложно выбрать какую-то конкретную книгу или источник. Если ты хочешь попробовать что-то, сначала возьми и попробуй. Как только начнёшь, следующий вопрос придёт сам собой. Это и будет новой точкой получения знаний.
— А тем, кто уже сделал первые шаги, — мобильным стартапам — что порекомендуете?
— Во-первых, заключите сделку сегодня. Что бы это ни было, вы можете найти потенциального пользователя и продать ему свой продукт, показав презентацию, сказав, что вот-вот будет готово, или просто узнаете мнение. Если это не получается сделать в девяти случаях из десяти — продукта у вас нет.
Во-вторых, сделайте MVP, вкладываясь в разработку по минимуму. Получите первых пользователей и только после этого развивайте сервис.
В-третьих, смотрите на решение проблемы широко, не зацикливайтесь на технологиях. Технология — лишь одна из сторон решения, далеко не всегда определяющая. Мобильное приложение, сайт, что-то бумажное или телефонное — клиенту не важно, как вы это сделаете.
В-четвёртых, не ищите деньги под идею. Она не стоит ничего. Всегда важна реализация. Крупные компании покупают небольшие команды за сотни миллионов не из-за выпущенного продукта. Facebook*, Microsoft, Amazon покупают людей, способных сделать этот продукт и довести его до ума. Сначала докажите, что вы можете получить и удержать хотя бы десять пользователей; всё остальное покажут цифры.
И наконец, будьте честны с собой. Тяжело признавать, что твоя идея не работает. Попробуйте поменять точку зрения, не игнорируйте цифры и не убеждайте себя, что вот-вот что-то изменится. Смотрите правде в глаза. Будьте упорными, а не упрямыми. Это тонкая грань.