May 25, 2020

Разработчик мобильных приложений

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

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

К примеру, чтобы в ios получить фотку из фотогалереи, нужно получить разрешения у пользователя через всплывающее окно. Это все накладывает определенный отпечаток на дизайн мобильных приложений. Приходится везде писать и объяснять пользователю, на что он дает разрешение.

Кнопка "разрешить" очень пугает людей.

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

И самое больное место — это "платные подписки". У меня было 3 приложения с платной подпиской в App Store. Неплохо заработал в прошлом году на этом. Показываешь пользователю "получи бесплатно доступ на неделю", а через неделю списываешь с него деньги. Причем даже, если пользователь приложение удалит, то деньги списываться будут. Пользователи, конечно, жалуются, и Apple разработчиков банит за "намеренное введение в заблуждение". Но ничего нам не мешает открывать новые аккаунты.

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

— Чем ты занимаешься сейчас? — Я работаю мобильным разработчиком в крупном банке. Задач много, но в целом они не сложные, поэтому остается много времени на свои проекты или на учебу.

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

— Хорошо. Тогда расскажи, как ты туда попал, думаю, должна быть некая конкуренция? — Это супер длинная история. Я увлекся программированием в 11 лет и в 15 уже во всю фрилансил, сам себя обеспечивал. Закончил школу, пошел в университет на программиста. Тогда я еще жил в своем городе. Поступил очень легко, еще в школе студенческие(!) олимпиады выигрывал и проект на несколько тысяч человек запустил.

И вот меня приглашают в банк, в котором я сейчас работаю, на собеседование. И не знаю почему, но собедос я проваливаю. Еще добило то, что им не понравилось мое неоконченное высшее. Прошло полгода, и с ВУЗа меня отчислили за долги по "Прикладному программированию". Делать в моем городе было больше нечего, поэтому уехал в Москву.

Здесь 3 года проработал программистом в аутсорс компании, делали онлайн-казино для Швеции (даже вспоминать не хочу). Постоянно приходили предложения попробовать себя от разных компаний Яндекс/Mail.ru и тд. Я всегда игнорировал эти предложения, не хотел работать в корпорациях и, в принципе, в больших компаниях. Но аутсорс компания закрылась, и пришлось уйти в банковскую сферу, так как тут хотя бы платят хорошо. Поработал полгода в небольшом банке. И тут мне приходит предложение от моего текущего банка с зарплатой в полтора раза больше, чем на рынке. Меня это подкупило, перешел к ним. И, конечно, было очень приятно, что теперь они уже меня уговаривали у них работать.

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

Причина простая — крутых специалистов в России очень мало. Эмигрировать it-специалисту в США/Сингапур сейчас очень просто, тем более что программисты из России/Беларусии/Украины очень ценятся.

— Сколько платят в банке? — Не могу ответить из-за NDA. Могу сказать, как на рынке обстоят дела. У мобильных разработчиков моего уровня вилка зарплаты 190-250тр./м. В целом, так во всех топовых компаниях России, если говорим про офис в Москве. Кроме Яндекса, правда. У них зарплаты процентов на 20% ниже, но они дают много бонусов (оплачивают проезд до офиса, сбрасывают 15000р в месяц на питание, оплачивают фитнес и тд).

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

"Сейчас в российской науке разруха, поэтому все умные люди идут в IT".

Не могу сказать, что согласен. Просто так получилось и все.

— В фильме при Кремниевую долину Дудя было сказано, что программисты из СНГ востребованы, потому что за эквивалентные и даже превосходящие способности берут меньше. Почему так? — Ну тут, думаю, все логично. Зарплаты и затраты у нас в разы меньше, чем в США или Великобритании. А брать ровно столько же мы не можем, потому что всегда найдется разработчик/команда разработчиков, которая будет демпинговать цены. Поэтому всегда идем на компромисс.

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

— Если не секрет, то из какого города ты поехал покорять Москву? — Барнаул, Алтайский край.

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

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

— По какой причине твои приложения не попадали в магазин? — Приложение для любителей кальянов — "из-за пропаганды табака". Приложение с гороскопами — "на тему астрологии больше не принимаем приложения".

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

