Android-разработчик: почему все ринулись изучать мобильную разработку и что на самом деле ждет новобранца

Что нужно знать и уметь

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

Разработчику Android следует обратить внимание на следующие умения:

  • знать основы и принципы программирования, его базовые понятия;
  • владеть языками программирования Java и Kotlin, знать их особенности и уметь писать код;
  • знать принципы и особенности работы операционной системы Андроид;
  • уметь работать в программе Android Studio (этот сервис специально создан для разработки приложений для операционной системы Android);
  • владеть основами объектно-ориентированного программирования;
  • иметь навыки работы с фреймворками и различными библиотеками готовых решений;
  • знать и уметь использовать языки разметки HTML, CSS, XML;
  • уметь оформлять всю необходимую техническую документацию;
  • выполнять требования, предъявляемые Google Play и другими магазинами к разрабатываемым приложениям;
  • понимать принципы работы протоколов передачи данных HTTP, REST;
  • знать основы дизайна, разработки пользовательских интерфейсов, владеть инструментами работы с ними;
  • уметь составлять грамотное и понятное техзадание, взаимодействовать с другими участниками команды/заказчиками.

В качестве основы для обучения азам Андроид программирования подойдет образование с технико-математическим уклоном. Ну и, конечно, нужны огромное желание учиться и готовность потратить годы на детальное освоение практической части этой профессии.

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

Как стать Андроид-разработчиком с нуля

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

  • Заниматься самостоятельно по учебным материалам, которые есть в интернете: по книгам, видеоурокам на Youtube, статьям и пр.
  • Получить высшее образование по IT-специальности в вузе.
  • Пройти курс мобильной разработки в онлайн-школе.

У каждого из перечисленных вариантов есть свои достоинства. Ниже расскажем подробнее, как стать Андроид-разработчиком приложений и игр на Android с нуля.

Научиться разработке на Android самостоятельно

Как можно научиться Андроид-разработке самостоятельно:

  • Составить пошаговый план и график занятий – учиться нужно не менее 2-3 раз в неделю на протяжении нескольких месяцев.
  • Выбрать учебные материалы, по которым вы будете заниматься: электронные учебники, например, новичкам подойдет книга «Android NDK. Руководство для начинающих», официальная техническая документация от Google, Kotlin, Java, Ютуб-каналы и подкасты опытных программистов.
  • Установить необходимые программы на ПК: среду разработки Android Studio и другие инструменты разработчика.
  • Начать обучение с изучения языков программирования Java и Kotlin: выполнять упражнения по учебнику, отрабатывать навыки на тренажерах, делать код-ревью с помощью онлайн-сервисов.

Мы перечислили лишь первые шаги в Андроид-разработке.

С какими сложностями вы столкнетесь, занимаясь самостоятельно:

  • Никто не поможет разобраться со сложной темой или найти ошибку в коде. Информацию придется искать на форумах.
  • Мало практики. Вы сможете тренироваться лишь на шаблонных упражнениях, но не научитесь решать нестандартные задачи.
  • Самоучек неохотно берут на работу из-за отсутствия опыта, портфолио и документов об образовании. Вы сможете брать небольшие заказы на фрилансе.

Вузы или онлайн-курсы

Чтобы стать разработчиком на Андроиде, можно пройти обучение в вузе или в онлайн-школе.

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

Несмотря на все достоинства высшего образования, учеба в вузе имеет недостатки:

  • Срок обучения – вам придется учиться на бакалавриате не менее 4 лет.
  • Высокая цена – стоимость одного семестра достигает 100 тысяч рублей.
  • Много второстепенных дисциплин, в том числе гуманитарных, которые не потребуются в работе.
  • Большая часть занятий – теоретические, а не практические.
  • Нужно постоянно сдавать контрольные, зачеты, курсовые, экзамены и пр.

Самый удобный, быстрый и эффективный способ обучения – это онлайн-курсы. Перечислим основные преимущества учебы в онлайн-школе:

  • В учебный план входит лишь тот материал, который пригодится в работе. У вас будет необходимый минимум теории и максимум практики: домашние задания, подготовка кейсов, создание собственных приложений, командная разработка, практика на реальных проектах и т. д. К концу курса у вас будет готовое портфолио.
  • Нет жесткого графика. Вы можете смотреть онлайн-трансляцию урока или запись. Все вебинары записываются и сохраняются в личном кабинете, доступ к которому остается навсегда. Такой формат обучения легко совмещать с работой.
  • Занятия ведут опытные мобильные разработчики. Они объясняют сложные темы простым, понятным языком, с примерами, дают рекомендации и делятся лайфхаками. У каждого студента есть персональный куратор, к которому можно обратиться с вопросом или за помощью.
  • Онлайн-школа выдаст документ о полученном образовании – сертификат, свидетельство, диплом или удостоверение гос. образца.
  • Обучение длится не так долго, как в вузе. В среднем за 1-1,5 года можно стать Junior Андроид-разработчиком.

