Профессия android разработчик

Содержание

Средняя зарплата Андроид-разработчика в России за 2021 год

Средняя зарплата Андроид-разработчика в России в 2021 году составляет примерно 97500 рублей. Перечислим основные факторы, которые влияют на доход Android-программиста:

  • Квалификация. Заработок Senior-специалиста со стажем от 5 лет в несколько раз превышает оклад стажера или джуниора.
  • Город. По статистике, наибольшие зарплаты предлагают мобильным разработчикам в Москве, Санкт-Петербурге, Казани, Новосибирске и Краснодаре – в среднем от 80 000 до 105 000 руб. (без разбивки по опыту работы). В небольших населенных пунктах уровень заработной платы существенно ниже – от 30 000 руб., например, в Рязани, Ижевске или Калининграде.
  • Сфера деятельности. Самые большие суммы платят программистам в крупных IT-компаниях, банковском секторе и в разработке игр.
  • Форма занятости. Оклад штатного сотрудника обычно фиксирован, но помимо него предусмотрены премии и бонусы. Доход фрилансера зависит только от его способностей и востребованности. Успешные специалисты работают не на биржах, а монетизируют собственные приложения, например, через платные подписки.

Мы изучили вакансии на сайте HeadHunter по России и составили сводную таблицу – на какие суммы могут рассчитывать Андроид-разработчики в разных российских городах:

Направление Диапазон зарплат
Junior от 25 000 до 120 000 руб.
Middle от 60 000 до 230 000 руб.
Senior от 80 000 до 460 000 руб.
Удаленка от 40 000 до 400 000 руб.

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

В Москве

По данным сайтов с вакансиями, разработчик на Андроиде в Москве зарабатывает в среднем 115 000 руб. в месяц.

Мы сравнили актуальные вакансии на HeadHunter: минимальный оклад предлагают джуниору со знанием Kotlin без требований к опыту работы, максимальный – Middle/Senior Android Developer со стажем от 6 лет.

Направление Диапазон зарплат
Junior от 70 000 до 120 000 руб.
Middle от 10 000 до 230 000 руб.
Senior от 180 000 до 460 000 руб.
Удаленка от 70 000 до 350 000 руб.

В Санкт-Петербурге

Средняя зарплата Android-разработчика в СПб составляет 112 755 рублей.

В таблице мы собрали данные на основе актуальных вакансий от питерских работодателей с сайта HeadHunter:

Направление Диапазон зарплат
Junior от 30 000 до 90 000 руб.
Middle от 80 000 до 180 000 руб.
Senior от 120 000 до 330 000 руб.
Удаленка от 60 000 до 330 000 руб.

Узнать больше о профессии можно, прочитав статью Кто такой разработчик на Андроид.

Другие интересные онлайн-программы

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

Занятия с репетитором – Profi.ru

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

Можно проходить обучение онлайн или офлайн в вашем городе. Стоят занятия от 1 000 руб. до 3 000 руб. за 1 урок, 60 минут. Некоторые репетиторы проводят бесплатное занятие-знакомство, чтобы вы посмотрели друг на друга, обсудили детали и приняли решение, хотите ли заниматься с этим преподавателем. Также возможны скидки при оплате за несколько занятий или обучение в мини-группах.

Become an Android Developer – Udacity

Курс Become an Android Developer разработан в партнерстве с Google, длится 6 месяцев и требует примерно 10 часов в неделю на освоение материала. Уроки на английском языке подойдут тем, кто уже программирует и имеет представление о Java, Git и GitHub. Кроме знаний и навыков, вы получаете комментарии специалистов, общение с другими учащимися и консультацию по трудоустройству.

Стоит полный пакет 2 034 $ (339 $ в месяц). Если платить помесячно, то выйдет дороже – 399 $ в месяц.

Разработка Android-приложений для мобильных устройств – Открытое образование

Разработка Android-приложений для мобильных устройств – бесплатный учебный курс от университета ИТМО на платформе “Открытое образование”. Обучение здесь проводится по семестрам, как в вузе, поэтому если вы пропустили старт, то придется или “запрыгивать в движущийся поезд”, или ждать следующего набора.

Длительность обучения – 10 недель, нагрузка – примерно 10 часов в неделю, подойдет новичкам. По окончании вы сможете разрабатывать простые продукты в Android Studio.

Продвинутые курсы по созданию мобильных приложений на Android – Fandroid.info

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

Разработка мобильных приложений для Android – Stepik

Разработка мобильных приложений для Android – это бесплатный курс, доступный всем желающим, знакомым с основами языка Java или Kotlin. В процессе обучения вы повторите шаги преподавателя и напишете простое работающее приложение. Вас ждет 14 уроков, 25 тестов.

Бесплатный учебник по Android – Start Android