— Ты работал только на ios? Возможно ли найти в плеймаркете твои приложения? — Нет, на обе платформы. Я пишу на кроссплатформенной технологии. Но отдаю предпочтение ios, там люди платят чаще и больше. Пару дней назад мой аккаунт App Store забанили и приложения все удалили, поэтому сейчас можно найти только одно в Google Play.

— Какая платформа лояльнее всего к разработчикам: Play Market или App Store?— Play Market. Дело в том, что пользователи на iOS платежеспособней. 1000 установок в AppStore дает в 2-3 раза больше покупок, чем установки с Play Market.

Apple знает, что разработчики хотят работать именно с ними, поэтому и условия жестче, и проверки дольше.

В Play Market самая долгая проверка у меня была 3 дня. В AppStore — 5 недель. Опять же в Play Market куча новых инструментов и метрик для разработчиков. Мой любимый инструмент — это "эксперименты". С помощью него можно, например, сделать два разных названия для приложения, и через неделю посмотреть итоги и узнать с каким названием приложение качают чаще. В Apple ничего такого нет. Все очень "бедно", и довольно часто в кабинет разработчика просто не зайти. Либо из-за проблем с их сервером, либо из-за багов.

— За что забанили в App Store? — Было у меня одно приложение для знакомств, особо денег не приносило. Я его передал внутри AppStore другому разработчику. Такая возможность есть. Но покупатель оказался недобросовестный. Для модерации Apple он выводил один экран с платной подпиской, а уже после проверки (мы называем такое "белый экран") для пользователей выводил другой ("серый экран").

Соответственно, на "сером экране" пользователь видел, что "7 дней бесплатно!" и все. О том, что подписка продлевается автоматически, не писали. В итоге этого разработчика заблокировало Apple, а вслед все аккаунты, которые передавали ему права на приложения.

— А какое самое успешное приложение? — Приложение с обоями. Как ни странно, люди очень много качают такое, больше 120 000 установок за 9 месяцев.

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

— То есть все построилось с исключительно практическим подходом? Ты никогда не работал, так сказать, за идею? — В мобильных приложениях — нет, сюда я пришёл зарабатывать. В школе что-то делал «за идею», но тоже редко.

— Как запустить своё приложение в маркет? Что для этого нужно? — Для начала купить аккаунт разработчика, с каждым годом это все сложнее, ужесточают правила. Потом, написав приложение, нужно составить грамотное ASO (application store optimization), чтобы люди через поиск могли найти приложение. Ключевые слова, описание, иконочка и тд. А дальше либо рекламу прямую покупаешь, либо поднимаешь свое приложение в запросе через мотивированные установки (платишь людям, чтобы они по определенному слову нашли твое приложение и установили).

— Почему аккаунт разработчика нужно покупать, сколько он стоит и как проходит процедура по «загрузке» приложения в магазин? Кто отбирает приложения? — Под "покупкой аккаунта" имею ввиду "покупку лицензии". Ничего особенного, на самом деле. Просто пошлина от Apple/Google.

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

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

— Как работает монетизация? — Приложение либо платное, либо внутренние покупки (подписка, например). Деньги получает магазин, берет свой процент (~30%), деньги разработчику уходят раз в 40-50 дней.

— Как много можно зарабатывать с одного приложения? — У меня самое "крутое" приносило 1000-2000$. У друзей: у одного приложение по обучению ПДД приносит около 3000-4000$, у еще одного друга приложение по изучению английского приносят 10000-20000$. Очень многое зависит от тематики приложения.

Кто работает в тематике "медицина/здоровье" почти все рублевые миллионеры. Ну из топ-30, скажем так.

— Тридцатка в топе — достаточно серьезное место?— Все зависит от тематики, да и прямой корреляции нет (зависимости установка/покупка).

Мои знакомые делали FaceApp (это наши ребята из Питера), и в прошлом году они «выстрелили» и были приложением #1 довольно долго и во многих странах, даже в самых платежеспособных США/Великобритания/Австралия. И у них были миллионы долларов.

— Места в топе всегда заслуженные? — Нет конечно, можно закупить рекламу и за день выйти на первое место.

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