Где найти Android-разработчика на проект?

  • Вы можете бесплатно посмотреть резюме мобильных разработчиков на сайте Kadrof.ru.
  • Добавьте проект на сервис www.kadrof.ru/work Вакансии там просматривают тысячи фрилансеров ежедневно, в том числе программистов.
  • Если вам нужен частный специалист, попробуйте создать проект на биржах фриланса или найти подходящего специалиста в каталогах на этих сайтах.

Рекомендуем

Профессия оптимизатор сайтов

Оптимизатор веб-сайтов часто воспринимается как технический специалист, но желательно, чтобы он мог творчески подходить к оптимизации сайта, …

Профессия фотограф

Фотографы востребованы во множестве сфер и областей. В СМИ фотографы делают снимки для новостей, репортажей, статей. Свадебные фотографы …

Включение эмулятора

Android Studio включает ПО, производящее эмуляцию гаджета Android для тестирования приложений, проведения правки и т.д.

Это осуществляется с помощью AVD Manager. При необходимости проводится настройка нескольких эмуляторов, определяется разрешение экрана и вариант программы для конкретного эмулятора. Это функция является полезной, так как разработчики могут обходиться без покупок нескольких устройств для проведения тестовых работ с ПО.

Следует нажать на Run (зеленая стрелка).

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

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

Не бойтесь чего-то не знать — это ок.

Платформа Android огромна, не говоря уже о двух языках (Java и Kotlin) и массе дополнительных библиотек и архитектурных решений. Даже если вы выучите всё — каждый год появляется что-то новое, Android не стоит на месте. Вот вам пример того, что можно знать, если учить всё:

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

Можете распечатать эту схему и использовать как подсказку для себя, но ради бога, не пытайтесь всё это знать! Я не встречал ещё ни одного разработчика, который знает сразу всё. Осваивайте только то, что вам нужно в данный момент — это и так будет отнимать у вас много времени. Пополняйте свой багаж постепенно, шаг за шагом, и со временем вы станете экспертом. 

Базовые требования к профессионалу

  • Android: знание Android SDK, Java, Kotlin, Scala (в меньшей степени), Rest/SOAP, различные API, SQLite и т.д. 
  • iOS: Objective-C, С#, Swift, знание Apple Development Guidelines
  • знание структур и алгоритмов
  • знание принципов ООП (к которому и относится Java, Objective-C, Swift)
  • понимание принципов дизайна и проектирования мобильных приложений
  • знание сетевых протоколов
  • знание SQL
  • навыки работы с App Store и Google Play
  • навыки работы с многопоточностью (всё чаще)
  • Flutter (бешено растёт популярность)
Стажёр (Intern) Младший (Junior) Средний (Middle) Старший (Senior) Ведущий (Lead)
  1. Разработка под Android
  2. C#
  3. Java
  1. Разработка под Android
  2. Kotlin
  3. Java
  4. Swift
  5. Разработка под iOS
  1. Разработка под Android
  2. Swift
  3. Kotlin
  4. Разработка под iOS
  5. Java
  1. Swift
  2. Kotlin
  3. Разработка под iOS
  4. Разработка под Android
  5. Java
  1. Разработка под Android
  2. Kotlin
  3. Разработка под iOS
  4. Swift
  5. Objective-С

Топ-5 востребованных технологий у специалистов по данным «Хабр Карьеры», 2 полугодие 2019 года

Android Studio

Новые функции в Android Studio 4.1 Beta и 4.2 Canary доступны уже сегодня. При разработке, мы ориентировались на ряд важных вопросов для разработчиков:

  • Отладка приложений стала проще с поддержкой беспроводной отладки по ADB на устройствах с Android 11. Мы также добавили инспектор баз данных и инструменты Dependency Injection (Dagger);
  • Тестирование устройств стало проще благодаря тому, что эмулятор Android теперь находится непосредственно в IDE. Разработчикам смогут видеть результаты выполнения тестов с нескольких устройств одновременно, а также мы улучшили и сам диспетчер виртуальных устройств.
  • Машинное обучение стало проще (почти). По крайней мере, теперь вы сможете импортировать свои модели для ML Kit и TensorFlow Lite прямо в Android Studio.
  • Сборка и deployment приложений стали быстрее благодаря Kotlin Symbol Processing API, кэшированию графа задач в Gradle и более быстрой установке и запуску приложений на всех устройствах с Android 11. А новый анализатор сборки может помочь вам определить, где в вашей сборке могут быть узкие места.
  • Инструменты для разработки игр стали лучше благодаря обновленному пользовательскому интерфейсу профилировщика производительности, переработанному инструменту System Trace и поддержке встроенного профилирования памяти.

