Как создать мобильное приложение: взгляд Android-разработчика

Как устроена разработка мобильных приложений в Казахстане, с какими вызовами сталкиваются инженеры и как развивается местное сообщество Android-разработчиков — рассказывает специалист с опытом работы в финтехе, e-commerce и за рубежом

Данияр Амангельды, android-разработчик
Данияр Амангельды
Фото: из личного архива

Android остается доминирующей мобильной операционной системой в мире, а спрос на Android-разработчиков стабильно высок. Данияр Амангельды — инженер, принимающий участие в разработке ряда известных мобильных проектов в Казахстане, например, приложениях для Arbuz.kz и Krisha.kz. Данияр делится своим опытом, рассказывает о типичных вызовах разработки, командной работе и развитии инженерного сообщества.

Какой подход вы применяли при работе над онлайн-сервисами? Какие решения оказались наиболее эффективными?

— Например, при создании приложения Arbuz.kz мы начали с полной переработки дизайна и архитектуры. Решение использовать Jetpack Compose позволило ускорить разработку почти вдвое, что критично, когда в команде только один Android-разработчик.

Были внедрены подходы, которые обеспечивали масштабируемость: модульная архитектура, гибкие пользовательские сценарии, система аналитики. Это дало возможность быстро выпускать обновления и подстраиваться под требования бизнеса.

Какую роль играет взаимодействие между инженерами и остальной командой в процессе разработки?

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

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

Чему вас научила работа в зарубежных компаниях?

— В европейской команде, где я работал, большое внимание уделялось обучению: регулярные тренинги, пятничные укороченные дни, поддержка менторов. Это создавало ощущение, что в тебя инвестируют. В результате — меньше текучки, выше качество продукта и здоровый темп разработки.

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

Данияр Амангельды android-разработчик
Данияр Амангельды
Фото: из личного архива

С какими сложностями вы сталкивались при разработке? Были ли ошибки, из которых удалось извлечь уроки?

— Один случай показал, насколько push-уведомления могут влиять на активность пользователей. По ошибке отправили тестовые уведомления на прод — активность резко выросла. Мы сделали вывод, что стоит более стратегически подходить к push-кампаниям.

Другой случай — в проекте для Krisha.kz. Я решил переписать большой модуль самостоятельно. В результате получился сложный и объемный код, который команда потом избегала трогать. Это стало уроком: важнее не героизм, а командная прозрачность и поддерживаемость архитектуры.

Зачем разработчику заниматься менторством и сообществом?

— Я начал преподавать в школе nFactorial, потому что вижу, как не хватает качественного образования по Android. Несколько моих учеников уже работают в крупных компаниях — это дает чувство отдачи.

Потом родилась идея Android Hours — офлайн-встречи для разработчиков. Мы обсуждаем сложные технические темы, обмениваемся опытом. Сейчас это неформальное сообщество охватывает десятки специалистов из разных компаний. Считаю, что развитие инженерной культуры начинается именно с таких горизонтальных связей.

Что помогает не выгореть и сохранять интерес к работе?

— Ограничивать амбиции и беречь себя. Я проходил через выгорание, когда казалось, что нужно просто работать больше. Теперь понимаю: важно ставить границы, отдыхать, говорить «нет» лишнему. Только так можно оставаться в профессии надолго.

Если вы обнаружили ошибку или опечатку, выделите фрагмент текста с ошибкой и нажмите CTRL+Enter
Выбор редактора
Ошибка в тексте