Бесплатный учебник по Android подойдет тем, кто умеет самостоятельно обучаться по книгам. Информация в учебнике частично устарела, в ней разбираются особенности ОС Android 3, однако многие темы сейчас актуальны и расписаны довольно подробно.

Программирование под ОС Андроид – Metanit.com

Программирование под ОС Андроид – это еще один бесплатный онлайн-учебник. Он более современный по сравнению с предыдущим вариантом, есть четкая структура, темы разбираются подробно, много примеров кода. Также на metanit.com есть учебники по Kotlin и Swift.

Как новичку выбрать платформу для мобильной разработки

Минимальная база для старта в профессии — знание языка программирования и среды разработки. В iOS лучше начать со Swift и Xcode или AppCode, а в Android — с Kotlin и Android Studio. Если пишете в одиночку, желательно хоть немного разбираться в стандартах дизайна и разработки под эти платформы. Но в любом случае придётся глубоко зарываться в официальные руководства.

Вот базовый набор инструментов для старта в Android-разработке, который можно установить для Windows, Linux или MacOS:

  • Среда разработки Android Studio (уже включает Kotlin). Инструмент бесплатно загружается с developer.android.com.
  • Java Runtime Environment (Kotlin основан на Java, поэтому использует её компилятор). Скачать можно с java.com.

Окно среды разработки Android Studio

Набор для старта в iOS-разработке:

  • Компьютер Macintosh. На других платформах не получится полноценно делать приложения под iOS.
  • Среда разработки: Xcode или AppCode. Скачать можно с developer.apple.com и jetbrains.com.

Если нет Мака, но попробовать очень хочется, есть три простых варианта:

  1. GNU/Linux с установленным Swift (есть официальные пакеты под Ubuntu, CentOS и Amazon Linux; скачать можно на официальном сайте языка), текстовый редактор вроде mousepad или gedit, компилятор clang и набор инструментов для работы с Unicode — libicu-dev.
  2. Windows с неофициальным пакетом Swift for Windows и текстовым редактором вроде Notepad++ или Brackets. Пакет выложен на GitHub.
  3. Готовая сборка MacOS для виртуальной машины с торрентов (например, под Virtualbox).

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.

Implement managed configurations

Managed configurations are a set of instructions that IT admins
can use to manage their users’ mobile devices in a specific way.
These instructions are universal and work across any EMM, allowing
admins to remotely configure applications on their users’
phones.

If you’re developing apps for business or government, you may need
to satisfy your industry’s specific set of requirements. Using
managed configurations, the IT admin can remotely specify
settings and enforce policies for their users’ Android apps; for
example:

  • Configure if an app can sync data via cellular/3G, or only Wi-Fi
  • Allow or block URLs on a web browser
  • Configure an app’s email settings
  • Enable or disable printing
  • Manage bookmarks

Best practices for implementing managed configurations

The Set up Managed Configurations
guide is the key source for information on how to build and deploy
managed configurations. After you’ve reviewed this documentation, see
recommendations below for additional guidance.

When first launching the app

As soon as you launch an application, you can see if managed
configurations are already set for this app in or
. Additionally, you can find out if your
application is managed or unmanaged. For example, if
returns:

  • A set of application-specific restrictions—You
    can configure the managed configurations silently (without requiring
    user input).
  • An empty bundle—Your application acts like
    it’s unmanaged (for example, how the app behaves in a personal
    profile).
  • A bundle with a single key value pair with
    set to true—your
    application is being managed, but the DPC isn’t configured
    correctly. You should block this user from your app, and direct
    them to their IT admin.

Listen for changes to managed configurations

IT admins can change managed configurations and what
policies they want to enforce on their users at any time. Because of
this, we recommend you ensure that your app can accept new
restrictions for your managed configuration as follows:

  • Fetch restrictions on launch—Your app should
    call in
    and , and compare against old restrictions
    to see if changes are required.
  • Listen while running—Dynamically register
    in your
    running activities or services, after you’ve checked for new
    restrictions. This intent is sent only to listeners that are
    dynamically registered, and not to listeners declared in the app
    manifest.
  • Unregister while not running—In ,
    you should unregister for the broadcast of
    .

Не доверяйте чужому коду

Stack Overflow полностью изменил подход к написанию приложений. Сегодняшние программисты не читают документацию и не ведут многочасовые беседы с коллегами. Они идут на SO и просто копируют ответ, набравший большее количество голосов. Выбор библиотек зачастую не более сложный: где звездочек на GitHub больше, то и лучше.

Что мы получаем в результате? Забагованные, уязвимые и медленные приложения. Большое количество голосов или звездочек не означает, что код корректен. Сниппет кода мог устареть; те, кто ставил оценки, могли не брать в расчет безопасность и скорость; в конце концов, код может просто не подойти для вашей конкретной ситуации.

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