Попробовать последнюю версию: Android Studio 4.1 Beta и Android Studio 4.2 Canary вы можете уже сейчас!

Первые шаги

Отметим особенности среды разработки для Android.

  • В Java описывается программная логика, задачи, стоящие перед программным продуктом.
  • В XML разрабатывается оформление.
  • После формирования приложения требуется процедура сборки для компиляции файлов и создания apk-файла, публикуемого в Google Play.
  • Файлы, с которыми связана разработка программ для Андроид, соединяются в интегрированной среде разработки (IDE). Это ПО для правки кодов и их включения.
  • Ранее средой создания приложений для Андроид являлась Eclipse. Сейчас на замену ей пришел программный продукт Android Studio (что такое Android Studio) от Google.
  • Разработка игр на Андроид имеет такие же параметры и свойства.

Общие правила работы Android-приложений

Android-приложение живёт и существует в своей «песочнице», которая, в свою очередь, подчиняется правилам Linux-безопасности:
1. Каждое приложение является в многопользовательской Linux-системе отдельным пользователем.
2. Система назначает каждому Android-приложению уникальный user ID, который неизвестен самому приложению. Соответственно, все файлы доступны лишь этому user ID.
3. Каждый процесс имеет свою виртуальную машину (VM), поэтому исполняемый код от других приложений изолирован.
4. Каждое Android-приложение запускает свой Linux-процесс.

Но, как это всегда бывает, у каждых правил бывают исключения:
1. Можно организовать общий user ID для 2-х приложений, в результате чего они смогут делиться друг с другом файлами.
2. Android-приложение может запрашивать разрешение на доступ к содержимому накопителя, контактам пользователя, SMS, информации с камеры и прочим данным.

На этом всё, надеемся, что эта статья была вам полезной. Если же вас интересует разработка Android-приложений на продвинутом уровне, добро пожаловать на наш курс:

Android vs. iOS: плюсы, минусы и особенности

Количество устройств

Android лидирует среди операционных систем во всем мире. По данным statcounter на начало 2021 года, доля Android среди мобильных устройств в мире составляет 74,34% (это около 2,5 млрд активных устройств), iOS — 25,29% (около 1,4 млрд активных устройств). По картина примерно такая же: 73,38% гаджетов на Android, 26,26% — на iOS.

По данным statcounter

Разнообразие устройств

С одной стороны, разнообразие устройств для Android — это большой плюс, ведь работа для разработчика всегда найдется. Кроме того, чтобы начать работать с этой ОС, никакой дополнительной техники покупать не нужно — писать код можно на любой операционной системе: macOS, Linux или Windows. А вот для разработки на iOS обязательно понадобится техника от Apple.

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

Арина Мурашева: «Как правило, в мобильных приложениях на Android нет сложных расчетов и сильно мудреной логики. Неприятный момент разработки — необходимость поддержки разных устройств. Мои “фавориты” — это телефоны с кастомными прошивками и китайские телефоны».

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

Обновления

Все изменения в операционной системе iOS прозрачны — компания ежегодно выпускает подробные гайдлайны по разработке приложений и публикует их на своем сайте.

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

Комьюнити

Android — это платформа с открытым кодом (доступ к исходному коду есть у всех желающих) и большим развитым сообществом: новичок может получить поддержку или решить проблему, задав свои вопросы на StackOverflow или GitHub.

iOS — более закрытая экосистема, и комьюнити преимущественно англоязычное, но встречаются и русскоязычные форумы.

Публикация приложения

В Google Play разовая плата за аккаунт разработчика стоит $25. Публикация приложений происходит быстро и, как правило, без участия модераторов. В AppStore потребуется ежегодно продлевать доступ к аккаунту разработчика за $99.

Но есть особенности: в Google Play приложение и аккаунт могут заблокировать без объяснения причин, а техподдержка отвечает редко, размыто и односложно. У AppStore публикация приложения может занять неделю — модераторы проверяют его вручную, — но техподдержка работает оперативнее.

