ИТ для креативных и самостоятельных. Как стать мобильным разработчиком
Мобильные разработчики — это программисты, которые пишут приложения для мобильных устройств. Не только для смартфонов и планшетов, а вообще для всех гаджетов. И спрос на них постоянно растет, так как мобильный софт сейчас используются практически во всех сферах: от развлечений и покупок до образования и науки. Рассказываем, что нужно знать и уметь, чтобы найти работу разработчика мобильных приложений.
Мобильный разработчик может отвечать сразу за все этапы создания приложения: проектирование архитектуры и разработку пользовательского интерфейса, тестирование и публикацию на Google Play или AppStore, обеспечение безопасности и выпуск обновлений. Так что обычного разделения на фронтенд и бэкенд здесь может и не быть. Поэтому специалистам нужны навыки работы как с пользовательским интерфейсом, так и с архитектурой приложения.
Есть ли у мобильных разработчиков специализации? Да, две, как и операционных систем, на которых работает большинство мобильных устройств: Android или iOS.
iOS-разработчик создает программы, игры, интерфейсы для iPhone, iPad, умных часов Watch и других устройств Apple. Разработчик Android создает и развивает мобильные приложения и программное обеспечение для разнообразных мобильных устройств совершенно разных производителей.
Android-разработчик может программировать на любой операционной системе: Linux, Windows, да и на macOS тоже. А вот для разработки на iOS обязательно понадобится Mac или MacBook.
При всех преимуществах у разработки для Android есть существенный минус, а точнее сказать, сложность: устройств много, все они работают по-разному, и приложения приходится адаптировать под конкретные гаджеты с разными размерами и разрешениями экранов. У iOS в этом плане всё проще.
В мобильной разработке, также как и в других областях, есть джуниоры, мидлы и сеньоры. В вакансиях необходимый уровень навыков и компетенций указывается именно так.
В чем преимущества работы мобильным разработчиком
Во-первых, такие специалисты очень востребованы, и спрос на них только растет. Мобильные приложения нужны в любой сфере жизни, и постепенно они появляются даже там, где их и не ждешь, вроде местного ЖЭКа или киоска с фастфудом у дома.
Во-вторых, работа довольно творческая, потому что мобильный разработчик может создавать уникальные продукты и делать это самостоятельно. Так что творческим личностям есть где развернуться и совместить технические навыки с креативностью.
Что нужно знать, чтобы стать мобильным разработчиком
Для старта нужно выучить один из языков программирования т освоить самые распространенные инструменты разработчиков. К ним относятся распределенная система управления версиями Git и веб-сервисы для хостинга IT-проектов и совместной разработки. Один из крупнейших сервисов — GitHub.
Точно не обойтись без базового знания английского языка, профессиональные термины же можно освоить в процессе практики.
Также важно уметь пользоваться популярными библиотеками и фреймворками, понимать, как передаются данные через протоколы REST и HTTP, и уметь работать с базами данных.
Интерфейс будущего приложения придется разрабатывать на основе макета. Поэтому нужно понимать, как формировать сетевой запрос и обрабатывать данные, уметь создавать и использовать протоколы, подключать базы данных к приложению, знать архитектурные подходы и понимать способы хранения данных.
Также понадобятся навыки работы с App Store или Google Play, то есть знать, как выпустить сертификат разработчика, составить описание программы и выложить ее в магазин в приложений.
Какие языки нужно выучить
Для создания приложений существует много разных языков. К сожалению, нельзя выучить один и программировать на нем сразу для всех устройств. Популярных языков пять:
1. Java
2. Kotlin
3. Objective C
4. Swift
5. JavaScript
Для разработки на iOS понадобится знание языков Objective-C и Swift (последний считается более функциональным). Для Android-разработчиков из языков чаще всего нужны Java и Kotlin.
Освоение Java — отличное начало, поскольку это методология программирования, основанная на представлении программы в виде совокупности объектов. Если освоить основные концепции объектно-ориентированного программирования (ООП), получится быстрее выучить другие языки.
Также нужно изучить файловую структуру и принципы работы OS Android.
В вакансиях для мобильных разработчиков обычно встречаются еще два требования:
— знание XML (eXtensible Markup Language), расширяемого языка разметки — это универсальный формат для представления данных в структурированной форме;
— умение работать с SDK (Software Development Kit) — набором инструментов, библиотек и ресурсов, предназначенных для разработки приложений под операционную систему Android.
Где учиться, чтобы стать мобильным разработчиком
Если есть базовое знание ИТ или высшее образование в этой сфере, то учиться мобильной разработке можно самостоятельно, или на курсах. Ресурсов для самостоятельного обучения программированию для мобильных устройств огромное множество: онлайн-платформы, блоги, видеоуроки и даже книги. Освоить профессию при желании можно бесплатно.
На английском языке:
Codecademy
Udacity
Coursera
Android Developers
Apple Developer Documentation
На русском:
Code.org
Geekbrains
Skillfactory
У некоторых крупных компаний есть собственные школы мобильной разработки для подготовки новых специалистов. Так Газпромбанк проводил собственные курсы по мобильной разработке — GPB IT Factory. Лучшие участники, как правило, сразу получают предложение о работе.
Какие вопросы могут задать на собеседовании
Стандартного списка вопросов нет: много зависит от того, какие именно приложения нужно разрабатывать и на какую конкретно должность вы претендуете. Прежде всего интервьюер захочет проверить глубину знаний конкретного языка и нужных наборов инструментов. Вот примеры вопросов, которые могут задавать на собеседовании:
- Опишите жизненный цикл приложения на Android/iOS.
- Какие преимущества и недостатки у Java/Kotlin (для Android) и Swift (для iOS)?
- Что такое архитектурный паттерн MVC/MVVM? Какие его преимущества?
- Как можно оптимизировать производительность мобильного приложения?
- Расскажите о своем опыте работы с каким-то набором инструментов, фреймворком, например Android SDK?
- Как бы вы реализовали определенную функциональность в мобильном приложении?
- Какие инструменты вы бы использовали для отладки приложения?
- Что будете делать, чтобы обеспечить безопасность пользовательских данных в мобильном приложении?
На какую зарплату могут рассчитывать мобильные разработчики
Программисты со специализацией в мобильной разработке в среднем по России получают 177 080 рублей (средняя зарплата по данным Zarplan), средняя зарплата в Москве больше — 228 000 рублей, а медианная (то есть половина получает ниже, а половина — выше) — 155 000 рублей.
Разработчики iOS в среднем получают больше, чем те, кто пишет приложения для Android, потому что сами продукты дороже. Медианная зарплата разработчика Android в России в 2023 году — 199 000 рублей, а iOS — 251 000 рублей.
Согласно исследованию Habr Карьер, зарплата разработчика на Swift выросла со 165 000 рублей в начале 2021 года до 220 000 рублей в конце 2022 года, а зарплата Kotlin-разработчика — со 160 000 рублей до 200 000 рублей.
Как стать мобильным разработчиком за 10 шагов?
1. Освоить язык программирования. Начать можно с Java, Kotlin или Swift.2. Изучить инструменты для создания приложений — Android SDK или Apple Development Guidelines.
3. Попробовать самостоятельно написать простое приложение.
4. Создать несколько прототипов приложений в сервисах для разработки интерфейсов. Самые популярные — Figma, Adobe XD или Sketch.
5. Стать проверенным разработчиком на Google Play или App Store и выложить туда свое приложение.
6. Устроиться на стажировку, чтобы получить опыт, который поможет пройти собеседование в будущем.
7. Создать портфолио на Git и составить резюме.8. Опубликовать резюме на карьерном сайте или откликнуться на вакансии, которые понравились.
9. Пройти собеседование.
10. Получить работу мобильного разработчика.