Включите исполнение JavaScript в браузере, чтобы запустить приложение.
14 окт 2024

Кто такой разработчик мобильных приложений, чем он занимается и сколько зарабатывает

Все, что нужно знать о профессии разработчика мобильных приложений. Чем занимается мобильный разработчик? Что нужно знать и какие требования для трудоустройства? Какая зарплата у мобильного программиста? Об этом и многом другом читайте в статье GitVerse.
  1. Кто такой разработчик мобильных приложений, чем он занимается и сколько зарабатывает
  2. Кто такой разработчик мобильных приложений
  3. Чем занимается мобильный разработчик
  4. Направления мобильной разработки
  5. Востребованность и перспективы мобильной разработки
  6. Что нужно знать и уметь, чтобы стать мобильным разработчиком
  7. Какие требования к разработчикам мобильных приложений
  8. Где работают мобильные программисты
  9. Плюсы и минусы профессии мобильного разработчика
  10. Сколько зарабатывает разработчик мобильных приложений
  11. Как стать мобильным разработчиком

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

Рассказываем, кто такой мобильный разработчик, чем он занимается и что делает на проекте, сколько зарабатывает, как им стать и каковы перспективы в профессии.

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

Мобильный разработчик — программист, который может создавать приложения для портативных гаджетов: 

  • смартфонов;
  • планшетов;
  • телефонов; 
  • фитнес-трекеров;
  • smart-часов;
  • TV-приставок;
  • читалок и других. 

Нативные приложения для смартфонов можно создавать для операционных систем:

  • Android (Google Play Store, Xiaomi Mi GetApps, RuStore, NashStore, Samsung Galaxy Store, Huawei AppGallery, Amazon Appstore);
  • iOS (App Store, Cydia, AppCake, TweakBox).

На самом деле есть и другие, менее известные ОС: KaiOS и Sirin OS (США), HarmonyOS от Huawei (Китай) и оболочки вроде MIUI от Xiaomi. В России разработаны собственные операционные системы — Аврора, KasperskyOS, РОСА Mobile, РедОс. Для всех перечисленных систем также можно создавать программное обеспечения.

Был период, когда существовало разделение в языках программирования для работы с разными ОС: 

  • для Android требовались Java и Kotlin;
  • для создания программ на iOS программист должен был знать Objective-C и Swift.

Позже появились инструменты, позволяющие писать один код и создавать два приложения под разные операционные системы. В 2015 году был представлен кроссплатформенный фреймворк React Native. Он поддерживает Android, Android TV, iOS, macOS, tvOS, Web, Windows и UWP. В результате mobile-developer может создавать софт одновременно и для смартфона на Андроид, и для планшета на АйОС.

Не стоит путать мобайл-разработку с веб-технологией PWA (progressive web app, прогрессивное веб-приложение). PWA сочетает функциональность браузера и приложения. К примеру, открыть progressive web app можно в браузере Safari или Samsung Internet Browser. Но при этом приложение поддерживает работу в оффлайн-режиме, отправку push-уведомлений и создание иконки (ярлыка) на рабочем столе устройства.

Чем занимается мобильный разработчик

Mobile developer сопровождает софт на всех этапах жизненного цикла: 

  • обсуждение задачи;
  • составление архитектуры;
  • написание кода;
  • тестирование и отладка;
  • поддержка;
  • обновление.

Новые версии iOS и Android выходят почти каждый год. При этом важно сделать так, чтобы созданные ранее программы корректно работали и на новых, и на старых версиях ОС. В сфере mobile development нет деления на frontend и backend. Специалист отвечает и за создание интерфейса, и за внутреннюю логику, и за взаимодействие с API других сервисов. 

Список задач, над которыми работает конкретный сотрудник, зависит от позиции в компании (младший или старший developer), целей и задач в проекте, взаимоотношений внутри команды. 

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

Приблизительный список того, чем занимается представитель профессии в области IT на проекте:

  • участвует в переговорах с заказчиком;
  • разрабатывает программное обеспечение для iOS и Android;
  • проводит тестирование и отладку, устраняет баги;
  • интегрирует сторонние библиотеки и API;
  • осуществляет техническую поддержку готового продукта;
  • создает техническую документацию;
  • проводит код-ревью.

Как правило, софт создают под размещение на специальных площадках для скачивания и установки. Для публикации в магазинах Google Play и App Store необходимо иметь аккаунт разработчика (на частное лицо или на организацию) и соответствовать ряду критериев. Требования описаны в документах: Apple Developer Program, Руководство по проверке. 

Здесь также важна командная работа. Чтобы опубликовать готовое ПО в магазине, необходимо получить от отдела маркетинга материалы: иконки, превью, видео, описание. Для продвижения опубликованных программ привлекают специалистов в области ASO (App Store Optimization). Они занимаются оптимизацией страницы софта в магазинах App Store, Google Play, Amazon Appstore, Huawei AppGallery, Xiaomi Mi GetApps для улучшения его видимости и конверсии посетителей в скачивания.

Направления мобильной разработки

Долгое время основным вектором развития оставалась нативная разработка под Android или под iOS. Для создания ПО под каждую ОС была создана собственная экосистема инструментов на языках программирования Swift (iOS) и Kotlin (Android). Поскольку в результате создаются два независимых программных продукта, это увеличивает затраты бизнеса:

  • нужно искать отдельные команды под iOS и Android;
  • необходимо поддерживать две разные кодовые базы;
  • есть сложности в синхронизации и т.д. 

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

  • React Native (фреймворк на базе JavaScript);
  • Flutter (решение на языке программирования Dart);
  • Xamarin (фреймворк для создания ПО под iOS, Android, Windows Phone на базе C#);
  • Kotlin Multiplatform Mobile (KMM от JetBrains — создателя языка Kotlin).

В рейтинге TIOBE Index на июнь 2024 года нативные Kotlin и Swift не входят в ТОП-10 популярных языков программирования, но остаются популярными (входят в ТОП-20). Возможно, стоит обратить внимание на кроссплатформенные решения. Они позволяют относительно быстро перейти в мобайл-разработку специалистам, которые ранее писали на JavaScript, Dart или C#. И наоборот, те, кто писал на React Native, могут относительно быстро перейти в веб-разработку на React или других библиотеках/фреймворках на базе JavaScript. 

Востребованность и перспективы мобильной разработки

По данным сервиса slashdata, в апреле 2024 в мире было 17,7 млн mobile developers. К третьему кварталу 2024 их количество увеличится до 18,7 млн. Пиковый спрос приходится на индустрию игр. В ней задействовано 3,8 млн человек, а к концу 2024 цифра увеличится до 4,2 млн.

Мир технологий не стоит на месте. Среди интересных направлений стоит отметить:

  • функции дополненной реальности (AR) и виртуальной реальности (VR), в том числе с Apple Vision Pro;
  • интернет вещей (IoT);
  • блокчейн;
  • облачные приложения (Cloud-Based Apps);
  • голосовые пользовательские интерфейсы (VUI).

Развитие сферы искусственного интеллекта (Artificial Intelligence) повлияло и на мобайл-разработку. Программисты получили возможность внедрить в ПО виртуальных умных помощников, распознавание текста, голоса и лиц.

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

Что нужно знать и уметь, чтобы стать мобильным разработчиком

Для работы в этой роли нужны хард- и софт-скиллы. Технические навыки для создания ПО под смартфоны и планшеты включают:

  • знание ЯП Java, Kotlin, Swift;
  • опыт работы с веб-сервисами (REST, WCF);
  • умение писать, тестировать и отлаживать код в средах Android Studio и Xcode от Apple;
  • понимание требований и принципов работы Apple App Store, Google Play Market;
  • умение разбираться в UX/UI-дизайне;
  • опыт взаимодействия с json и xml для мобильных и серверных решений;
  • знание фреймворков и библиотек (React Native, Flutter, Xamarin, Kotlin Multiplatform Mobile в зависимости от проекта);
  • опыт работы с внешними библиотеками (Hive, GoogleMaps/OpenBox, Chopper);
  • знание особенностей unit-, виджет- и интеграционных тестов.

Полезными софт-скиллами будут:

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

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

Создание софта для портативных гаджетов имеет свои особенности: 

  1. Необходимость учитывать небольшой экран (особенно при работе с ПО под условные смарт-часы). 
  2. Управление только сенсорным нажатием. 
  3. Требования к производительности, памяти и энергопотреблению. 
  4. Возможность работы программного обеспечения в режиме офлайн.

Mobile-разработчик должен понимать специфику работы с портативными устройствами и особенностями конкретной среды (языка, фреймворка).

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

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

Когда проект только стартует, важно уметь быстро создавать MVP — минимально жизнеспособную модель продукта.

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

К ПО, которое существует больше 10 лет, будут предъявлять требования, связанные с техподдержкой, добавлением новых функций (с учетом совместимости различных версий).

Сотрудник должен уметь работать с системами версионирования (Git) и методологиями Scrum, Agile и Kanban. Чтобы писать чистый поддерживаемый и масштабируемый код, необходимо понимать и применять на практике паттерны проектирования:

  • BloC (Business Logic Component, разделение интерфейса и бизнес-логики);
  • Provider (концепция InheritedWidget, которая позволяет распространять изменение состояния на дочерние виджеты);
  • Riverpod (управление состоянием и совместное его использование).

Mobile developer знает и применяет на практике принципы ООП и SOLID, умеет работать с CI/CD, знаком с концепциями MVP и MVVM. Естественно, специалист должен понимать, как устроены сети, протоколы, базы данных.

Где работают мобильные программисты

Первый мобильный телефон (handheld cellular mobile phone) появился в 1973 году. В 1993 компания IBM представила Simon — устройство с сенсорным экраном и встроенными приложениями, среди которых были календарь и записная книжка контактов. 

Через почти 10 лет — в 2002 году — появился смартфон Blackberry 5810 на базе Java, который не только содержал календарь и список контактов, но и предоставлял доступ к электронной почте. Рост популярности портативных устройств привел к появлению еще одной тенденции — магазинов приложений.

В 2008 Apple и Google запустили свои онлайн-магазины. По состоянию на 2023 год в мире было загружено 257 млрд программ на устройствах Apple и Android. Стремительная популярность портативных устройств не могла не сказаться на IT-индустрии. Стали востребованы специалисты, которые могут создать программное обеспечение для скачивания на смартфон или планшет. 

Основные сферы, в которых требуются мобильные разработчики:

  1. Игры и развлекательный контент. Clash of Clans от Supercell, Fortnite от Epic Games, Asphalt 9: Legends от Gameloft, Age of Magic издателя Playkot LTD и другие создаются гейм-студиями. Авторы проектов могут зарабатывать как на продаже копий, так и на встроенных покупках. Создание игр «под мобилки» понравится тем, кто увлекается game-индустрией.
  2. Приложения банков и финансовых организаций. Программное обеспечение любых крупных игроков на рынке, например, Сбера — это сложные высоконагруженные системы. Чтобы обеспечить безопасность конфиденциальных данных и гарантировать сохранность денег на счетах, необходимо использовать специальные стандарты и алгоритмы. В крупных банках часто ищут специалистов на позиции архитекторов, тимлидов, руководителей отделов, СТО.
  3. Софт для образования и развлечений. К нему относятся программы для фитнес-тренировок, путешествий, медитаций, обучения иностранным языкам и т.д.
  4. Программы электронной коммерции. Маркетплейсы, сервисы доставки теперь доступны в смартфоне. Разработчиков ищут, чтобы поддерживать текущую инфраструктуру и внедрять новые функции.

Плюсы и минусы профессии мобильного разработчика

У специальности, как и у любой другой, есть преимущества и недостатки. Преимущества позиции mobile developer: 

  1. Возможность найти удаленную работу из любой точки мира. 
  2. Востребованность на рынке. Рабочие руки нужны не только в гейм-индустрии, но и в других сферах. В России создаются собственные мобайл-ОС, под которые возможно создание софта.
  3. Перспективы карьерного роста. Специалист может стать Tech Lead Developer (ведущим разрабом), Team Lead Developer (тимлид, руководитель подразделения), Technical Architect (архитектором), Chief Technology Officer (CTO). Можно освоить смежные профессии.

Но есть и особенности, которые могут помешать при выборе специальности:

  1. Зависимость от магазинов и их политики (Apple Store, Google Store и прочие). В случае изменения правил публикации или проверки приходится дорабатывать программное обеспечение.
  2. Требования к IDE и среде. Чтобы создавать приложения на iOS, нужно устройство с этой операционной системой — компьютер Apple или MacOS на виртуальной машине под Windows.
  3. Работа с MVP (Minimal Viable Product, минимально жизнеспособный продукт). Часто ПО заказывают, чтобы протестировать спрос или другие параметры. MVP рискуют так и не стать полноценными жизнеспособными продуктами.
  4. Чтобы читать документацию и работать с международными заказчиками, нужно хорошо знать технический иностранный язык, чаще всего — английский.

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

Размер зарплаты зависит от ряда факторов:

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

По данным сервиса glassdoor.com, в США представитель профессии Mobile Developer получает около 125 000 долларов в год, т.е. 10 000 USD в месяц. Приблизительно такие же сведения предоставляет indeed.com. 

В России средняя зарплата мобайл-девелопера на Android, по данным одного из сервисов поиска работы, составляла около 110 000 рублей (по состоянию на июнь 2024). Максимально соискателям могли предложить 350 000–370 000 рублей. 

Соискателям на позицию ios-разработчика предлагали около 100 000–110 000 рублей. Максимум — приблизительно 360 000 руб.

Как стать мобильным разработчиком

Ответ на вопрос о том, как стать mobile developer, зависит от конкретной ситуации. К примеру, если человек хочет перейти с веб-разработки на мобайл, «переехать» с условного React на React Native проще, чем «войти в айти» без опыта и знаний. 

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

  1. Пройти платные или бесплатные курсы, изучить книги по созданию программного обеспечения. Чтобы обучение было эффективным, важно не просто читать материалы, а писать код.
  2. Найти ментора и начать брать первые проекты на фрилансе. К примеру, это могут быть простые доработки на уровне «изменить цвет кнопки». 
  3. Устроиться на стажировку в аутсорсинговую или продуктовую компанию. В процессе выполнения реальных задач прокачиваются не только навыки программирования, но и работы в команде. 
  4. Занять позицию младшего Андроид- или iOS-разработчика. Учиться, чтобы расти и по карьерной лестнице, и в плане финансов.

Первые приложения можно писать и размещать с помощью платформы GitVerse. Мобайл-программистам доступен GigaCode — умный ассистент, который поддерживает более 35 языков программирования.