Есть разница и в пользовательском поведении: считается, что пользователь Android не привык платить за приложение или дополнительные функции в нем, поэтому авторы приложений в основном зарабатывают на рекламе внутри него. С iOS же обратная ситуация: покупать приложение в AppStore — нормальная практика для пользователя. Например, как показывает исследование myTracker (система аналитики и атрибуции на базе технологий Mail.ru Group), доход от пользователей, совершающих внутриигровые покупки, составляет $48,82 на iOS и $29,69 на Android. Самая большая разница — в категории фитнес-приложений: пользователи iOS платят за подписку на них в 11 раз чаще, чем владельцы Android.

Что должен знать будущий Android-разработчик

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

  • языки программирования Java и Kotlin, на которых написано большинство приложений;
  • среду мобильной разработки Android Studio. В ней настраивают интерфейс продукта и программируют его логику;
  • общие принципы разработки: оформление кода, как правильно именовать функции и переменные, как разделять код на файлы и многое другое. Не обойтись и без основ ООП;
  • языки HTML, CSS, язык разметки XML;
  • базовые принципы дизайн-концепций и дизайн-систему Google — Material Design;
  • операционную систему Android (это проект с открытым исходным кодом). Нужно знать её файловую структуру, функции и принципы работы;
  • популярные фреймворки и библиотеки для мобильных приложений;
  • распределённую систему управления версиями Git и GitHub (сервис для проектов, использующих Git) — для совместной работы с членами команды и публикации портфолио;
  • unit- и UI-тестирование ПО, чтобы определять качество работы, тестировать гипотезы и отдельные фишки приложения;
  • основы алгоритмизации (это поможет не остаться кодером — стать программистом);
  • английский на уровне, достаточном для чтения учебных материалов (в частности документации).

Есть мнение, что программирование — это на 90% поиск ответов и только на 10% написание кода. Поэтому на вопрос «С чего начать учить программирование?» логичнее всего ответить — с английского языка.

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

Android Developer Roadmap (полная дорожная карта)

Здесь представлена полная версия дорожной карты в одном изображении, а после нее — разбитая на части версия с ресурсами и ссылками, позволяющими узнать больше о каждом из блоков. Svg версию в хорошем качестве можно скачать в нашем телеграм канале Мобильная разработка #1.


Android Developer Roadmap (полная дорожная карта)

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

Выберите язык Что касается языков, вы можете разрабатывать приложения для android, используя Kotlin или Java.

Хотя для разработки нативных приложений для android можно использовать как Kotlin, так и Java, Google объявил в 2019 году, что Kotlin станет предпочтительным способом разработки приложений для android. Если бы вы начали изучать android-разработку сегодня, Kotlin должен стать вашим языком.

Основы

Установите Android Studio и изучите основы Kotlin, чтобы начать работу.

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

  • Изучите основы Kotlin
  • Kotlin Docs и официальные учебники по Kotlin
  • Структуры данных и алгоритмы. Также ознакомьтесь с этим.
  • Структуры данных Kotlin
  • Алгоритмы и структуры данных в Kotlin

Android Privacy

Как всегда, много внимания уделили лучшему и честному миру с полным владением своими данными. Новый Privacy Dashboard показывает, какие приложения получали доступ к локации, микрофону и камере за последние сутки. 

Источник — https://android-developers.googleblog.com/2021/05/android-security-and-privacy-recap.html

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

Источник — https://android-developers.googleblog.com/2021/05/android-security-and-privacy-recap.html

Для поиска Bluetooth-устройств больше не нужен будет доступ к точному местоположению.

Если вам в приложении нужно указать только город или район, то можно разрешить приложению использовать примерное местоположение.

Источник — https://android-developers.googleblog.com/2021/05/android-security-and-privacy-recap.html

Появились уведомления о том, что приложение прочитало буфер обмена.

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

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

Бум на менеджеров прошел, а очередь на юридический и экономический факультеты сокращается, ведь современные выпускники вдохновленно смотрят фильмы о Кремниевой (Силиконовой) долине. Однако IT-компании не перестают жаловаться, считая, что рынок скорее пуст, чем полон. Соискателей много, а толковых — 1 к 100.

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

Мы в Involta, к примеру, запустили собственный образовательный проект именно для того, чтобы не ждать, когда специалисты вырастут, а ускорить этот процесс контролируемо. Преподаватели — сами разработчики, которые знают свое дело не в теории, а на практике, и могут поделиться реальным опытом с IT-передовой. Знания прикладных наук в университетах устарели. Отлично учат фундаментальным наукам, но не учат современному стеку технологий Web\Mobile.

Разумеется, одного курса мало: огромную роль играет объем самостоятельной работы и непрерывной практики. Десятки сертификатов и дипломов не гарантируют создание хотя бы одного приложения. В мобильной разработке постоянно появляются новые подходы, методики, технологии и платформы, поэтому учиться нужно постоянно. 

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

