Работы для android программистов

Android-разработчик: почему все ринулись изучать мобильную разработку и что на самом деле ждет новобранца

Количество мобильных устройств растет, люди все больше проводят времени с гаджетами. На данный момент у 66% населения планеты есть телефон, 89% из них — смартфоны.

Такое положение вызвало серьезный спрос на специалистов в сфере мобильной разработки. К тому же на фоне пандемий, актуальность еще больше увеличилась, ровно как и уровень ЗП таких специалистов.

Статистика пользования мобильными телефонами, соцсетями и интернетом в мире, Digital 2020

Многие украинцы также подумывают сменить свою профессию на Android- или iOS-разработчика, так как иностранные заказчики охотнее отдадут заказ нам, чем специалисту из Европы и США.

Всему причина — ценник за работы. В Украине он сравнительно ниже, а качество практически не уступает. И все бы ничего: и зарплата высокая, и стабильность, НО с чем на самом деле сталкивается новичок осваивая желанную профессию?

Владимир Анисимов — Mobile App Developer, Android-разработчик

Об этом честно согласился рассказать Владимир Анисимов — Mobile App Developer, практикующий Android-разработчик с более чем 4-летним опытом в кроссплатформенной разработке: Android, iOS, Web, Flutter. Владимир дал интервью и ответил на самые волнующие вопросы.

Стоит ли идти в мобильную разработку

Владимир, скажите: Почему все пошли в мобильную разработку?

Как и любая технология, мобильная разработка сначала не была массовой, но сейчас смартфоны становятся дешевле, и их количество растет.

Если сравнить стоимость мобильного телефона 7 лет назад и сегодня, то сегодня он стоит… скажем, как 15–20 кг мяса. Это не такие большие деньги — отсюда массовость.

Больше мобильных устройств — нужны приложения, отсюда спрос.

Действительно ли спрос такой большой или нас в этом пытаются убедить создатели курсов?

Спрос на мобильную разработку не раздутый, наоборот — неудовлетворенный.

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

Почему выбирают именно мобильную разработку, в чем ее преимущество перед другими IT-специальностями?

Главное преимущество мобильной разработки — она находится в золотой середине по скорости изменений и сложности кода.

Для сравнения, в Web-разработку легко войти, задачи сравнительно несложные, но изменения происходят примерно каждые 2–3 месяца. Не изучили вовремя новые технологии — ваши знания устарели.

Если брать программирование на языках вроде Java и C# — нужно много думать, все логично, структурировано. Но стать таким специалистом непросто.

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

Мобильная разработка находится посредине.

Она сложнее Web-разработки, но не настолько, как C++, чистая Java, C#. При этом проекты не такие большие, чтобы устаревать. Мы находимся на пике технологий но они меняются не раз в 2 месяца, а, например, раз в год.

И вы сразу видите результаты своей работы — приложение на экране своего смартфона.

Что выбрать: Android или iOS?

Я бы не стал говорить, что одно лучше, другое — хуже.

Преимущество Android в том, что его используют в 70% устройств, значит, больше спрос.

Плюс, в iOS есть сложности на старте. Для разработки нужна техника Apple. Чтобы создать и поддерживать аккаунт разработчика, нужно платить примерно $100 в год.

Я бы рекомендовал начать с Android, а позже — доучиться разработке на iOS или кросс-платформенной разработке.

Кому стоит идти в мобильную разработку

Можно ли начать обучаться с 0, не имея опыта и технического образования?

Нужно. Найти свое место может даже гуманитарий: в работе с интерфейсом, дизайном. Конкретно меня некоторые клиенты ценят в том числе за то, что я могу кроме программирования сделать дизайн без привлечения еще одного специалиста-дизайнера.

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

Стоит ли переходить в мобильную разработку тем, кто уже в программировании?

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

Когда вы — успешный IT-шник и вас тянет — тоже вперед.

Если текущая область IT приносит удовольствие и финансы, то нет смысла.

Какие требования к «железу» для мобильной разработки и нужно ли знать английский

Какие есть требования к «железу», чтобы разрабатывать мобильные приложения?

Для старта можно использовать компьютер с 4 ГБ оперативной памяти. Нужен будет любой телефон на Android, чтобы на нем запускать и отлаживать программу.

Средний уровень — это 8 ГБ оперативной памяти. В этом случае вы сможете работать с эмулятором, запускать программу на нем, и телефон на Android вам не понадобится.

Процессор рекомендую i3 или i5 любого поколения.

Нужно ли разработчику знать английский?

Если устраиваться в компанию — английский нужен.

Вся документация на английском, на английских ресурсах больше информации.

Второй фактор — нужно общаться с заказчиками, а хорошие заказчики — зарубежные заказчики.

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

