Часто новички задаются вопросом: "Что же надо знать, чтоб стать разработчиком?". В вакансиях куча непонятных слов. В книгах столько информации, что кажется надо было с детства начинать это изучать. К этому всему еще и период сейчас в андроид разработке такой, что надо знать два языка: Java и Kotlin.
Я попробую составить роадмап для новчика: что же точно надо знать для того, чтобы попасть на первую работу.
Итак, первое и самое главное — это Java Core. Да, начать сейчас лучше с Java. Как по мне, JavaRush лучший способ это сделать. Не надо отвлекаться ни на что, пока не пройдете полностью базовые вещи. При этом будет большим плюсом, если вы найдете ментора, который может подсказать и рассказать.
Дальше уже можно попробовать Android SDK. На первых порах надо разобраться, как пользоваться TextView, EditText, Layouts (Frame, Linear, Relative), ImageView, Button. После них переходить к RecyclerView.
На этом этапе практика — ваше всё. Надо всё это пробовать, смотреть, как оно работает, какие у этих компонентов характеристики, чем они отличаются.
Дальше можно углубляться и разбираться с Activity и Fragments. Жизненный цикл, запуск. Также передача данных между двумя Activity (Intent) и двумя Fragments (Bundle).
На этом этапе вы уже готовы сделать что-то чуть сложнее калькулятора. Надо писать небольшой проект, который состоит из нескольких экранов. Главное — задействовать побольше компонентов, чтоб разобраться, как они взаимодействуют друг с другом. И опять таки большим плюсом будет, если кто-то будет видеть ваш код и сможет подсказать.
Вот здесь уже можно пробовать Kotlin. Кроме того, в проект надо добавлять взаимодействие с REST API. Для этого используется библиотека Retrofit. Мануалов по ней очень много. Открытых API также очень много, есть на чем тренироваться (например, Instagram, Facebook и многие другие). Результатом должна быть загрузка данных с сервера и отображение их на экране. Также вам тут пригодится библиотека Glide (либо, как альтернатива, Picasso).
Из основного это всё. Дальше стоит разбираться уже с паттернами разработки. В андроиде гугл продвигает MVVM, потому его и пробуйте. Также узнайте, что такое Clean Architecture. И в довершение — Dependency Injection. Одновременно с этим можно пробовать ходить на собеседования.
По всем пунктам на просторах интернета полно статей и примеров. При изучении всё же важнее понимание как и почему оно работает, а не заучивание названий. Также важно уметь пользоваться дебагом для обнаружения ошибок. А это возможно только при большом количестве практики.
По моим ощущениям этот процесс можно пройти за полгода. Но это только если уделять достаточно времени на обучение. Тут остается лишь пожелать терпения.

ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