Всегда тщательно тестируйте любой код, который вы включаете в приложение. Читайте комментарии на SO, анализируйте код, просматривайте баг-репорты на GitHub, посмотрите, когда был сделан последний коммит, и внимательно следите за нововведениями Android. Они могут сломать не только ваш, но и чужой код.

При работе с множеством изображений Blurry будет крашить твое приложение каждые две минуты

Android Developer Salaries

So, you know what Android developer skills you should have and what responsibilities you will have to perform. It is high time to figure out the appropriate level of salary for your software engineering efforts.

Of course, the higher your level of expertise is (junior, middle, senior), the higher the salary will be. It also largely depends on the country of your residence, so I am going to consider several countries.

Average Android developer salary by the level of knowledge in the US (all states):

  • Junior Android Developer: $80,733 per year
  • Mid-Level Android Developer: $96,012 per year
  • Senior Android Developer: $115,086 per year

Average Android developer salary by level in Canada:

  • Junior Android Developer: $50,000 per year
  • Mid-Level Android Developer: $78,000 per year
  • Senior Android Developer: $106,000 per year

Average Android developer salary by level in the UK:

  • Junior Android Developer: £21,509 per year
  • Mid-Level Android Developer: £41,000 per year
  • Senior Android Developer: £59,046 per year

Average Android developer salary by level in India:

  • Junior Android Developer: ₹182,837 ($2,443) per year
  • Mid-Level Android Developer: ₹336,000 ($4,468) per year
  • Senior Android Developer: ₹810,471 ($10,830) per year

(These figures are averages taken from Indeed, Glassdoor, and LinkedIn)

Включение опций для разработчиков

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

  1. Зайдите в «Настройки» > «О телефоне/планшете»
  2. (У некоторых телефонов здесь есть дополнительный шаг. Нажмите «Информация о программном обеспечении»)
  3. Найдите пункт с номером сборки и тапните по нему несколько раз
  4. Прекратите тапать, когда появится надпись, что «теперь вы являетесь разработчиком»
  5. Вернитесь на главную страницу настроек
  6. Вы должны увидеть новый пункт «Параметры разработчика» в нижней части списка настроек или в расширенных настройках («Дополнительно»)

Для Android Oreo и выше:

  1. Зайдите в «Настройки» > «Система» > «О телефоне»
  2. Найдите номер сборки и тапните по нему несколько раз
  3. Прекратите тапать, когда появится надпись, что «теперь вы являетесь разработчиком»
  4. Вернитесь в «Настройки» > «Система»
  5. Теперь вы должны увидеть «Параметры разработчика»

БАЗЫ ДАННЫХ

Если ваше приложение обрабатывает большие объемы данных, большая часть из них, вероятно, не будет храниться на вашем устройстве.

Вместо этого ваше приложение, скорее всего, будет взаимодействовать с базой данных, находящейся за пределами вашего телефона. Облачные сервисы, такие как Firebase или Parse, предоставляют простые API-интерфейсы для хранения данных в облаке и обеспечения их доступности на всех устройствах.

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

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

Where to Learn Android Development

Android App Development – Coursera Specialization

This specialization takes you through five different courses that each teach you some new Android developer skills. Start with learning Java programming, then the components of a Java app, various development and testing methods, and much more, ending with a capstone project.

Build Your First Android App (Project-Centered Course) – Coursera

This Coursera Android development course focuses on learning by doing. You should start with some background knowledge of the Java programming language, so you can combine that knowledge with the building blocks in this course to create your own real-world Android app.

Learn the Basics of Android – Codecademy

In this course, you’ll learn about Android Studio—the Integrated Development Environment (IDE) for Android, and you’ll learn the fundamentals skills you need to build simple Android apps and run them on a real or simulated virtual device.

Complete Java Masterclass – Become an Android App Developer! – Mammoth Interactive

No prior experience is necessary for this class. If you’ve never done any coding before, Java might be a tougher language to dive into as your first, but it’s certainly possible. Learn Java fundamentals, how to navigate Android Studio, how to overcome challenges, etc.

The Complete Java and Android Studio Course for Beginners – Mammoth Interactive

Another project-based course, this one teaches you how to build real-world apps from calculators to games to map travel apps. Along the way, it focuses on the Java concepts and Android Studio tools you’ll need for these apps.

Learn to Code in Kotlin by Building an Android App – Mammoth Interactive

So far, most of these courses have focused on Java as the main programming language to use as an Android software developer. This one mixes it up by teaching you the other main up-and-coming Android language, Kotlin, as you build a to-do list app. 

Java Programming Masterclass for Software Developers – Udemy

We’re going back to Java with this final course, which is full of 80 hours of video content and 36 coding exercises. Go from total beginner to an Android developer prepared to build apps and even sit for the Oracle Java Certificate exam.

