Никита Куликов — разработчик на Android и один из авторов курса «Android-разработчик» в «Яндекс Практикуме». Мы спросили у Никиты, каково ему работать в Android-разработке, и он нам рассказал, как туда попасть и что нужно уметь. Рассказ будет от имени Никиты, а иногда — дополнения от редакции.
Из одного вопроса получилось целое видео на полчаса, поэтому, если хотите погрузиться в детали, — вот оно:
Как попасть в разработку
Я попал в мобильную разработку не совсем обычным путём — пришёл туда из разработки игр. Сначала писал моды для «Майнкрафта», а потом узнал, что моды пишутся на Java. Получается, язык уже знал — нужно было только найти работу. Если говорить о том, как попасть в мобильную разработку с нуля, я бы сейчас посоветовал друзьям пройти курсы.
Когда я начинал, курсов не было и приходилось искать всё самостоятельно. На курсах все системно, поэтому курсы — классный старт в новой профессии. Через них проще всего попасть в разработку — отучиться и найти работу.
Теперь про работу. Часто слышу о том, что работу найти сложно, но по факту это только если её не искать самому, а ждать, пока к тебе придут и что-то предложат. На самом деле найти работу в мобильной разработке не очень сложно. Вот несколько способов из моего опыта и опыта коллег:
Ходить на профильные конференции. На конференции я нашёл первую работу. Я подошёл к докладчику и задал вопрос про запросы в сеть. Он не ответил в моменте, но предложил написать ему. Мы общались какое-то время, а через месяц он написал сам и предложил прийти на стажировку. Так иногда бывает, поэтому прокачивайте свои софт-скилы в общении — это пригодится не только в разработке.
Общаться с другими разработчиками. Вдруг у вас получится найти работу через знакомых разработчиков? Плюс такого подхода ещё в том, что, когда в компаниях появляется новая вакансия, все обычно начинают спрашивать у своих сотрудников, есть ли у них знакомые кандидаты, кто бы мог подойти на эту позицию. И если про вас будут знать другие разработчики, вполне вероятно, что они порекомендуют вас.
Мыслить нестандартно и не бояться спросить. У меня был стажёр. В своё время он спросил у меня в личных сообщениях: «Что я могу сделать, чтобы развиваться в разработке?» Я дал ему одну задачу, вторую, третью. Вижу — человек делает задачи и ему интересно. В итоге я взял его на проект, теперь это полноценный разработчик, который умеет решать все нужные задачи.
Выполнять тестовые. Во многих местах сейчас оценивают разработчика не по резюме, а по тестовому. Если в компании есть тестовое — всегда выполняйте его. Шанс, что вас возьмут на работу, будет выше.
Искать вакансии стажёра в крупных компаниях. Да, вы на время можете потерять в доходе, зато поработаете в крупной компании. Большая вероятность, что вас оставят работать как специалиста.
Особенности Android-разработки и сравнение с IOS-разработкой
Операционная система — Android.
Язык программирования — Java и Kotlin.
Тип — мобильная разработка.
Считается, что Android-разработка более универсальна — языки Java и Kotlin используются в других направлениях чаще, чем Swift для iOS. С другой стороны, Android — это открытая операционная система, и каждый производитель телефонов может выпустить свою версию, которая будет чуть отличаться от классической. Это значит, что что-то, что работает для одного производителя, может не работать у другого (например, какие-то интерфейсные решения или путь к различным настройкам). Также разработчику нужно учесть огромное количество разных размеров экранов — от 4 дюймов на старых телефонах до 7–8 дюймов на современных флагманах. А ещё у них может быть разное разрешение, пропорции экрана и очень большой разброс по вычислительной мощности.
При этом у Apple всё просто: есть несколько разных разрешений экрана и стандартные правила оформления приложений, их нужно соблюдать, чтобы приложение прошло модерацию в App Store. Ещё у пользователей iOS большая доля обновлений операционной системы — у 70% стоит последняя версия ОС, что делает разработку проще. Получается, программисту достаточно сделать поддержку 3–4 размеров экрана, а весь остальной интерфейс будет одинаковым.
В целом iOS — это мир стандартизации и порядка, а Android — это хаос и колхоз. Но приложения выходят и там и там, значит, как-то разработчики этот хаос побеждают.
Фронтенд и бэкенд в Android-разработке
У меня был выбор — пойти в бэкенд или фронтенд. Фронтенд — создание видимых элементов и настройка их отображения, это то, что мы видим на экране телефона или планшета. Бэк — работа с сервером, внутренняя логика приложения и создание глубоких штук. Я почти никогда не занимался фронтендом, но недавно начал — оказалось, это интересно.
Фронтенд- и бэкенд-разработка часто переплетаются внутри Android-разработки. В каждом приложении есть видимая часть — интерфейс — и скрытая часть. Здорово, если разработчик умеет работать с обеими частями и знает, как они связаны друг с другом.
Где нужны Android-разработчики?
В целом — везде: от VR-разработки до разработки интерфейса у каких-нибудь станков на заводе. Моя любимая присказка: «Пока у шаурмичной за углом есть приложение, у Android-разработчиков будет работа».
Куда идти работать: в стартап или корпорацию?
Я бы посоветовал идти в крупную компанию с точки зрения репутации и работы на перспективу. Часто вижу ситуации, когда начинающие разработчики идут в неизвестные фирмы и сразу зарабатывают большие деньги. Не торопитесь — поработайте сначала в крупных компаниях. Даже после полугода работы в такой компании любая другая компания предложит вам больше, чем без подобного опыта.
Другой плюс работы в крупной компании — ты видишь, как делают качественный продукт для огромного количества пользователей. Это бесценный опыт.
Есть и стартапы, которые уже успели сделать себе имя. Чаще всего такие стартапы — выходцы из других крупных проектов. В таких стартапах поработать тоже полезно.
Зарплаты Android-разработчиков
Начинающему разработчика на Kotlin и Java в среднем готовы предложить 90 500 рублей. Это если ты вот только окончил курсы, нигде не работал и только ищешь первую компанию:
Если смотреть в среднем, то в Android-разработке средняя зарплата сейчас — 241 000 рублей, при этом опытные разработчики перешагивают порог в 300 000 рублей в месяц:
Если интересен более детальный разбор зарплат и навыков, которые для них нужны, почитайте наш старый разбор. Зарплаты там ещё старые (сейчас они в полтора раза выше), а технологии и знания всё ещё актуальны:
119 тысяч рублей за то, чтобы делать приложухи — это справедливо?
От редакции: какие профессии мы ещё разбирали
Вот с кем мы ещё поговорили к этому моменту. Каждый честно рассказал о том, как ему работается в своей профессии:
Если у вас есть пожелания, с представителем какой профессии поговорить в следующий раз, напишите нам об этом в комментариях.