Что мне дало собственное приложение с открытыми исходным кодом
Продолжение поста про умение вовремя завершать проекты.
❓ Ниже будет список того, что я получил за 4+ года работы над собственным приложением
1️⃣ Опыт работы с Google Play и другими сторами
Если публикация приложения кажется для вас сложной задачей - вам кажется. Рано или поздно придется начать работать с отзывами, изменениями правил сторов, отменами выпусков новых версий приложения, удалениями проектов из магазинов.
Мне приходилось заполнять формы работы с персональными данными (была локальная БД + аналитика Firebase), хотя я в этом не особо шарил (зато пригодилось потом на одном из проектов на работе). Не самый интересный процесс, зато можно узнать много нового.
Общаться с пользователями и объяснять им, как, что и где им искать (в Google Play рядом какое-то время красавалось 2 отзыва типа “Не могу понять, как пользоваться приложением” и “Самое удобное из всех имеющихся приложений). Порой фидбека нет вообще, и приходится надеятся, что 1 звезда без комментария хоть как-то, но приобретет облик даже небольшого отзыва (не все пользователи дают уточнения).
Запускал A/Б-тесты с разными скриншотами/описанием и наблюдал, с каким оформлением пользователи чаще выбирают приложение. Не сказал бы, что тут выступал в роли продакта или аналитика, но было интересно наблюдать, как скриншоты с темной темой повышают скачивания на пару процентов (в отличии от светлой).
Как-то раз даже пришлось обновлять политику конфиденциальности, когда приложение было удалено из Google Play (делал это на сеансе первого Венома, старался не отвлекаться на обновление почты в надежде получить одобрение стора). В какой-то момент я даже подумал, что вообще не разблокируют, благо робот вернул приложение обратно.
Искал альтернативные варианты размещения - до 2022 года все аналоги Google Play не приносили пользователей от слова совсем, так что остановился в итоге на связке Google Play / GitHub Releases. Тут больше даже история про то, где можно искать новых юзеров, и есть ли в этом смысл.
2️⃣ Коммьюнити
Каким бы маленьким не было мое приложение, у него появились пользователи. Часть из них предлагала новые фичи, кто-то помогал с переводами, и даже нашлись контрибьюторы! Да, кто-то просто взял, и начал помогать мне делать приложение, причем бесплатно. Это поспособствовало появлению некоторых фич, ну и позволило ребятам внести вклад в хоть небольшое, но опубликованное приложение.
Архитектура и в целом кодовая база оставляла желать лучшего, но может быть простота (UI и бизнес мешался только так) позволили сделать вход в разработку более легким, а дальнейший переход на что-то более-менее внятное лишь добавил новых контрибьюторов.
Это так же позволило выстроить процессы работы с проектом. CI/CD-пайплайны, оформление пулл реквестов, возможность самим выбирать ишью - это лишь часть социалки, которую вы получите и над которой попрактикуетесь во время работы над опен сорсом.
В один момент это немного надоело, ибо вопросов было больше, чем времени у меня на их ответы, но дополнительно к этому я научился приоритизировать задачи и выбирать только самое нужное/действительно важное в данный момент.
3️⃣ Плацдарм для новых идей и экспериментов
В выпуске про пет-проекты я говорил, что если нужна какая-то практика, а на работее ее нет - можно попробовать реализовать что-то на собственном проекте.
Меня всегда интересовали CI/CD-пайплайны, автоматизация, ну и в целом выстраивание процессов работы над проектом. И за 4 года я перепробовал несколько вариантов того, а что вообще может происходить с кодом при коммитах или подготовках к публикации.
Я пробовал новые библиотеки, мог играться с архитектурой, сравнивать выбранные подходы с тем, что имелось на рабочих проектах. Пытался найти оптимальный вариант работы с проектами для себя - это позволило понять, что действительно нужно и важно, а что можно оставить на потом или делать иначе, чем я уже привык реализовывать.
Интервью в некоторые компании проходились проще как раз благодаря тому, что задачи, которых не хватало на работе, можно было делать на вполне нормальном проекте, и результат даже не был спрятан за ширмой NDA, что позволяло его показывать в любой удобный момент времени.
4️⃣ Строчка в резюме
Поскольку сейчас я не Android-разработчик, то на собеседованиях уделяю этой истории пару минут, дабы как-то дополнить свой опыт работы с Android. Но раньше довольно много рассказывал про приложение, что с ним в данный момент времени, ну и в целом говорил о процессах и том, что мне удалось реализовать.
5️⃣ Отклик в самом себе
Пока не попробуешь - не узнаешь. Если бы не начал делать свое приложение 4 года назад, то делал бы сейчас.
Open Source мне импонирует, и зайти в него через собственный проект оказалось более проще, чем через сторонние продукты.
Если у тебя мало опыта, то сторонний OS кажется чем-то недосягаемым, в то время собственные проекты можно делать сразу и как угодно. В процессе улучшения кода и построения небольшого сообщества станет ясно, насколько вам нужно залазить в код после работы и тратя на него свое время.
Каждый проект уникален. Я обходился без монетизации, и какое-то время ехал на голом энтузиазме, но оглядываясь назад не жалею, что мысли рекламы или подписки не взяли верх над внутренними желаниями просто сделать классное и хорошее приложение.
Но это не говорит о том, что все нужно делать ради идеи. Деньги - отличная мотивация заниматься любимым делом. Быть может наличие монетизации добавит вам дополнительный стимул работать над собственным проектом, а в будущем даже поможет продукту стать основной или существенной статьей личного дохода.