Хочу стать Android Developer. Что, где и как учить

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

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

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

О себе

У меня почти 8 лет опыта Android-разработки, сейчас я Senior Android Developer в ThredUp. После университета 11 лет работал CG Generalist Artist. CG это Computer Graphics, а Artist — художник. Достиг отличных результатов в этой сфере, последний проект — работа для мини-сериала «Мотыльки». Примеры вы можете увидеть в Inseparable (original title — Мотыльки) | Making Of | VFX. Дальше эти модели были проданы HBO для сериала Chernobyl. Тот самый вертолет, который падает на середину реактора, сделал я. Как и много моделей и текстур построек, реактора и бэкграунда.

Начальные знания

Минимальные знания, которые вам необходимы:

  • английский;
  • основной язык программирования. В нашем случае — Java и Kotlin;
  • Android SDK, Android-библиотеки;
  • Git, SQLite.

Английский

На первых порах вам будет нужен английский на уровне чтения технической документации. Это Elementary — Pre-Intermediate level. Навряд ли на Junior-позиции вы будете участвовать в митингах, хотя и такое бывает. Но читать документацию и делать уроки придется много. И вот тут другая ситуация: без курсов английского или преподавателя, особенно сначала, будет сложно.

Чаще всего английский проверяют простыми вопросами: расскажите о себе, своих достижениях, о последнем проекте. И так далее.

Вот несколько полезных ресурсов: LinguaLeo, Urban Dictionary, чтобы понимать, что такое AFA, IK, LGTM, TIL, TL;DR и прочие абракадабры.

Отличные переводчики, которые показывают и контекст с примерами. Старайтесь больше переводить в них, а не просто в Google Translate: Reverso Context, The dictionary by Merriam-Webster.

Java

Когда я учил Java, то выделил для себя два самых лучших ресурса:

  • «Java. Библиотека профессионала, том 1. Основы». Читать все, кроме глав о Swing и апплетах (в моем издании это 7–10). Android-программисту это знать не нужно. Кстати, эту книгу мне посоветовали после собеседования, за что я очень благодарен интервьюеру.
  • И, конечно же, Java official documentation.

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

Kotlin

У Koltin шикарнейшая официальная документация: Learn Kotlin. Стоит, конечно же, начать с Getting Started и идти дальше по списку. Multiplatform Programming, JavaScript, Native можно пропустить. Также советую Learn Kotlin for Android from Google.

Android

Говорить о ресурсах по Android можно бесконечно, но рекомендую начать с ниже перечисленных. Еще о полезных источниках вы можете узнать в Telegram-каналах, которые будут в пункте Subscriptions. В конечном итоге желательно уметь выполнить тестовое задание, о котором будет дальше.

  1. Start Android — один из самых первых сайтов по обучению Android, про который я узнал. Он появился еще в 2011 году. Поэтому какая-то информация может быть не совсем актуальна, но все же там подробно и хорошо изложены азы, тем более на русском.
  2. Сейчас появились разные замечательные Android Academy. У которых, кроме офлайн/онлайн-занятий, есть YouTube-каналы с видео для начинающих. Например: Android Academy Global, Android Academy Minsk.
  3. Официальная документация от Google. Большую часть времени стоит уделить именно ей:
    • Developer Guides — документация по Android framework.
    • Android Jetpack — унифицированное решение от Google для часто встречающихся задач. Сейчас это уже стандарт для многих решений.
  4. Architecture components samples — Architecture components — это часть Android Jetpack. В этом репозитории найдете примеры, как их использовать.
  5. Android Architecture Blueprints v2 — примеры реализации архитектур от Google.

Рекомендую вначале освоить основы Android. Дальше выбрать, какое тестовое задание вы хотите сделать, и изучать те вещи, которые нужны для этого. Таким образом вы не будете изучать то, что в ближайшее время вам не пригодится.

Дополнительные технические навыки

Git

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

Рекомендую хороший урок об основах гита Learn Git.

У компании Jetbrains есть отличная встроенная поддержка Git, и чаще всего я использую ее прямо с Android Studio. Jetbrains, на мой взгляд, выпускает самые лучшие среды разработки, и на базе их продукта IntelliJ IDEA основана Android Studio.

SQLite

SQLite — это реляционная база данных. База данных — это набор значений, состоящий из строк и колонок. Слова «реляционная» бояться не нужно :) Оно происходит от relation — связь, означает, что в разных таблицах базы данных есть общее значение. И вы можете на основе нескольких таблиц построить какую-то другую.

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

Курсы

