что нужно чтобы стать разработчиком мобильных приложений
Как стать Android-разработчиком с нуля: дорожная карта
Как стать разработчиком Android-приложений с нуля, с чего начать и куда развиваться — поможет понять дорожная карта:
Java или Kotlin?
Мы уже проводили сравнение Java и Kotlin, в ходе которого пришли к выводу, что оба языка важны. Так, без знания Java будет сложно разобраться в Kotlin, который всё ещё использует JVM. С другой стороны, Kotlin сделал большой шаг вперёд и ориентируется именно на Android-разработку, тогда как Java используется также для бэкенда, десктоп-приложений и Big Data.
Начало работы
Скачайте Android Studio и разберитесь с данной IDE.
Теперь настало время поближе познакомиться с выбранным языком. Если вы решили со старта взяться за Kotlin, имейте в виду, что документация предполагает хотя бы базовое знание Java.
Что Kotlin, что Java являются полноценными ООП языками, поэтому освойте принципы объектно-ориентированного программирования.
Изучите структуры данных и алгоритмы, подкрепите теорию практикой.
Скачайте систему автоматической сборки Gradle, потому как ручная сборка проектов с указанием нужных библиотек и фреймворков — процесс трудоёмкий.
Система контроля версий
Если вы ещё не работали с VCS, самое время начать. Изучите возможности и основные команды Git, выберите для себя один из веб-сервисов для хостинга проектов и попрактикуйтесь на первых репозиториях.
Android Architecture
Различные паттерны разработки позволяют повысить качество кода, сделать его более понятным и масштабируемым. К основных паттернам относятся:
Подробнее о них можно узнать из статьи.
Создание приложений
А здесь самое интересное.
Activity в Android — это по сути окно приложения. Простые приложения состоят из одного окна, сложные — из двух и более. Жизненный цикл Activity включает в себя шесть коллбэков:
Далее изучите создание гибких интерфейсов с использованием фрагментов и начните выполнять отладку с помощью Android Studio Debugger.
Для работы с компонентами используйте такие инструменты, как Room, Navigation, WorkManager, LiveData, Data Binding. Из сторонних библиотек будут полезны Glide, Retrofit, GSON и Firebase.
Разберитесь с Intent для взаимодействия между объектами Activity и объектом Context, который предоставляет доступ к ресурсам и другим объектам, в том числе к Activity.
Ну и как стать Android-разработчиком с нуля без практики? Следуйте инструкциям из данного видеоурока и подключитесь к NASA через API, чтобы получить доступ к фотографиям из космоса:
Продвинутая разработка
Продолжайте развиваться, осваивая безопасную разработку. Для тестирования подойдут фреймворки JUnit и Espresso, для управления зависимости — библиотеки Dagger и Koin. Дополнительно почитайте о параллелизме и многопоточности, узнайте, что это и как используется в создании Android-приложений.
Заключение
Так как же стать Android-разработчиком с нуля? Определитесь с языком программирования, научитесь работать с Android Studio, Gradle и веб-сервисом для хостинга проектов. Вам предстоит разобраться в основных паттернах и их отличиях, изучить создание гибких интерфейсов, а также подключаться к другим сервисам через API. Продвинутая разработка предполагает тестирование, управление зависимостями, работу с параллелизмом и многопоточностью.
Android-разработчик: что умеет, сколько получает, как им стать
Большинство мобильных устройств в мире работают на Андроиде. Разбираемся, кто же делает для них приложения.
logo discord / discord, inc
Говорящие цифры
На Android сегодня работает около двух миллиардов устройств — от смартфонов и планшетов до умных холодильников и бытовых роботов.
Система занимает первое место среди мобильных операционок. Она управляет 73% смартфонов в мире — это больше, чем у всех остальных ОС вместе взятых.
В первом квартале 2020 года в онлайн-магазине Google Play было два с половиной миллиона приложений, а уже в сентябре их число перевалило за три.
Но и этого мало. Людям нужны новые мессенджеры, службы для заказа еды и такси, банковские программы и, конечно, игры. На последние приходится около трети всех скачиваний.
Все эти приложения пишут и поддерживают андроид-разработчики. Профессия востребована. И работы хватает не только матёрым специалистам, но и новичкам.
Программист, консультант, специалист по документированию. Легко и доступно рассказывает о сложных вещах в программировании и дизайне.
Чем занимается Android-разработчик
Создаёт приложения и поддерживает их работу, — в частности:
Эти обязанности обычно распределяются между членами команды. Например, за интерфейс и логику часто отвечают дизайнеры, но бывает и так, что всем занимается один программист.
Инструменты Android-разработчика
Началом массовой разработки под Android считается 2008 год. Тогда появился магазин приложений Android Market (в 2012 его переименовали в Google Play). Здесь разработчики выставляют свои приложения.
Сперва их создавали в среде Eclipse с установленным плагином ADT ( Android Development Tools ). Этот плагин страдал от брешей в безопасности. С конца 2016 года он больше не поддерживается.
Среда Android Studio
Это основной инструмент андроид-разработчика, бесплатный и совместимый со всеми операционными системами. Скачать Android Studio можно с официального сайта.
Среда позволяет разрабатывать приложения на любых компьютерах. Этим Google Android отличается от iOS (Apple хочет, чтобы разработчики покупали маки и кодили только на них).
C Android Studio разработчику даже не нужны собственные гаджеты на Android, ведь там есть быстрый многофункциональный эмулятор и шаблоны для многих устройств (смартфоны, планшеты, часы, смарт-приставки, телевизоры и так далее).
Полный список возможностей Android Studio с описанием каждой смотрите в официальном гайде.
Языки разработки
Под Android можно писать приложения почти на любом языке программирования: C/C++, Assembler, Fortran, Python, JavaScript. Однако есть языки, которые позволяют использовать все возможности мобильной операционной системы и получать моментальный доступ к новым функциям.
Это официально поддерживаемые языки. Для Android таковыми являются Java и Kotlin:
Он полностью совместим с Java (джавишный код можно вызвать из Kotlin естественным способом, а котлиновский — использовать в Java без особых сложностей).
При этом код на Kotlin крайне лаконичен:
В 2019 Google объявила Kotlin приоритетным в андроид-разработке. Похоже, что произошло это из-за долгой судебной тяжбы с компанией Oracle — создателем Java. Oracle уже 10 лет пытается получить с Google несколько миллиардов за нарушение авторских прав. Суды ещё идут, но Google от греха подальше решила перейти на другой язык.
Kotlin удобнее пользоваться, он решает ряд проблем Java, и изучить его можно намного быстрее. А ещё он сразу входит в Android Studio. Так зачем нам учить Java, если уже есть Kotlin?!
Не всё так однозначно (пока что). Начинающему разработчику важно изучать оба языка, но упор делать всё-таки на Java. Почему?
Где работают Android-программисты
Во-первых, в студиях мобильной разработки, которые ведут несколько проектов одновременно.
Во-вторых, в компаниях, для которых мобильное приложение — часть бизнеса: это банки, интернет-магазины, СМИ, онлайн-сервисы. Шанс попасть в крупную компанию есть не только у опытных разработчиков, но и у новичков.
Кроме того, всегда можно найти клиентов на фрилансе или придумать собственное приложение и зарабатывать на нём. Например, популярнейший FBReader разработал в одиночку преподаватель математики из Петербурга Николай Пульцин:
Сколько платят Android-разработчикам
Разработчикам-новичкам предлагают зарплату 50–70 тысяч рублей, специалистам со стажем от двух лет — до 150 тысяч, а опытные андроид-программисты могут рассчитывать на зарплату 200–300 тысяч. Есть вакансии с заработком больше 400 тысяч, но их немного.
В ноябре 2020 на HeadHunter было около 6 000 вакансий для андроид-разработчиков, а предлагаемые зарплаты распределялись так:
Карьерный рост и перспективы профессии
В Android-разработке, как и везде в IT, новичок начинает с позиции Junior, затем прокачивает скиллы и становится Middle. Через несколько лет может претендовать на позицию Senior, а наиболее успешные дорастают до тимлидов.
С 2016 года в СМИ ходили слухи, что Google скоро заменит Android новой операционной системой Fuchsia — и Android-разработчики останутся не у дел. Всё прояснилось в 2019 году на конференции Google I/O: руководитель направления Android Хироши Локхаймер заверил, что компания не собирается отказываться от Android для смартфонов. Fuchsia будут применять в умных домах, носимой электронике и устройствах дополненной реальности.
Но даже если Google неожиданно передумает, андроид-программисты без работы не останутся: кому, как не им, переводить приложения на новую операционную систему.
Что должен знать будущий Android-разработчик
Чтобы стать востребованным специалистом, новичку нужно изучить:
Есть мнение, что программирование — это на 90% поиск ответов и только на 10% написание кода. Поэтому на вопрос «С чего начать учить программирование?» логичнее всего ответить — с английского языка.
Как всё это изучают
Кто-то изучает сам. Есть много книг, мануалов, видеоуроков, форумов, лучшие из которых, вроде введения в Android, как раз на английском языке.
Однако новичку одинаково легко потеряться в учебных материалах и выбрать неудачный порядок знакомства с ними. Поэтому самостоятельное освоение Android-разработки съедает уйму времени, которое лишним не бывает. Вдобавок — страдает от недостатка практики.
Ценители более системного подхода предпочитают онлайн-курсы (например, на edx.org, Coursera.org, Udacity.org). Но и здесь те же проблемы: выбрать подходящий непросто, качество материала и его полнота очень разнятся, гарантий и обратной связи нет, курсов на русском совсем мало. Да и с бесплатностью всё не так однозначно — эти платформы постепенно превращаются в коммерческие, отступая от первоначальной идеи.
Такой курс есть у Skillbox. Стартовать с опытными наставниками и постоянной обратной связью гораздо выгоднее. Наши студенты изучают всё на практике, общаются с менторами, создают полноценный проект для портфолио и быстро входят в профессию.
Первые полгода можно учиться бесплатно, а рассчитываться уже с первой зарплаты — с трудоустройством мы тоже помогаем.
Google Play Store — магазин приложений, а также игр, книг, музыки и фильмов для владельцев устройств с операционной системой Android.
Eclipse — это IDE («единая/интегрированная среда разработки») для кроссплатформенных приложений. Распространяется на условиях свободного ПО (free software). Подробнее тут.
Android Development Tools («Инструменты разработки под Android») — плагин, который Google предоставляет для разработки Android-приложений в IDE Eclipse.
Среда Android-разработки на базе интегрированной среды IntelliJ IDEA от JetBrains.
Включает эмулятор Android, языки программирования, компиляторы, инструменты для сборки приложения и создания интерфейсов.
Сегодня Android Studio — официально поддерживаемая Google IDE.
Объектно-ориентированное программирование — это парадигма разработки ПО, в которой приложения состоят из объектов, каждый из которых является экземпляром некоторого класса, а каждый класс — потомком другого класса в иерархии наследования.
Google регулярно выпускает обновления и новые библиотеки. Поэтому выучить что-то один раз и только на этом ехать дальше — в Android-разработке не выйдет.
Массачусетский технологический институт (читается «эм-ай-ти») — один из престижнейших технических вузов мира; ещё в 2016 году полностью оцифровал свою учебную программу и открыл материалы всем желающим.
Как стать разработчиком мобильных приложений: рассказывает эксперт
Давид Григорян — эксперт в сфере разработки мобильных приложений на платформе iOS, главный инженер по разработке в Сбербанке. Он принимает активное участие в развитии сообщества, выступает на конференциях и публикует тематические материалы.
Давид расскажет о том, как можно построить карьеру в сфере мобильной разработки, а также опишет основные шаги, которые нужно проделать для достижения заветной цели. Мы затронем вопросы актуальности этой сферы, пути становления в данной профессии и основные ошибки, которые могут совершать начинающие специалисты.
Востребована ли профессия мобильного разработчика? Легко ли найти работу в этой сфере?
В 2021 году мобильная разработка остаётся одним из самых востребованных направлений. Ситуация с пандемией только дала толчок для её развития. Многие компании ушли в онлайн, одной лишь веб-страницы недостаточно для того, чтобы выживать в конкурентной среде, которая явно задаёт тенденцию на мобильные решения.
Даже в докоронакризисные времена на рынке была нехватка в мобильных разработчиках. Сейчас ситуация стала намного острее.
Согласно исследованиям, в России число специалистов в области мобильной разработки оценивается в 25-30 тыс. человек. Для тех предложений, которые есть на рынке, этого мало. Разница в зарплатах в этой области может составлять от 100 до 200 тыс. руб. для одной и той же позиции.
Из всего вышесказанного выходит, что найти работу для начинающего специалиста, имеющего пару-тройку проектов портфолио, не составит труда. К тому же формат удалёнки становится неотъемлемой частью в IT, а программ стажировок от крупных компаний становится всё больше.
Какие направления существуют в мобильной разработке? Есть ли смысл осваивать кроссплатформенные решения?
Существуют три основных направления в мобильной разработке: Android, iOS и кроссплатформенные решения (Flutter, React Native, PhoneGap).
Для Android-разработки используются языки Kotlin и Java, для iOS — Swift и Objective-C. Ещё несколько лет назад основными языками для Android и iOS были Java и Objective-C. Однако с появлением новых языков многие проекты, в том числе крупных IT-компаний, стали использовать современные решения. Сейчас начинающему специалисту достаточно владеть знаниями об основной платформе, на которой он разрабатывает (iOS или Android), а также одним из новых языков программирования (Swift или Kotlin).
Нужно исходить из требований того региона, в котором вы собираетесь искать работу. Например, если вы живёте и собираетесь работать во Владивостоке, где основные вакансии по iOS требуют знания Swift, то очевидно, что изучение Objective-C будет неоправданным.
Кроссплатформенные решения в России не так востребованы как нативные (родные). Но у них есть своя ниша. В основном это стартапы, которые требуют минимальных вложений для реализации задуманной идеи на обеих платформах.
Это эффективная стратегия для выпуска MVP продукта, который впоследствии может быть презентован инвесторам и другим заинтересованным лицам для привлечения дополнительных средств на развитие. Спустя какое-то время, с привлечением дополнительных средств, такие проекты переписываются на нативные технологии, а их поддержка становится более предсказуемой и эффективной.
Какие основные роли и задачи мобильного разработчика?
Разработчик в целом — это не только тот, кто набирает код на клавиатуре. Это специалист, который понимает конкретную бизнесовую проблему, которую ему необходимо решить с помощью этого кода. Мобильный разработчик — не исключение. Единственное отличие — это понимание особенностей мобильных технологий в целом (таких как push-уведомления, ограничения скорости интернета, зарядки и памяти).
Очевидно, что мобильные приложения — это та же фронтенд-часть приложения. Соответственно, отсюда вытекают стандартные задачи и проблемы: поддержка вёрстки для большинства девайсов, необходимость учитывать версии операционных систем и т.д.
Одна из основных проблем, которую необходимо учитывать в разработке тонкого мобильного клиента (основная часть и логика которого реализуется на бэкендe), — это поддержка обратной совместимости между различными версиями приложений. Одна из основных задач мобильного разработчика — выполнение поставленных требований с оглядкой на перечисленные выше ограничения и особенности.
Мобильные приложения могут выступать как:
Первый вариант встречается не так часто. Как правило, это простые будильники, To-Do List’ы без возможности синхронизации и прочие приложения. Вся настройка и кеширование в таком случае происходит на самом девайсе. Одним из вариантов синхронизации может быть iCloud — если говорить об iOS без использования собственных бэкенд-решений.
Как стать разработчиком мобильных приложений?
Если мы говорим про случай, когда у человека нет знаний и опыта в программировании, то стоит для начала изучить:
Также нужно обязательно научиться гуглить. Кому-то этот совет может показаться оскорбительным, но это не так. Программисты всех уровней и мастей гуглят, без исключений. Умение правильно задать вопрос — навык, который потребуется и в дальнейшей работе с коллегами, если этот вопрос нужно будет адресовать им.
Стоит оговориться, что для начала разработки под iOS необходимы устройства от Apple. Как минимум нужно приобрести бюджетный Mac mini или MacBook на вторичном рынке. Для изучения одного из языков программирования и изучения самой платформы подойдут основные туториалы на сайте Apple или Android. В идеале — найти ментора, который поможет на первоначальном этапе и выстроит план обучения. Курсы тут тоже будут кстати, но не стоит надеяться, что после простого их прослушивания всё станет очевидным и понятным.
Достичь успеха получится, если заниматься самостоятельно, делая домашние задания и разрабатывая собственные мини-проекты, которые в дальнейшем станут отличным портфолио для поиска первой работы.
Какие ошибки чаще всего совершают новички?
Многие новички совершают ошибки при изучении новой области. Я не был исключением.
Насколько сложно войти в мобильную разработку в отличие от смежных направлений, например, веб-разработки?
Есть мнение, что вход в мобильную разработку сложнее, чем в тот же веб. Но я не согласен с этим аргументом. Для освоения веб-технологий как минимум потребуются знания о том, как работает интернет в целом, как действуют основные протоколы взаимодействий между клиентом и сервером. Добавьте сюда HTML/CSS/JavaScript, один из серверных языков (PHP/Python/Java/Go/Ruby), SQL и много чего ещё интересного. Это вовсе не значит, что мобильному разработчику не нужно понимать, как работает интернет, или иметь представление о смежных технологиях. Но это всё-таки не основной стек технологий, с которым специалисту нужно будет иметь дело изо дня в день.
Как известно, во фронтенд в целом легко входить, но сложнее поддерживать себя в форме. Обновления инструментов для разработчиков Apple и Android-платформ, выходят ежегодно, их нужно изучать и применять. Похожая ситуация и с JS-фреймворками для фронтенд-разработчиков.
Останется ли мобильная разработка востребованной в ближайшие годы?
Конечно, мобильная разработка останется востребованной. Несмотря на очевидную стагнацию в выпуске новых фич для смартфонов, ими всё равно продолжает пользоваться огромное число людей по всему миру. И большинство задач тоже будет решаться с помощью устройства, которое находится у вас в кармане. Как минимум в ближайшие 10-15 лет.
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% устройств, значит, больше спрос.
Я бы рекомендовал начать с Android, а позже — доучиться разработке на iOS или кросс-платформенной разработке.
Кому стоит идти в мобильную разработку
Можно ли начать обучаться с 0, не имея опыта и технического образования?
Нужно. Найти свое место может даже гуманитарий: в работе с интерфейсом, дизайном. Конкретно меня некоторые клиенты ценят в том числе за то, что я могу кроме программирования сделать дизайн без привлечения еще одного специалиста-дизайнера.
На первых этапах, конечно, нужно прокачивать технический скил. Когда доходите до уровня Middle, возникает больше требований к гуманитарным вещам: структуре, взаимодействию с командой, поиску информации, креативным решениям.
Стоит ли переходить в мобильную разработку тем, кто уже в программировании?
Если человек выучил старый язык программирования, но понимает, что развития нет, тогда можно перейти, изучить современную технологию.
Когда вы — успешный IT-шник и вас тянет — тоже вперед.
Если текущая область IT приносит удовольствие и финансы, то нет смысла.
Какие требования к «железу» для мобильной разработки и нужно ли знать английский
Какие есть требования к «железу», чтобы разрабатывать мобильные приложения?
Для старта можно использовать компьютер с 4 ГБ оперативной памяти. Нужен будет любой телефон на Android, чтобы на нем запускать и отлаживать программу.
Средний уровень — это 8 ГБ оперативной памяти. В этом случае вы сможете работать с эмулятором, запускать программу на нем, и телефон на Android вам не понадобится.
Процессор рекомендую i3 или i5 любого поколения.
Нужно ли разработчику знать английский?
Если устраиваться в компанию — английский нужен.
Вся документация на английском, на английских ресурсах больше информации.
Второй фактор — нужно общаться с заказчиками, а хорошие заказчики — зарубежные заказчики.
Английский очень важен, но на первых этапах будет достаточно знать его на уровне чтения и перевода. Со временем, чтобы расти, надо будет доучивать.
Как выбрать курс и нужно ли учиться в университете
Насколько хорошо учат программистов в университете?
Мое отношение к университетскому образованию айтишников — среднее. Это не бесполезно, но после университета вы еще не готовы быть разработчиком.
За те 5 лет, которые вы будете учиться в университете, уже 2–3 раза изменятся технологии. Поэтому университет надо рассматривать, как базу, которая учит мыслить и дает фундамент. Потом надо будет доучиваться на курсах.
На что стоит смотреть при выборе курсов?
Я бы смотрел в первую очередь на программу. Второе — познакомился бы с человеком, который будет меня обучать, посмотрел, нравится он мне или нет.
На бренд я бы не рекомендовал смотреть. Есть крупные школы, которые ругают, есть маленькие — которые хвалят.
Что должно быть в курсе, чтобы человек вышел хорошим специалистом?
Должна быть основа, базовая теория, чтобы люди научились программировать в целом. Но обязательно должно быть много практики. Хорошо, если на курсе вы напишете конкретные программы, которые можно положить в портфолио.
Как перейти в мобильную разработку и стоит ли бросать работу
Как выглядит переход в мобильную разработку, какие сложности?
Я сам свитчер. До мобильной разработки преподавал в вузе по специальности, не связанной с программированием.
В какой-то момент решил попробовать. Начал учить Java для саморазвития. Через месяц задумался: куда можно применить знания.
Увидел возможность в Android-разработке. Начал ходить по компаниям, получать опыт, понимать, что от меня требуют и что я недоучил, учиться дальше.
Мой первый проект был волонтерским, я не получил за него денег. Но получил опыт, который у меня просили.
Было долго и не просто. Во время поиска первой работы я уже думал все бросить, но у меня была мотивация, было интересно.
Как можно было бы пройти этот путь эффективнее?
Если бы кто-то мне сказал: это учи, а это надо просто знать, я бы быстрее прогрессировал. Тогда учил все подряд.
Второй момент — важна поддержка, чтобы не бросить. Это необязательно наставник. Может быть друг, который занимается тем же.
Можно учиться параллельно с работой?
Не нужно бросать работу, пока вы еще не зарабатываете, как разработчик. Если вы решили переходить в разработку, нужно просто облегчить рабочий процесс.
На работе — просто выполнять обязанности и ничего сверх. Или найти временную работу, которая будет приносить деньги, чтобы вы могли год спокойно жить и учиться 2–4 часа в день.
Как пройти собеседование и найти работу
Насколько сейчас легко найти работу и стоит ли идти на фриланс?
Надо определиться, чего вы хотите. Если нравится фриланс, нужно идти на фриланс, но там хорошо зарабатывать сложнее. Если нравится в компании — идите в компанию.
Важно понимать, что путь не будет легким. Сначала нужно будет пройти толкучку: когда вы еще молодой специалист, вас много, надо попасть в компанию.
Тем не менее, находить работу становится легче. Если 3 года назад среди Junior’ов была бешеная конкуренция, то сейчас ее меньше. Работы становится больше, люди осмысленнее подходят к тому, хотят ли они стать разработчиками.
Сколько в среднем может уйти времени на поиск первой работы?
От начала обучения 1–1,5 года.
Нельзя играть в быструю: возьму отпуск на 4 месяца и стану программистом. Так не получится. Но если не бросать и заниматься этим, то где-то за год — реально.
Сколько может заработать разработчик мобильных приложений?
Не надо пугаться, что это мало. Junior — это не навсегда.
Средняя зарплата Android-разработчика в Украине, по данным портала Work.ua
Как пройти собеседование и получить работу?
На собеседовании смотрят на 3 вещи:
навыки в программировании: на первом этапе важно не ответить на все вопросы, главное — показать, что знания есть;
знание английского: на Junior английский можно знать не в идеале, на старшие позиции он нужен;
психология: если вы супер-программист, хорошо по-английски говорите и понимаете, но на собеседовании видят, что вы конфликтный — ваши шансы уменьшаются.
А чтобы выбрать хорошую компанию, смотрите, как с вами общаются. Если спрашивают, как вы относитесь к переработкам, то с высокой вероятностью они будут.
Насколько легко в разработке и влияют ли кризисы
Получится ли работать удаленно и путешествовать? Правдива ли философия свободной жизни?
Можно работать в путешествиях, отдыхать, работать с Бали. Но люди видят только позитив. Они не думают о том, что на пляже фото красивое получается, а интернет может быть так себе.
Это больше миф о том, что можно сидеть не напрягаясь на пляже или в ресторане. График будет более свободный, вы сможете выходить работать в другие места, работать параллельно с отдыхом, брать заказы или не брать, но не постоянно.
Насколько программирование подвержено кризисам? Можно сказать, что эта сфера — стабильное плато?
Практика показывает, что эта отрасль действительно стабильная. Коронавирус даже в некоторой степени помог нам.
В целом, сфера IT не пострадала, а может даже и выросла.
Когда пришел коронавирус, начался локдаун — люди начали больше проводить времени с телефонами и планшетами. Программы для них создают разработчики. Поэтому на них был большой спрос.
Какое напутственное слово можете сказать тем, кто собирается в мобильную разработку?
Когда вы думаете, хотите или не хотите идти, попробуйте написать что-то на любом языке программирования. Если плохо от этого не стало, тогда идите.
Второе — если решили идти, не ждите быстрого эффекта. Работайте спокойно, планомерно, запаситесь терпением — тогда все получится.
Третье — не мотивируйте себя только деньгами. Если вам нравится еще что-то: проект, формат работы, сфера и плюс деньги, тогда хорошо.
А так — в любом случае нужно развиваться. Пробуйте, если вам это интересно.