Как выбрать курс и нужно ли учиться в университете

Насколько хорошо учат программистов в университете?

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

Читайте также:  Fortnite mobile android системные требования

За те 5 лет, которые вы будете учиться в университете, уже 2–3 раза изменятся технологии. Поэтому университет надо рассматривать, как базу, которая учит мыслить и дает фундамент. Потом надо будет доучиваться на курсах.

На что стоит смотреть при выборе курсов?

Я бы смотрел в первую очередь на программу. Второе — познакомился бы с человеком, который будет меня обучать, посмотрел, нравится он мне или нет.

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

Что должно быть в курсе, чтобы человек вышел хорошим специалистом?

Должна быть основа, базовая теория, чтобы люди научились программировать в целом. Но обязательно должно быть много практики. Хорошо, если на курсе вы напишете конкретные программы, которые можно положить в портфолио.

Как перейти в мобильную разработку и стоит ли бросать работу

Как выглядит переход в мобильную разработку, какие сложности?

Я сам свитчер. До мобильной разработки преподавал в вузе по специальности, не связанной с программированием.

В какой-то момент решил попробовать. Начал учить Java для саморазвития. Через месяц задумался: куда можно применить знания.

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

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

Было долго и не просто. Во время поиска первой работы я уже думал все бросить, но у меня была мотивация, было интересно.

Как можно было бы пройти этот путь эффективнее?

Если бы кто-то мне сказал: это учи, а это надо просто знать, я бы быстрее прогрессировал. Тогда учил все подряд.

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

Можно учиться параллельно с работой?

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

На работе — просто выполнять обязанности и ничего сверх. Или найти временную работу, которая будет приносить деньги, чтобы вы могли год спокойно жить и учиться 2–4 часа в день.

Как пройти собеседование и найти работу

Насколько сейчас легко найти работу и стоит ли идти на фриланс?

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

Важно понимать, что путь не будет легким. Сначала нужно будет пройти толкучку: когда вы еще молодой специалист, вас много, надо попасть в компанию.

Тем не менее, находить работу становится легче. Если 3 года назад среди Junior’ов была бешеная конкуренция, то сейчас ее меньше. Работы становится больше, люди осмысленнее подходят к тому, хотят ли они стать разработчиками.

Сколько в среднем может уйти времени на поиск первой работы?

От начала обучения 1–1,5 года.

Нельзя играть в быструю: возьму отпуск на 4 месяца и стану программистом. Так не получится. Но если не бросать и заниматься этим, то где-то за год — реально.

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

Junior — от $800 до $1500.

Не надо пугаться, что это мало. Junior — это не навсегда.

Уже через год можно стать Middle и получать $1500–3500

Senior получает от $5000 до $10 000.

Средняя зарплата Android-разработчика в Украине, по данным портала Work.ua

Как пройти собеседование и получить работу?

На собеседовании смотрят на 3 вещи:

навыки в программировании: на первом этапе важно не ответить на все вопросы, главное — показать, что знания есть;

знание английского: на Junior английский можно знать не в идеале, на старшие позиции он нужен;

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

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

Насколько легко в разработке и влияют ли кризисы

Получится ли работать удаленно и путешествовать? Правдива ли философия свободной жизни?

Можно работать в путешествиях, отдыхать, работать с Бали. Но люди видят только позитив. Они не думают о том, что на пляже фото красивое получается, а интернет может быть так себе.

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

Насколько программирование подвержено кризисам? Можно сказать, что эта сфера — стабильное плато?

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

В целом, сфера IT не пострадала, а может даже и выросла.

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

Какое напутственное слово можете сказать тем, кто собирается в мобильную разработку?

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

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

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

А так — в любом случае нужно развиваться. Пробуйте, если вам это интересно.

Источник

Профессия: мобильный разработчик

В 2010 году мой друг на день рождения попросил в подарок переводную книгу по разработке под Android. Необычных вещей в этом факте было две: книгу было не достать, а он работал самым простым госслужащим и имел гуманитарное управленческое образование. Я удивился, но книгу достал — привёз из поездки в Москву. Через два месяца после вручения подарка он сидел со мной в кафе и тыкал в экран мобильника, демонстрируя первое приложение, связанное с учётом товара для одной компании — свой первый заказ. Я работал инженером в телекоме и концептуально идею оценил, но не думал, что мобильная разработка будет всюду. Кстати, друг за приложение взял $300, заказчик отпахал на нём два года с лишним. Ну а друг упорно качал скиллы, развивал то самое приложение бесплатно и в итоге стал мобильным разработчиком в огромной компании.

Читайте также:  Android для explay fresh