Многие меня спрашивают про толковые курсы. И очень огорчаются, когда я советую учиться самому. На это есть ряд причин:

  • Программист — это специальность, где учиться и развиваться самому — чуть ли на самый важный навык, который будет необходим в течение всей карьеры.
  • Многие приводят аргумент: «Вот заплачу, и будет стимул ходить». Но если вы не будете успевать за программой курса, можете выпасть из графика и забросить полностью занятия. К сожалению, это не редкость.
  • Высокая стоимость. Как по мне, лучше эти деньги потратить «на жизнь» и несколько месяцев только учиться.

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

Subscriptions

Подпишитесь на почтовые рассылки Android Weekly, Kotlin Weekly, News from Kt. Academy и Telegram-каналы. Сейчас они почти полностью заменили форумы. Тут новости, общение и поиски ментора.

Android Developers Android Дичь
StartAndroid Ru ChatAndroid Dev Подкаст
Android BroadcastNEWS Android Dev Подкаст
Android Good ReadsAndroid Dev Podcast Worldwide
Kotlin AndroidAndroid Beer Kyiv
Kotlin CommunityMobile Insights by AppTractor
Android ArchitecturePodlodka — IT Podcast
Android Architecture — summaryPodlodka Podcast — анонсы и новости подкаста про IT
Android arch. Components и antonioleiva.com — Android & KotlinBadoo Tech

#protips: Чтобы не сойти с ума, используйте Chat Folders в Telegram.

Ментор

Ментор — это не просто человек, который пару раз ответит на ваши вопросы. Это наставник, который будет смотреть за прогрессом и корректировать усилия: что вам лучше сейчас учить и на что обратить внимание. К сожалению, у меня не было ментора, но мне очень помогли ответы на форуме. Есть разные ресурсы, где можно найти наставника, это — форумы, чаты, Android Academy. Возможно, даже среди ваших знакомых есть Android-разработчик, которому будет интересно побыть в роли ментора. В свою очередь, для него это тоже ценный опыт, который потом можно использовать на позиции тимлида. Или просто человек будет рад поделиться с вами знаниями.

Тестовое задание

Рекомендую вам сразу начинать делать типовое тестовое задание. В 98% процентов случаев это будет «отобразить какой-то список, по нажатию на элемент списка открыть его детали».

Начните с этого минимума (MVP) и дальше его улучшайте. Добавьте pagination, сохранение информации в базу данных для работы в фоне. Сохраните состояние при развороте экрана, чтобы заново не грузился список и сохранялась позиция списка. Загрузите картинку с экрана деталей, если, конечно, там есть картинка.

Разместите это тестовое задание на GitHub и включите ссылку в свое резюме.

Более конкретные примеры тестовых заданий, которые я встречал:

  • Отображение погоды с поиском по городу. Вы можете использовать этот бесплатный бэкенд.
  • Последние топ-новости Reddit с автоматической пагинацией и возможностью сохранить картинку.

Поищите уже готовые реализации, например sunflower от Google. Разместите ссылку репозитория с вашим тестовым заданием в Android-чаты и попросите людей сделать code review.

Резюме

Среди моих знакомых есть отличные специалисты. Но, глядя на их резюме, появляется ощущение, что это школьники, которые только вчера открыли текстовый редактор. Все в разнобой: шрифты, размеры, отступы. Но вы ведь не приходите на собеседование в рубашке, у которой один рукав закатан, а другой нет, на левой ноге кроссовок, а на правой — лыжный ботинок. Так почему же позволяете себе делать такие резюме?! Резюме — это самое первое впечатление о вас, как ваш внешний вид!

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

Раньше уже писал, как быстро сделать красивое резюме и залить его на GitHub. Посмотрите мой пост в LinkedIn об этом.

Отклик на вакансии

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

Собеседование

Попросите кого-то вас прособеседовать. Например, вашего ментора, знакомых или кого-то из чата в Telegram-каналах. Также есть разные сервисы c fake/mock interview. Загуглите вопросы, которые задают на собеседованиях. Но не только технические, а и поведенческие от HR на первом интервью-звонке. И да, это действительно интервью-звонок :)

После собеседования важно попросить развернутый фидбэк. Зачастую HR просто говорят что-то вроде: «Мы вам перезвоним», «Извините, вы нам не подходите» или «Мы выбрали более сильного кандидата». Если попросите более развернутый фидбэк, будьте готовы, что он тоже может быть чисто формальным, чтобы вас не обидеть. Обратная связь может быть и вполне конструктивной и крайне ценной для вас, так как укажет на слабые места, которые нужно улучшить.

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

Что делать, когда не приглашают на собеседования или отказали

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

Soft skills

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

Поэтому знания знаниями, но быть приятным в общении также очень важно. Ведь люди с вами на работе проводят бо́льшую часть своей жизни. Так что be nice :)

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

👍НравитсяПонравилось21
В избранноеВ избранном19
Подписаться на автора
LinkedIn



Підписуйтесь: Soundcloud | Google Podcast | YouTube


40 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.
последний проект — работа для мини-сериала «Мотыльки». Примеры вы можете увидеть в Inseparable (original title — Мотыльки) | Making Of | VFX. Дальше эти модели были проданы HBO для сериала Chernobyl. Тот самый вертолет, который падает на середину реактора, сделал я. Как и много моделей и текстур построек, реактора и бэкграунда.

Круто!

он какой-то неприветливый и вообще асоциальный

Он кого-то на собеседовании нахер послал, или перо на шляпе не с той стороны носил? Или шпагу забыл?

кстати, а надо ли сейчас начинать учить джаву? Вот смотрю на ios приходят многие без знания objective-c. Думаю в андроиде тоже скоро будет также. На сегодняшний день джава еще нужна, но нужна ли она будет через 1-2 года?

думаю, что если раньше нужно было в любом случае начинать с джавы, то сейчас нужно 100% начинать с Котлина, а в джаву уже вникать по мере необходимости (всё-же база одна и та же) на джаве крайне редко уже попадаются проекты. Параллельно стоит ка кминимум проявлять интерес к декларативному стилю (compose) и мультиплатформе, так как это последние тренды.

советую изучить джаву, так как без понимания джавы котлин заходит тяжелей, плюс под капотом котлина джава крутится. jakewharton.com/...​a-9-10-11-and-12-support
думаю после той статьи вы поймете что такое котлин)))

всё таки сейчас зная котлин и не зная джаву легче найти работу, чем наоборот. Если год -полтора назад знание котлина была жедательно, то теперь это обязательный пункт. А вот скоро джаву спрашивать не будут. Это уже происходит в ios, там большинство джунов и мидлов абсолютно не знают objective-c

Это уже происходит в ios, там большинство джунов и мидлов абсолютно не знают objective-c

Очень надеюсь мы к такому не придем.
На собеседовании спрашиваю джаву и не спрашиваю котлин, гитхаб говорит что 90% проекта — котлин.
А, еще спрашиваю о примитивах синхронизации и многопоточности, но не спрашиваю об рх, хотя проект реактивный дальше некуда. Вообще вру, спрашиваю об рх если люди говорят «ой, а мы с таким уже не работаем, у нас на рх все давно». И по-моему ни разу после такого ответа человек не посыпался на вопросах об рх.
Понятно что для быстрого входа правильнее разобраться в используемых индустрией фреймворках и найти поскорее работу, но важно чтобы люди потом вернулись и разобрались в основах, а не думали что это нафиг не надо.

Мои соболезнования собеседуемым

На собеседовании спрашиваю джаву и не спрашиваю котлин

На ваших проектах везде джава? Потому что в противном случае — нахрена?

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

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

На ваших проектах везде джава? Потому что в противном случае — нахрена?

Не, я ж написал:

гитхаб говорит что 90% проекта — котлин

Я ясное дело не спрашиваю вещи типа что делает статик модификатор при объявлении внутреннего класса (надеюсь это и так знают), что будет если в двух интерфейсах объявить дефолтный метод и подобную чушь.
Спрашиваю в основном о многопоточности, и о коллекциях, просто с привязкой к джаве. И это на самом деле лайтовый вариант, потому что о коллекциях в котлине можно спросить все то же самое + нюансы как например зачем нужен asSequence() или почему иногда таки надо написать старомодный for а не всегда дергать .forEach. Но по АПИ спрашиваю самый минимум, если человек понимает основы — по АПИ можно подсказать на ревью.
Спрашивать по многопоточности считаю важным по нескольким причинам.
Каким бы реактивным ни был проект где-то на core слое все равно появятся императивные кеши, и хотелось бы чтобы они были правильно засинхронизированы, чтобы потом не пришлось ловить какие-то жуткие гонки.
К тому же когда апкой пользуется много людей — стреляют очень непредсказуемые места и иногда надо и в кишки рх залезть чтобы понять почему.
Многопоточностью можно как забустить перфоманс так и угробить его в ноль. И если человек говорит что пользуется рх, но не может ответить в чем разница computation и io планировщиков, то считаю второй сценарий куда более вероятным.
А если человек не понимает андроидовские надстройки типа хендлер-лупер — это вообще жесть, считай не понимает как работает фреймворк.
Еще на интервью спрашиваю о жизненном цикле вьюх и архитектурах. Как-то так час и проходит.

