Он пишет код для устройств, которые работают на операционной системе Android, и может разработать мобильное приложение для:
● Смартфона — от будильника до полноценного интернет-магазина.
● Умного телевизора с выбором программ и возможностью подключения к онлайн-сервисам.
● Умных часов, чтобы они умели считать пульс или отображать оповещения из соцсетей.
● Торгового оборудования, чтобы устройство могло считывать штрихкоды или помогало проводить инвентаризацию.
● Автомобилей — от мультимедиа до отдельных функций автоматического управления.
● Смарт-устройств: датчиков и умной техники.
Кроме написания кода, у Android-разработчиков есть другие задачи:
● Принимать от дизайнера проработанный интерфейс и с помощью кода добиться нужного вида приложения.
● Прорабатывать логику и внутреннюю структуру мобильного приложения.
● Организовывать навигацию между экранами.
● Обеспечивать поведение приложения при разных триггерах: например, поступление на телефон звонка или SMS.
● Оптимизировать приложения, так как ресурсы устройств ограниченны: аккумулятор не живёт вечно, а интернет безлимитный далеко не везде. Кроме того, нужно экономить память, так как пользователь смартфона может в любой момент свернуть приложение.
● Правильно организовывать хранение данных: сохранять ключевые, отбрасывать ненужные, разграничивать доступы, обеспечивать шифрование.
● Передача данных
Большинство современных приложений, так или иначе, работают с интернетом — получают информацию от сервера, подключаются к базам данных и другим приложениям и сервисам, позволяют пользователям обмениваться сообщениями. Чтобы это обеспечить, нужно разбираться в HTTP и API.
Разработка приложений для Android — это не только написание кода, но и другие навыки:
- Английский
Этот навык не обязателен, чтобы стать Android-разработчиком. Однако документация к инструментам часто написана на английском, так что полезно будет знать его хотя бы на базовом уровне.
- Проектирование
Организация навигации между экранами, создание экосистемы внутри приложения, проработка его структуры и логики работы — часто всем этим приходится заниматься именно Android-разработчику.
- Оптимизация
Приложение должно быть быстрым, плавным и потреблять минимальное количество ресурсов. Для этого нужно уметь оптимизировать отдельные компоненты, чтобы анимации отрисовывались быстро, батарея жила дольше, а интернет-трафик не улетал в космос из-за того, что приложение совершает лишнюю работу.
● Взаимодействовать с другими членами команды: обсуждать принимаемые решения с разработчиками, элементы интерфейса — с дизайнерами, идеи для бизнеса — с менеджерами.
● Аргументировать свои решения.
● Мыслить за пределами кода, с точки зрения пользователя.
Операционная система Android поддерживает код на многих языках разработки, например C/C++, Python и JavaScript. Чаще всего Android-разработчики используют те, которые лучше раскрывают потенциал мобильной операционной системы: Java и Kotlin.
Java — традиционный язык, на котором написано большинство Android-приложений, существующих давно. Появился в 1995 году, поэтому к нему есть много библиотек, модулей и готовых решений.
Kotlin — молодой язык родом из 2011 года. Полностью совместим с Java: один код можно без проблем вызывать в программе, написанной на другом языке.
Код на Kotlin намного проще и лаконичнее, чем на Java, поэтому сейчас молодой язык постепенно вытесняет старый. В 2019 Google признал именно Kotlin приоритетным в Android-разработке.
Но несмотря на все плюсы Kotlin, Android-разработчику всё ещё нужно знать Java по нескольким причинам:
● Многие классы стандартной Android-библиотеки написаны на Java, и важно понимать этот язык, чтобы разобраться в работе компонентов самой операционной системы.
● В некоторых старых приложениях есть код на Java, и его полезно уметь читать.
Поэтому разработчику мобильных приложений лучше изучать оба языка.
Инструмент бесплатный и совместим со всеми операционными системами. Внутрь уже встроен эмулятор Android, который позволяет запускать приложения «как из телефона» прямо с компьютера.
Android Studio — главный инструмент, и для большинства задач начинающему разработчику его будет достаточно. Но есть и другие, которыми иногда пользуются Android-программисты:
● Unity 3D, для разработки игр на смартфоны.
● AIDE — среда разработки, которую нужно запускать не на компьютере, а прямо на смартфоне или планшете. Позволяет разработать приложение на устройстве и там же его протестировать.
● Eclipse — среда разработки, которая была популярна до появления Android Studio. Некоторые используют её до сих пор.
● Booster — инструмент для оптимизации приложений и оценки их производительности.
● Sketch или Figma — графические инструменты для разработки дизайна.
По данным сайта Работа.ру, средняя зарплата Android-разработчика в России — 110 000 ₽. Начинающим Android-разработчикам платят от 65 000 ₽ до 80 000 ₽ в месяц. Спустя год-два можно рассчитывать уже на зарплату от 100 000 ₽.
Разработчики среднего уровня получают до 200 000 ₽, а зарплаты самых опытных могут доходить до 300 000 ₽, а в редких случаях до 500 000 ₽.
На уровень зарплаты влияет:
● Коммерческий опыт — чем дольше специалист работает в компаниях над реальными проектами, тем больше ему готовы платить.
● Знание конкретных инструментов и умение их применять.
● Количество разработанных и выпущенных готовых проектов.
● Гибкие навыки — умение распределять время, общаться с коллегами, управлять проектом, грамотно подать себя на собеседовании.
● Знания в смежных областях — больше ценятся разработчики, которые разбираются в разработке интерфейсов и вёрстке, знают несколько языков программирования.
Чтобы получить максимально высокую зарплату на старте, без коммерческого опыта, важно прокачивать гибкие навыки, освоить базовые инструменты и самостоятельно разработать несколько полноценных проектов.
Ещё с 2018 года ходят слухи, что скоро вместо Android будет новая ОС, а Android-разработчики станут не нужны. Но слухи пока не подтверждаются, да и если новая ОС всё-таки появится, то Android не исчезнет за один день, и у специалистов будет далеко не один год, чтобы переквалифицироваться.
Внутри профессии Android-разработчика карьерный рост, как и везде в IT, идёт по трём ступеням:
● Джуниор Android-разработчик — начинающий специалист с минимальным опытом. Обычно работает под присмотром более опытных коллег.
● Мидл — опытный разработчик, который делает большую часть работы сам. Именно их в компаниях больше всего.
● Сеньор — самый опытный разработчик, часто служит наставником для других, решает сложные технические задачи. Иногда занимается управлением.
Мидл или сеньор может стать тимлидом, то есть управляющим командой разработчиков. Тимлиды редко программируют и, скорее, организуют процессы, так что этот путь подойдёт тем, кто хочет больше заниматься менеджментом, чем непосредственно разработкой.
Можно развиваться в качестве техлида. Эти специалисты меньше программируют, но при этом занимаются не управлением, а общей архитектурой приложения.
Сергей Бувака
Профессия Android-разработчика может стать отправной точкой для других — например, технических менеджеров, которые могут управлять командой специалистов, или архитекторов, которые любят выстраивать взаимодействие разных систем между собой. Поэтому можно начать с разработки для Android, а потом остаться в ней или выбрать новый путь — в каждом есть свои прелести.
Читать также: