💥 Ищем старшего системного аналитика (SQL, XML, JSON, SOAP) для участия в Публичном собеседовании на Хабр Карьере. Оставить заявку → Участвую!

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

Местоположение и тип занятости

Полный рабочий деньМожно удаленно

Компания

Разрабатываем мобильные приложения для создания музыки

Описание вакансии

Условия работы

Привет! Мы ищем Android разработчика уровня Middle или выше в продуктовую компанию для дистанционной работы.

Что мы делаем

Уже 9 лет мы создаем музыкальные приложения: Drum Pads 24, MixMate и Loop Pads для создания музыки для любителей и опытных музыкантов, Rhythms для обучения новичков, Go Rap для рэпперов.

На сегодня у наших приложений более 75 миллионов установок.  Для некоторых пользователей наши приложения - это первый опыт создания музыки. Наше отношение к качеству саундпаков, качеству приложений и регулярное общение с пользователями позволило нам собрать активное сообщество вокруг наших продуктов: некоторые из пользователей с нами уже несколько лет.

Как мы работаем

У нас небольшая команда, все работают дистанционно из разных городов.

Общаемся в Slack, ставим задачи и фиксируем важные детали обсуждений в Trello. Ежедневно проводим короткий текстовый митинг или созваниваемся в Zoom. Готовим и обсуждаем техническую реализацию для сложных задач. Используем Gitflow, делаем небольшие пулл реквесты и ревьювим их в Bitbucket. Используем дизайн-макеты в Figma.

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

  • стремимся к балансу между быстрыми, но качественными решениями;
  • планируем техническую реализацию для задачи до момента написания кода и обсуждаем ее;
  • выделяем из большой задачи несколько мелких, ревьювим и релизим их по мере готовности;
  • ценим code style, единообразие и аккуратный код;
  • придерживаемся принятой в проекте архитектуры, но иногда упрощаем;
  • избавляемся от технического долга, который затрудняет решение текущих задач;
  • переиспользуем код между приложениями, вынося его в модули.

Еще можно прочитать статью о том, как мы работаем и посмотреть видео с хакатона, который мы провели летом 2021.

Что предстоит делать?

Android приложения сейчас у нас активно не развиваются. Есть несколько новых iOS приложений, которые отсутствуют на Android платформе. И это то, что мы хотим исправить, - развивать существующие приложения на обеих платформах и создавать новые, поэтому ищем несколько Android разработчиков в команду.

Первыми проектами будет разработка приложений с нуля на Kotlin. Потом нужно будет делать рефакторинг приложения, написанного на Java, для того чтобы дальше добавлять в это приложение новые возможности уже на Kotlin. План рефакторинга составим вместе.

Что нужно знать?

Существующие приложения написаны на Java, новые приложения и новый код пишем на Kotlin.

В существующих приложениях на старте не было заложено архитектуры, в новых приложениях и при рефакторинге придерживаемся принципов Clean Architecture.

Уже используем Google Play Billing, Realm, Retrofit, Firebase (Auth, Database, Crashlytics, Analytics),  Amplitude.

У нас (пока) нет автотестирования и чего-нибудь типа Dagger, но в будущем планируется. Если у вас еще не было такого опыта, будем разбираться вместе (но не сразу). Если все это уже знаете - отлично, поможете внедрить.

Плюсом будет опыт работы с аудио, однако это необязательно, со всем можно разобраться при желании.

Английский понадобится для чтения документации, статей и просмотра видео. Из нетехнических навыков вам понадобятся:

  • самостоятельность и дисциплина (self management), так как команда распределенная;
  • внимательность и ответственность (разработчик отвечает за свой код, тестировщиков нет);
  • умение сообщать о проблемах и предлагать улучшения (процессов, технического решения, приложения).

Что дальше?

Можете попробовать поставить наши приложения с App Store или Google Play, чтобы понять, интересно ли вам работать с этими продуктами.

Если у вас есть открытый код в Github, то в отклике приложите ссылку на тот проект, который отражает ваши текущие навыки и умения.

Проведем 2 встречи:

1) общая - обсудим ваш подход к работе, что для вас важно, чтобы понять, подходим ли мы друг другу;

2) техническая - поговорим про архитектуру, поразбираем код и обсудим другие технические штуки.