Статья отличная) Главное — всё по существу и никакой дичи типа слепой печати)))

Сериал «Чернобыль» — это же HBO, а не Netflix

Точно, спасибо. Сразу видно, что вы классный QA :)

Виправили цю несправедливість. Дякую!

Евгений, пожалуй правильнее будет назвать Вашу статью «Я middle software developer и дополнительно хочу освоить Android. Что для этого изучить?»

Простое сейчас пишут на веб-апках, Flutter или ReactNative. Android стал довольно «нишевым», сложным и объёмным, неуклонно сокращаясь. Зарплаты в среднем ниже, чем на js-based фреймворках.

Люди, которые даже за год могут дотянуться от 0 до Junior+, сейчас идут куда угодно, только не в Андроид )))

Вобщем, не рекомендовал бы новичкам стартовать на Андроиде: осваивать нужно невероятно много, а перспективы роста по карьере и зарплате очень туманные.

Простое сейчас пишут на веб-апках, Flutter или ReactNative. Android стал довольно «нишевым», сложным и объёмным, неуклонно сокращаясь.

Пруфы? Последнее исследование appfigures на эту тему показывало прямо противоположный тренд с тройным падением non-native на андройде в 2017 over 2016. appfigures.com/...​-less-apps-for-first-time
Есть серьезные сомнения, что этот тренд изменился в последние годы. Да, вырос Flutter относительно других non-native, но что на счёт совокупного market share of non-native?
Или речь идёт чисто о мобильной разработке в украинском аутсорсинге?

В 2017 non-native был сплошной головной болью. Мобильное железо было послабей. Не было ни Flutter, ни хороших PWA.
Извините, но приводить в пример в сфере IT исследование, сделанное 3-4 года назад — это неадекватно.

кроссплатформа уже который год всё взлететь пытается... Вот зарелизят jetpack Compose и с ним котлин вытеснит флаттер. Ну а reactNative уже и так практически труп.

Мобильное железо было послабей. Не было ни Flutter, ни хороших PWA.

Основные проблемы non-native не заключались в слабом железе.

Извините, но приводить в пример в сфере IT исследование, сделанное 3-4 года назад — это неадекватно.

Гораздо адекватнее, чем не приводить вообще никакого. Там был показан ярко выраженный тренд. Чтобы обернуть его вспять, даже за 3 года, должен был произойти квантовый скачек в non-native, которого не произошло. Прогресс Flutter и PWA — это отлично, но это не game changer. Ключевые проблемы non-native, которые держат крупные проекты на нативе за эти годы решены не были (сплойлер: и вряд ли будут), поэтому есть все основания полагать, что тренд сохранился.
Если есть опровергающие данные, то буду только рад оказаться неправ.

которые держат крупные проекты на нативе

Ну то есть в итоге Вы косвенно подтверждаете

Простое сейчас пишут на веб-апках, Flutter или ReactNative.

Разумеется, тренд сохранился: простое — на PWA либо Flutter, сложное — нативка.
Надеюсь, не будете спорить, что в «крупные проекты на нативе» обычно стараются набирать людей с уровнем не ниже Junior+, а как правило >= Middle.

Во Flutter как раз решено очень много проблем. Разумеется, кроме постоянных разветвлений в коде, Dart, опасности со стороны отказа от LLVM и пока что неустоявшихся практик и библиотек. Авось Android/Fucsia + Jetpack Compose со временем дорастут чтобы его заменить. Но может и нет :) Выстреливает не всё, что заявляет+развивает Google — помним о Google glass и Project ARA

На нативе зарплаты ниже, чем на всяких js-based фреймворках? Ну ну...

Да, тут я оказался не совсем прав. Если сравнивать ЗП девов с 1 годом опыта — то JS вроде существенно лидирует. К 3-4 годам опыта — паритет, а дальше нативка начинает опережать.

НО!!! Как насчёт количества вакансий? Тут спорить будем или согласитесь, что на js их в разы больше? И дальше тоже так и будет либо с ещё большим перевесом в пользу js. Для джунов это критически важный показатель.

Вот человек выбирает js исходя из доступности вакансий, а потом сидит и страдает, потому что выбрал не потому, что тащится от него, а потому, что вакансий куча. Это как идти в программирование ради денег, хотя в гробу видал бы он это программирование...

