Как стать программистом приложений на Android

Может показаться, что написаны уже все приложения, какие-только возможно, и особо ничего нового больше не нужно. Но это не так, на самом деле новые приложения появляются каждый день, ведь 70-80% процентов всех устройств работают на Андроиде: смартфоны, планшеты, бытовые приборы и роботы.

Существующие приложения нуждаются в обновлениях, т.к. выходят новые устройства, обновляется ОС Android, улучшается функционал. Основные категории: мессенджеры, кошельки, онлайн-банки, заказ такси, еда онлайн и игры (треть от всего). Нет такого вопроса, стоит ли становиться Android разработчиком, есть только определённые шаги, которые нужно пройти, чтобы стать им.

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

Что делает Андроид-разработчик

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

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

  • Продумывание пользовательского интерфейса, внутренней логики и структуры приложения, удобная навигация – всё это называется UI (User Interface)
  • Написание кода по прописанным алгоритмам (блок-схеме)
  • Оптимизация кода уже рабочего продукта, для мобильных устройств важно минимальное потребление энергии
  • Для онлайн-банков и кошельков особенно важна тема безопасности, нужно найти потенциально уязвимые места и переписать код на безопасный
  • Тестировщик, нужно тестировать приложение на разных версиях ОС, устройствах, в нестандартных условиях
  • На финальном этапе нужно написать документацию для пользователя, загрузить приложение в Google Play и другие магазины приложений
  • Дальше идёт по кругу изучение статистики пользователей, отзывов и доработка

Разветвляющийся алгоритм

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

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

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

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

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

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

Что нужно знать программисту приложений

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

  • Основа – язык программирования Java, именно на нём написано большинство приложений, лучше подходит для приложений, где нужно взаимодействовать с аппаратной частью смартфона
  • Язык программирования Kotlin – это рекомендованный Гуглом язык (Android – это разработка гугла, если что). Постепенно переходят на него, но Java нужно знать обязательно, потом всё-равно придётся с ним столкнуться, поэтому лучше выучить его сразу, а не потом, обрывочно
  • Среда разработки Android Studio – та самая программа с эмулятором андроида, в которой создаётся приложение
  • Общие принципы разработки: объектно-ориентированное программирование (ООП), правильное оформление кода (чтобы не было «говнокода»), удобное именование функций переменных и др.
  • Языки разметки HTML и XML, стили CSS – эти знания также позволят верстать сайты
  • Базовые принципы дизайна от Google – Material Design
  • Принципы работы и структура ОС Android
  • Изучение популярных библиотек и фреймворков (готовые функции для решения типовых задач, которые упрощают разработку)
  • Распределённая система управления версиями Git и GitHub – необходимо для работы команде и создания своего портфолио, позволяет вносить изменения в проект без хаоса
  • UI- и unit-тестирование, чтобы протестировать работу приложение во всевозможных ситуациях, обучиться автоматизации тестирования можно здесь https://itea.ua/courses-itea/qa/automated-testing/
  • Основы алгоритмизации – научит с нуля проектировать приложение на Android
  • Английский язык практически «Must Have», придётся читать документацию и форумы на английском языке, и вообще языки Java и Kotlin становятся более понятными, если знаешь английский

Java программирование

Карьера на Андроиде

После 3-х месяцев обучения вы можете претендовать на должность интерна или Junior (юниор – младший специалист). Далее, по мере развития скилов, станете Middle (средним, стандартным) специалистом. И если всё пойдёт по плану, то есть шансы стать Senior’ом, они получают приличные зарплаты. После сеньора можно пойти на тимлида (лидера команды). Вообще, зарплата программиста варьируется от 500 до 5000$ и выше. Зависит от профессионализма, опыта, портфолио и страны работодателя.

Небольшая ремарка, некоторые люди боятся, что Google перейдёт на другую ОС, и тогда они останутся не у дел. Как в 2016 году шли разговоры о новой ОС Fuchsia. Это всё неважно, ведь людям по-прежнему нужны будут приложения, просто у разработчиков добавится работы, нужно портировать свои приложения на другую ОС. К слову, языки программирования не сильно отличаются друг от друга. Когда знаешь Java, то чтобы перейти на другой язык понадобится всего месяц. Структуры операционных систем также не меняются на 100% в другую сторону.

Вот вы прошли через бессонные ночи и решили, что пора явиться в мир. Где работают андроид-разработчики? Конечно, это студии мобильной разработки, которые ведут сразу несколько проектов. Работа в такой студии обеспечит быстрый профессиональный рост и достойный заработок.

Во-вторую очередь разработчиков нанимают бизнесы, которым нужно своё приложение. Нужно быть готовым, что здесь вы станете тем самым специалистом на все руки, может даже винду кому-то переустановите :).

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

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