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

Моя профессиональная деятельность началась по классическому сценарию: будучи студентом БГУИРа средних курсов, после некоторых мытарств, мне удалось успешно выполнить тестовое задание и устроиться в it-фирму в качестве инженера-программиста с зарплатой в 300$ и частичной занятостью, а также параллельно попасть на курсы EPAM по языку C# и платформе .NET (к слову сказать, курсы оказались очень полезными). Волей случая так определилась специализация, в которой начал развиваться. Учёба съехала, даже были мысли перейти на заочное отделение, но вовремя одумался.
Часто можно услышать мнение, что диплом — пустая бумага, трата времени, а университетские познания неприменимы в реальной жизни и прочее, и прочее… Я с этим не согласен. Любая учеба — отличный фитнес для мозга, она развивает мышление — это её главная цель! Если перестать тренировать своё тело физическими нагрузками, то рано или поздно оно ослабнет, а перестанешь учиться — упадёт интеллектуальный тонус. Самому себя очень трудно заставить учиться, на это способны единицы, а университет волей-неволей принуждает к этому многих. Диплом же — некоторый показатель усидчивости и упорства человека, умения завершать начатое.
Уже на первом месте работы возникла идея, попробовать себя в качестве независимого разработчика и сделать собственную программу на основе некоторых свежих познаний. Решено было делать что-то не слишком сложное и то, чем бы сам смог пользоваться, — текстовый редактор для Windows! Конечно, таких редакторов уже на тот момент существовало пруд пруди, и довольно мощных, но мне они не совсем нравились, и была чёткая уверенность, что можно сделать лучше. Начал делать, но сырой вариант в общий доступ не выкладывал.
Работник из меня был хоть и не глупый, но не слишком исполнительный, поэтому после года работы и нескольких моих косяков меня попросили уволиться (на тот момент зарплата составляла 450$). Тут-то и пригодился текстовый редактор! Одна фирма как раз искала специалиста моего профиля, а заказчик увидев такой козырь не смог отказать, даже зарплату предложили в 800$ (испытательный 750$). Курьёзно, но первый месяц-полтора из-за бюрократических проволочек с заказчиком я просто приходил на фирму и ни черта не делал! То есть не было никакой работы, а занимался я своими делами, писал лабы, например :) Были мысли, что про меня попросту забыли, но первую зарплату выплатили исправно… Наконец вспомнили и я приступил к исполнению своих прямых обязанностей.
Проект попался хороший в техническом плане — я понял и как надо делать, и как не надо :) После чего переписал свой редактор с нуля и выложил в открытый доступ. В качестве модели монетизации для него выбрал обычные пожертвования (за несколько лет существования редактора лишь один добрый человек пожертвовал 5$). Но за этот период очень многому научился, получил также навыки работы в команде.

Пролетели полтора года, тот изначальный проект закончился, меня перебросили на очень скучный другой, смутная неудовлетворённость росла, настало время что-то менять. К тому времени зарплата составляла 1100$. После основательных поисков и большого ряда собеседований мне удалось найти хорошее место с зарплатой аж в 2000$(испытательный 1800$), в то время на старом месте мне предлагали 1300, чтобы остался, — выбор был очевиден.
Как раз за этот период я научился проходить технические собеседования. Первые несколько завалил, поскольку не мог чётко сформулировать ответы на классические вопросы. Но немного погуглив, заполнил пробелы в знаниях и дальнейшие собеседования стал проходить без затруднений.
Так что могу дать дельный совет: если у вас есть цель попасть в определённую фирму на должность с хорошей оплатой, то сначала сходите на разведку в другие аналогичные компании, менее приоритетные, чтобы выявить свои пробелы в знаниях. Этот совет касается разработчиков с некоторым опытом. Новичкам же стоит делать предлагаемые тестовые задания или свои собственные ученические проекты, которые можно прикрепить к резюме — вы определёно чему-то научитесь и будете выглядеть намного выгоднее.
На новом месте работы мне повезло попасть в очень дружную и сильную в техническом плане команду, тут же получил хорошие базовые навыки разработки мобильных приложений для платформы Windows Phone. Но у меня не слишком заладились отношения с руководством, поэтому испытательный срок я не прошёл. Решил, что это знак отправиться в вольное плавание и попробовать себя на поприще мобильных приложений, поскольку эта тема на то время была в тренде, а на платформе Windows Phone конкуренция была ещё не так высока, как на других.
Первое опубликованное приложение набрало 0 загрузок! Не знаю точно, что пошло не так, но это же приложение я слегка улучшил и переопубликовал снова, но уже под другим названием — Easel (Мольберт), — загрузки пошли. Меня очень увлёк сам процесс разработки и созидания чего-то нового. Дизайн и концепция программы рождались постепенно, итеративно. За два года на этой волне появились и другие приложения. Аккаунт разработчика тут, а некоторые другие приложения, к которым довелось приложить руку, можно отыскать здесь.
Одна из первых версий Easel и дальнейшая эволюция дизайна:


Geo Map — рисуйте на карте!
Сравнивайте размеры и площади географических объектов!


Ниже представлены скриншоты приложения Active Player (aka Aero Player)