Сегодня в мобильную разработку рвутся все: от инженеров до филологов. Им кажется, что они нашли золотую жилу и она вот-вот даст миллионные доходы. А между тем найти хорошего мобильного разработчика не так уж просто. Потому что хорошее приложение — это сложная архитектура, скрупулёзное проектирование и интенсивная работа над юзабилити. На коленке его не запилишь.

Кто это?

На первый взгляд кажется, что всё просто: мобильный разработчик — это тот, кто разрабатывает программы для мобильных устройств. Всё верно. Но большинство людей не из мира ИТ под мобильными устройствами подразумевают смартфоны и особо продвинутые — планшеты. Но мы-то с вами знаем, что мобильные устройства — это не только наши любимые гаджеты, носимая электроника, но и различные научные аппараты, компоненты исследовательских систем на базе гаджетов, компоненты интернета вещей. Это огромный мир приспособлений, который будет становиться всё больше и больше — мобильные приложения востребованы обычными пользователями, бизнесом, медициной, наукой и т.д. Поэтому профессия мобильного разработчика — это однозначно профессия будущего, во всяком случае ближайших 10-15 лет это точно.

Где нужен?

Сегодня мобильные разработчики востребованы везде: корпоративные приложения имеют мобильные версии, СМИ имеют мобильные приложения, бизнес активно переводит свои программы лояльности в приложения (у кого из нас нет приложений разного ритейла — от Ленты и Ашана до РивГош и Л’Этуаль) и т.д. Мобильное приложение — гарантия того, что ты будешь оставаться в руках своего клиента, и почти все компании это понимают. Поэтому мобильные разработчики нужны абсолютно везде. Перечислю наиболее перспективные отрасли, на которые можно ориентироваться сегодняшним студентам, желающим выйти в мир мобильной разработки (и вообще всем).

  • Мобильные игры и развлекательные приложения — огромная интересная индустрия, готовая принять разработчиков любого уровня. Мир погряз в играх, поэтому есть спрос на разработку приложений для любого возраста: от самых крошечных детей до взрослых дядек, гоняющих любимые игры на мобильнике.
  • Развлекательно-образовательные приложения, такие как приложения для изучения языков, книг, музыки, путешествий (они скоро вернутся в новом качестве и это будет захватывающе интересно), тренировок и т.д.
  • Банковские приложения — те мобильные банки, которыми мы пользуемся, это сложнейшие нагруженные системы с особой архитектурой, и они нуждаются в грамотных разработчиках. Да, стажёром в такую продуктовую команду попасть почти нереально, но для миддлов и сеньоров открываются классные перспективы.
  • Приложения электронной коммерции — почти все магазины доступны в виде приложений, и это колоссальная инфраструктура с высокой ёмкостью рынка труда. Думаю, что эта сфера будет развиваться ещё глубже.
  • Научные и исследовательские приложения. На одном из гугловских DevFest ребята из компании Mera рассказывали о научном проекте по изучению кораллов, в основе которого лежит узел с планшетом на андроиде. Так вот, такие проекты — совершенно особенный тип мобильной разработки для тех, кто хочет быть ближе к научному миру.

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

Средняя заработная плата

Уровень специалиста Средняя заработная плата
Стажёр (Intern) 26 272 руб.
Младший (Junior) 59 061 руб.
Средний (Middle) 114 908 руб.
Старший (Senior) 187 925 руб.
Ведущий (Lead) 200 915 руб.

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

Базовые требования к профессионалу

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

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

  • Android: знание Android SDK, Java, Kotlin, Scala (в меньшей степени), Rest/SOAP, различные API, SQLite и т.д.
  • iOS: Objective-C, С#, Swift, знание Apple Development Guidelines

Для обеих платформ:

  • знание структур и алгоритмов
  • знание принципов ООП (к которому и относится Java, Objective-C, Swift)
  • понимание принципов дизайна и проектирования мобильных приложений
  • знание сетевых протоколов
  • знание SQL
  • навыки работы с App Store и Google Play
  • навыки работы с многопоточностью (всё чаще)
  • Flutter (бешено растёт популярность)

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

Стажёр (Intern) Младший (Junior) Средний (Middle) Старший (Senior) Ведущий (Lead)
  1. Разработка под Android
  2. C#
  3. Java

  1. Разработка под Android
  2. Kotlin
  3. Java
  4. Swift
  5. Разработка под iOS

  1. Разработка под Android
  2. Swift
  3. Kotlin
  4. Разработка под iOS
  5. Java

  1. Swift
  2. Kotlin
  3. Разработка под iOS
  4. Разработка под Android
  5. Java

  1. Разработка под Android
  2. Kotlin
  3. Разработка под iOS
  4. Swift
  5. Objective-С