Мифы профессии

  • Мобильные разработчики говнокодеры создают плохой код, не оптимизируют приложения и вообще дилетанты. Здесь речь идёт примерно о такой же ситуации, как с PHP: язык огребает горы хейта из-за того, что в него легко войти и горе-вебмастера написали на нём ну очень много плохих приложений. В мобильной разработке действительно много дилетантов и любителей, что немного портит общую картину. Но распространять выводы на каждого программиста точно не стоит. 
  • Мобильные разработчики мало зарабатывают. Всё зависит от вашего опыта, квалификации и способности решать задачи вашей компании.
  • Мобильная разработка — это недопрограммирование, не труъ. С каких это пор Java, Swift, Kotlin и т.д. — это не труъ?! А если серьёзно, корни этого мифа уходят к готовым конструкторам и универсальным крутым средствам типа Flutter, которые здорово облегчают и ускоряют работу и портируемость приложения. Это так не работает: хорошее приложение без кода и глубокой разработки не получится.
  • В мобильной разработке часто возникают конфликты между разработчиком и заказчиком. Чистая правда, так оно и есть. Решается с помощью сбора требований, чётко прописанного технического задания и поэтапной разработки с тестированием и согласованием в конце каждого спринта.

Важные качества

Одним из самых важных качеств мобильного разработчика является умение конструктивно реагировать на критику пользователей, которые оставляют свои отзывы о работе приложений в Google Play и App Store. Ведь негативные отзывы не всегда направлены на то, чтобы обидеть разработчика. Как правило, они указывают на какие-то конкретные проблемы в мобильном приложении и разработчику следует их решить.

Необходимые личные качества:

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

Инструменты для разработки Android-приложений

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

Итак, в первую очередь нужно установить Android Studio. Эта платформа является официальной средой разработки (IDE) для Android. Функционирует она и на Windows, и на macOS, и на Linux. Сегодня это основной инструмент Android-разработчика, хотя, говоря по правде, разрабатывать приложения под Андроид можно и с помощью других сред.

В процессе установки Android Studio, если на вашем ПК не будут установлены Android SDK и прочие компоненты, программа скачает их автоматически.
Для справки: Android SDK представляет собой непосредственную среду программирования, куда входят необходимые библиотеки, скрипты, документация, исполняемые файлы и пр. При этом Android SDK выполняет компиляцию кода в файл, имеющий расширение .apk.

Также в комплекте с Android Studio устанавливается и эмулятор Android — очень полезный инструмент, позволяющий запускать и тестировать создаваемые вами приложения.

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

Мы же сфокусируем внимание на некоторых важных понятиях и правилах

Как всему этому обучаться

Есть два варианта:

  • Самостоятельно с помощью книг, документации, инструкций, которых полно, тематических форумов, видеоуроков на ютубе, статей в блогах
  • Приобрести курс по разработке на андроиде
  • Записаться на групповое или индивидуальное обучение

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

Самостоятельное обучение методом проб и ошибок может подзатянуться во времени, к тому же нужно обладать талантом самоорганизации и не бросить всё это дело. Ведь на первичную подготовку уйдёт от 3-х месяцев до года. В любом случае лучше начинать хоть с какого-нибудь курса со структурированной подачей. Это станет отправной точкой для дальнейшего погружения в тему разработки.

Самый быстрый результат получается в групповых или индивидуальных занятиях, например, в школе разработчиков ITEA https://itea.ua/courses-itea/mobile-development/android-advanced/. В этом случае не уходят сотни часов на поиск недостающих элементов мозаики в интернете. Как говорят программисты, 80% времени уходит на гугление вопросов почему что-то работает не так, как ожидается :).

Какая зарплата у мобильного разработчика

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

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

Как человек, который в Involta работал на всей «лестнице» должностей, от верстальщика до архитектора и руководителя, могу сказать, что человек, который пришел в разработку, повесив над кроватью подобную таблицу с гонорарами, — последний, кого я сам хотел бы видеть в своей команде. Деньги — плохой мотиватор в любом деле, а в таком прогрессивном, как мобильная разработка, тем более. Деньги — это награда за результат, а не цель работы. 

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

Карьерная лестница разработчика во многих IT-компаниях довольно многоступенчатая и позволяет развиваться как по менеджерскому, так и по техническому пути. Первый предполагает обычно вертикальный рост: вырасти от джуна до тимлида можно в среднем за пять лет. Второй ставит в приоритет не столько управленческие позиции, сколько повышение технической экспертизы. Сотрудники, которые не стремятся стать руководителями, могут расти профессионально и горизонтально, развиваясь на разных проектах и платформах.