Естественно, пробовал разные модели монетезации: платные версии, реклама, их комбинации, — но всё это баловство, правда! :) Чтобы заработать что-то существенное нужна очень высокая популярность и мощное продвижение. Не использовал только покупки внутри приложения, говорят, что они наиболее эффективные, но даже если они и в 20 раз эффективнее платной версии, то это совершенно не те деньги.
Статистика на момент написания статьи:
общее число загрузок всех приложений — 118 000
заработок на платных версиях — ~70$
заработок с рекламы — 108$
Active Player — 18 935 (free)
Aero Player — 3 200 (trial/paid) ~5$
Aero Player Free — 27 137 (free)
Easel — 20 050 (free/trial/paid) ~32$
Easel Free — 12 450 (free)
Geo Map — 9 (trial/paid) ~5$
Geo Map Free — 10 767 (free)
Solfeggio — 16 061 (free/trial/paid) ~28$
Solfeggio Free — 10 142 (free)
Sparrow Pad — 169 (free)
Очевидно, цифры заработка смешные. Конечно, при большом желании, можно было бы «выдавить» больше денег, пусть даже раз в десять, но это точно не стоит тех усилий. Логично, что приложения никак не смогли бы прокормить меня, поэтому приходилось периодически подрабатывать удалённо и в качестве фрилансера. К маю месяцу этого года материальные запасы настолько истощились, что пришлось искать обычную офисную работу :) На новом месте уже предложили оплату в 2500$ (испытательный 2400$). Примечательно, но для того, чтобы заманить к себе, также предложили безвозмездный бонус в 2500$ после двух недель работы, если я к ним пойду и благополучно отработаю эти две недели. Это решало мои материальные затруднения, поэтому согласился, других подобных вариантов не было.
Уже на протяжении трёх месяцев работаю на этой фирме, но уже заранее предупредил коллег, что в скором будущем ухожу. На свои проекты сейчас мало времени, однако они живы, и я постоянно думаю, как их улучшить и что можно сделать ещё, что немаловажно. Меня очень тянет к созиданию нового, самовыражению — и тут главный ответ на вопрос, для чего я занимаюсь делом, которое не приносит прямого дохода… Я чувствую в этом самореализацию, мне это по кайфу. Мою душу согревают пусть и немногочисленные, но позитивные отзывы пользователей, рождение чего-то нового в этом мире :)
Но ошибочно думать, что я не получил ничего материального от этой деятельности. Косвенно, всё это повысило мой технический уровень настолько, что сейчас могу устроиться на работу с выгодной оплатой. Это конечно не то, о чём мечтаю, но придаёт уверенности в своих силах. Такой косвенный доход трудно рассчитать, но без тех приложений его бы не было.
Поясню немного предыдущий пункт. Работая рядовым программистом-исполнителем как правило имеешь дело лишь с небольшим участком приложения, тем, за который отвечаешь, а об остальной части и общей архитектуре у тебя очень смутное представление. Создание же программ с нуля (от идеи до готового варианта) позволяет пройтись полностью по всем этапам жизненного цикла и разработки, прочувствовать их взаимосвязь, что значительно поднимает в свою очередь уровень системного мышления.
Напоследок несколько ключевых моментов и наблюдений, которые отметил для себя:
• на мобильных приложениях с лёгкостью не получишь прямого дохода, но можно серьёзно повысить свои технические и аналитические навыки
• высокое качество нового приложения слабо влияет на рейтинг, аналогичные, но гораздо менее функциональные, находящиеся в топе, обычно его превосходят и с этим мало что поделаешь
• мобильные приложения трудно и затратно продвигать, с большой долей вероятности не окупятся
• стандартный жизненный цикл качественного приложения, не попадающего в долгосрочный топ, выглядит примерно так: попадание в топ новых после публикации (500-1000 загрузок в день на протяжении полумесяца), а затем дальнейшее неминуемое падение загрузок до 30-50 в день. Обновлениями эту ситуацию уже вряд ли выправишь (мне не удавалось), поэтому рекомендую новую версию публиковать уже как другое приложение, чтобы оно снова попало в топ новых… Теоретически, так можно делать сколько угодно раз
• ещё до публикации обязательно добавьте диалог с предложением оценить приложение или оставить отзыв (сильно влияет на рейтинг)
• приложения можно использовать в качестве масштабных рекламных площадок для собственных товаров и услуг, а также для продвижения своих же других приложений (!)
• если вы чувствуете в этом своё призвание, то дерзайте
• люди, которые переходят на стадию воплощения идей со стадии их вынашивания, делают большой шаг вперёд…
Есть обычные программисты, а есть такой программист, как вы, у которого есть множество собственных реализованных проектов.
Их основная цель создания — упростить некоторые рутинные операции, чтобы меньше проводить времени за компьютером и телефоном, больше участвовать в процессе реальной жизни. Я не хочу делать приложения, которые наоборот затягивают пользователя и принуждают проводить больше времени за экраном, пусть даже они приносят немало денег.
Как пример, можно привести шазам, это очень клевое и суперпотенциальное приложение, даже на уровне идеи, которое не удерживает пользователя за экраном.
1. Странноватые идеи для приложений
2. Отсутствие действий по продвижению своих продуктов, этот пункт вообще у многих стартаперов страдает.
За материал спасибо, немного понял, как думают самостоятельные разработчики.