выбрал язык не потому, что тащится от него

 — вообще этого не понимаю )
Если пару месяцев пишешь на языке и не возникает стойкого отвращения — то всё ок. Языки меняются, задачи тоже. И надо быть готовым менять/добавлять используемые языки. Везде есть и рутина, и творчество.

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

Я не говорю, что нужно вдаваться в крайности, а то, что работа должна приносить не только деньги, а и удовольствие. Кому-то нравится веб на js-е, а кому-то разрабатывать под мобилки. Хотя если смотреть и на деньги, то мобильным разрабам больше платят, судя по статистикам.

Но кому нужен джун на этих языках?

В Ubisoft, это сходу не гугля вакансии.

Отличный пример! Сейчас требуются на С++ с опытом < 1 года: 4 вакансии в 3 городах по Украине, из них в Киеве 0 и удалённых 0. На Front End — 27 вакансий, удалённо 11.
Вилка ЗП для этих вакансий: С++ — 400-800$; Front End — 600-1000$.
Ах да, ещё Node.js есть )))

При этом на С++ джуном попробуй ещё стать :)

И как там по фортрану с вакансиями <= Junior?

и что клепают на non-native? Апки-однодневки? Сейчас у нас в компании всего 1 flutter-dev и примерно 12-14 разрабов на нативе (android + ios). В прошлой компании, где я работал, то non-native вообще отсутствовал. Где из больше?

То, что Вы не видели качественные не-нативные приложения, ещё не значит, что их не существует. Просто для примера оставлю ссылки на два React Native приложения, чтобы попробовать Вас убедить, что можно писать хорошие приложения не только полностью нативно:
apps.apple.com/...​-app-builder/id1099748482 (650+ экранов)
apps.apple.com/...​chat-hang-out/id985746746

И кстати, если смотреть с технической точки зрения, то в RN приложениях обычно нативного кода гораздо больше чем JS. Так что ещё непонятно, правильно ли их называть не-нативными...😝

Сам не сталкивался с RN, но читал статьи, поэтому есть вопрос — если в написании апки нужно выйти за рамки «request-response», то как вы поступаете? Например, считать отпечаток пальца или получить фото с камеры/отредактировать его? Или проиграть звук/музыку/видео?
Мне кажется, что в этом случае всё-равно придётся пилить нативный кусок под каждую платформу и подключать в виде либы.
И ещё многие ругают RN за нестабильность и то, что постоянно по каждому чиху перестаёт билдиться.

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

И ещё многие ругают RN за нестабильность и то, что постоянно по каждому чиху перестаёт билдиться.

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

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

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

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

habr.com/...​y/surfstudio/blog/511330
Статья прошлого года. Пишет, что апдейт библиотек ломал совместимость во всём проекте. Даже пустой проект требует ручного вмешательства после апдейта. Плюс много нареканий по поводу далеко «не-нативной» производительности, особенно со сложным UI. Свистопляски, если нужно запилить одинаковый UI на обеих платформах (к сожалению, часто такие требования присутствуют)
Да что говорить — до сих пор нет версии 1.0. Многие переходят либо на flutter, который в разы быстрее, стабильнее или вникают уже в Kotlin Multiplatform, особенно андроид-разработчики, которым по факту нет проблем уже сейчас перенести бизнес-логику в мультиплатформенную часть. В свежих подкастах на тему кросс-платформ я уже ничего не слышал о RN.

а количество вакансий больше может потому, что количество специалистов меньше?

Да, наверное Вы правы — иначе бы не получилось в недавнем опросе «JS как основной язык программирования» — 24% опрошенных, а Kotlin+Swift — около 3,5% каждый

И сколько из этих 24% на кроссплатформе? Думаю меньше 1%.

Может ниша кроссплатформы на JS и меньше 1%, но суть не меняется: зная JS, стартануть в IT сейчас проще, чем зная Android (<= Junior lvl в обоих случаях). Также и потому, что 24% — это примерно в 7 раз больше, чем 3,5%

Ага, я думал мы говорим только о мобильной разработке. Если вообще о js, то никто тогда не спорит — там народу больше. И туда наверное проще попасть.

Добрый день, Евгений. Ваша работа над модельками для «Мотыльков» просто нереально крута. Мне интересно, почему вы решили уйти из CG в Android разработку?

Хотела тоже спросить... Исполнение крутое, у вас получается, интересная ниша. Что не так?

Подписаться на комментарии