Топ-5 востребованных технологий у специалистов по данным «Хабр Карьеры», 2 полугодие 2019 года

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

Важные личные качества

Мобильный разработчик — это стрессовая, нагруженная работа, связанная с постоянным общением, с нервами, которые непременно настигнут вас, когда вы начнёте читать отзывы пользователей на работу своего приложения 😉 Поэтому будущий мобильный разработчик должен обнаружить у себя несколько важных качеств.

  • Профессиональный разработчик должен прежде всего понимать пользователя, разбираться в принципах проектирования интерфейсов, интуитивно понимать UI/UX.
  • Командная работа — важный залог создания полезного и удобного приложения: придётся взаимодействовать с тестировщиками, коммерческой службой, разработчиками веба и десктопа, службой поддержки и т.д. Эта работа скорее для экстравертов.
  • Аналитический склад ума — мобильный разработчик должен обязательно анализировать множество факторов, учитывать их в разработке.
  • Внимание к деталям и высокая работоспособность обеспечат отсутствие багов в приложении и высокую скорость разработки, которая в мобильных приложениях крайне важна из-за интенсивных изменений предпочтений в устройствах, обновлений операционных систем и т.д.
  • Готовность к непрерывному обучению — гайдлайны постоянно меняются, Google и Apple проводят интересные и полезные мероприятия, поэтому важно успевать «схватить» всю информацию на лету и успеть втащить её в продакшен.

В одной из предыдущих серий «Профессии» я писал о том, что программист фронтенда и бэкенда должен быть внимателен к новинкам разработки, новым языкам программирования и стекам технологий, но не тащить всё новое в прод бездумно. В мобильной разработке ситуация другая: важно не только узнать о новой технологии, важно её быстро и грамотно использовать, чтобы опередить конкурентные приложения и соответствовать изменениям платформы или, например, дизайна и логики работы мобильных устройств.

Необходимость знания иностранных языков

Вот некоторые ключевые ресурсы для мобильных разработчиков.

  • Android: Новостной портал Android Android Weekly
  • Android: Официальное руководство по разработке для Андроид
  • Android: Словарь терминов от Google
  • Android: Блог разработчиков
  • Android: Хороший список гайдлайнов по андроид-разработке

  • iOS: Официальный сайт для разработчиков компании Apple
  • iOS: Сообщество iOS-разработчиков на Reddit

Большинство из них на английском языке и без них у вас, как без рук, ничего не получится. Поэтому для разработчика мобильных приложений знание английского языка настоящий must have. К слову, все конференции Google и Apple также проводятся на английском языке. Какой уровень освоения вы выберете — ваше решение, но в целом для уверенного чтения, слушания и понимания однородной технической информации нужен минимум Upper-Intermediate.

Где учиться

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

  • Реально самостоятельно — с помощью книг, курсов и многочисленных обучающих видео. Для этого вам нужно выбрать какую-то идею для своего мобильного приложения и начать разрабатывать именно его, а не писать код ради кода. Если у вас будут требования к проекту, обучение будет более структурированным.
  • На корпоративных курсах — бесплатных и платных курсах компаний, где практики максимально быстро вас научат создавать базовые решения. Они вам передадут супер выжимку из знаний и профессионального мастерства. Совет: выбирайте оффлайновый курс и желательно долгосрочный, за 2 недели у вас мало что выйдет.
  • На онлайн-курсах — в принципе, я не встречал откровенно отвратительного курса по мобильной разработке, порог входа действительно невысок. Но помните: слушать мало, нужно кодить и работать над непонятными моментами самостоятельно.
  • У репетитора. Пока это не самый популярный способ освоения новой специальности, особенно у взрослых работающих людей. Однако нет ничего зазорного в том, чтобы обратиться к частному тьютору и качественно освоить азы нужной вам специальности.

Лучшие книги и средства обучения

Очень сложно рассказать про книги, потому что всё зависит от того, что, на каком языке и для какой платформы вы собрались разрабатывать. Поиском можно найти хорошие подборки — например, на сайте Skillbox (эта и другие ссылки в статье не являются рекламой, просто хорошие материалы).

Будущее мобильного разработчика

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

Будущее у мобильных разработчиков пока весьма уверенное: сомневаюсь, что мир откажется от мобильных смартфонов и планшетов в ближайшее время, не говоря уже о росте разных видов носимой электроники и IoT. Поэтому развитие программистов этого типа будет выглядеть как пошаговый переход junior — middle — senior — lead. Поэтому скорее важно выбрать отрасль и компанию, в которой этот путь будет пройден.

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

Мифы профессии

Главный совет

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

Источник

Читайте также:  Rms viewer для андроид
Оцените статью