Android Basics by Google – Udacity

Built with Google, this course is perfect for aspiring Android developers who are new to programming and want to learn real-world skills. If you want to know how to build and accelerate your journey towards becoming a professional Android Developer, this is the course for you.

Android App Development for Complete Beginners – Skillshare

Whether you have prior experience programming or not, this class will take you step-by-step through the process of creating your first Android app. You’ll learn how to get up and running with Android Studio, how to create a basic user interface, how to make the application interactive, and how to install and test your app on your own Android device.

Курсы

Многие меня спрашивают про толковые курсы. И очень огорчаются, когда я советую учиться самому. На это есть ряд причин:

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

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

Android Studio Arctic Fox

Источник — https://android-developers.googleblog.com/2021/05/android-studio-arctic-fox-beta.html

Вышла последняя бетка Artic Fox — песца. 

Что нового:

  • Ускорили разработку дизайна интерфейса с помощью Compose и быстрого просмотра изменений на устройствах, добавили Accessibility-сканер.

  • Добавили возможности расширения приложения на новые устройства: быстрый пейринг часов, новые симуляторы с упрощённым управлением — часы с датчиком пульса, пульты GoogleTV и CarAuto.

  • Повысили удобство разработки: новые lint checks, тестирование на нескольких устройства сразу с помощью Test Matrix, новый Memory Profiler, WorkManager Inspector для фоновых задач и быстрый переезд на Non-transitive R classes. Кстати, поддержали и Apple Silicon.

Какое будущее у мобильной разработки

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

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

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

РАЭК в исследовании за 2019 год подтвердила: цифровая экономика набирает обороты и все больше влияет на смежные отрасли. И присмотритесь к трендам — в них все те же результаты трудов мобильных разработчиков:

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

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

Не делайте быстро, делайте правильно

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

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

Android KTX

Android KTX — это набор расширений-обёрток для Android API в Kotlin, которые делают его более дружелюбным. Главная цель этой библиотеки — сделать Android API более удобным в использовании. Она содержит множество методов и отличных новых функций Kotlin, таких как именованные параметры, лямбда-функции и параметры по умолчанию.

Android KTX отличается наличием множества функций-расширений, и единственный способ узнать о них — погрузиться в код библиотеки, чтобы увидеть, каким образом функции улучшили Android API. Android KTX упрощает способ использования Android API, и по этой причине эта библиотека должна стать основой каждого Android приложения, написанного на Kotlin.

С чего начать разработку приложений для Android?

  • Курс «Профессия Android-разработчик» от Skillbox с последующей гарантией трудоустройства
  • Training for Android developers — родная тренинг-документация от Google для начинающего Android-разработчика
  • StartAndroid — отличный набор уроков на русском языке. Содержит широкий список детальных примеров и видеоуроков с комментариями ключевых моментов. Наверно лучший способ понять идеологию разработки, познакомиться с терминами и понятиями, а так же быстро стать начинающим android разработчиком.
  • курс Александра Климова, с которым вы освоите Android-разработку за 5 месяцев. Является отличным дополнением к startandroid.ru.
  • Android Tutorial — брошюрка, из которой можно узнать об основных понятиях и обозначениях в Android. После неё чтение любой документации должно даваться чуточку проще.
  • Набор простых шпаргалок и примеров работы с различными компонентами Android. В целом материал старый, но многие вещи в платформе не менялись годами. В любом случае станет хорошим стартом для молодого разработчика.
  • Vogella Tutorials — блог от эксперта Android Eclipce Ларса Фогеля на английском языке. Отличные детальные примеры, алгоритмы, паттерны и многое другое.
  • курс «Разработка под Android» на Hexlet. 136 видео уроков, тестов и домашних работ. Преподаватель — Виталий Непочатов. Курс от 19 декабря 2013 года.
  • курс Android Development for Beginners на Udacity для совсем начинающих. Его можно пройти бесплатно — Udacity всячески пытается заставить нажать на платную кнопочку, но если внимательно присмотреться и почитать, что написано на экране, то можно увидеть, как начать курс без оплаты.

Говорящие цифры

На Android сегодня работает около двух миллиардов устройств — от смартфонов и планшетов до умных холодильников и бытовых роботов.

Система занимает первое место среди мобильных операционок. Она управляет 73% смартфонов в мире — это больше, чем у всех остальных ОС вместе взятых.

В первом квартале 2020 года в онлайн-магазине Google Play было два с половиной миллиона приложений, а уже в сентябре их число перевалило за три.

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

Игра Gardenscapes от вологодской компании Playrix в первой половине 2019 года стала «самым залипательным» приложением у пользователей из России

Особенности профессии

Android-программист занимается следующей работой:

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

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

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