Вступление

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

Я провожу технические собеседования и менторю Android-разработчиков — и могу точно сказать, чем отличается человек, который «учится два года», от человека, который «обучился»: у второго есть свой проект, и он может объяснить каждое решение в нём. Разница не в количестве часов, а в порядке тем и качестве источников.

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

С чего начать: порядок тем

Порядок изучения — половина успеха. Попробуйте учить в такой последовательности:

  • Основы программирования и Kotlin — синтаксис, классы, коллекции, null-безопасность
  • Android Studio и первые приложения — эмулятор, Activity, разметка, манифест
  • Жизненный цикл и состояние — почему приложение не «падает» при повороте экрана
  • Сеть и данные — Retrofit, Room, хранение данных
  • Архитектура — MVVM, ViewModel, корутины и Flow
  • Практика — свой проект «как в проде», от идеи до публикации

Логика простая: сначала язык — потому что на нём вы будете выражать любые идеи. Затем минимальные инструменты платформы — чтобы видеть результат. И только потом архитектура и сложные темы, которые без практики просто не «ложатся» в голову.

Каждый пункт списка закрывается не чтением, а практикой:

  • Основы Kotlin закрыты, когда вы без подсказок пишете программу со списками и функциями
  • Первое приложение — когда собрали экран, который переживает поворот устройства
  • Сеть и данные — когда приложение загружает и сохраняет реальные данные
  • Архитектура — когда можете объяснить, почему в вашем проекте именно такая структура

Не начинайте с архитектуры

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

Официальные источники

Половина «курсов» в интернете устарела на два-три года: старые версии API, устаревшие библиотеки, практики, от которых Google уже отошёл. Поэтому я всегда советую начинать с первоисточников — они бесплатны, актуальны и выстроены в правильном порядке.

developer.android.com

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

kotlinlang.org

Официальный сайт Kotlin: учебник, справочник и интерактивные задания, которые выполняются прямо в браузере. Хорошая проверка — написать там основы языка до перехода к Android.

Документация библиотек

Room, Retrofit, Compose — у каждой официальный сайт с примерами. Когда в проекте встречаете незнакомую библиотеку, привыкайте читать её документацию, а не первую статью из поиска.

Правило проверки информации: перед тем как поверить статье из интернета, сверьтесь с официальной документацией. Если статья ссылается на версии API пятилетней давности — выбрасывайте её.

Практика вместо туториалов

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

Как выходить из него:

Правило «одна идея — одно приложение»

На каждую новую тему делайте крошечное приложение: таймер — на корутины, список покупок — на Room, погоду — на Retrofit. Тема считается изученной, когда у вас есть работающий код, который вы написали сами.

Правило «без подглядывания»

После прохождения урока перепишите проект заново, не глядя в материал. Если не получается — перечитайте нужный кусок и повторите. Это превращает «смотрел» в «умею».

Правило «показать код»

Раз в несколько недель показывайте свой код кому-то опытному: коллеге, в сообществе, ментору. Чужой взгляд находит ошибки, которые вы не видите, — и это самый быстрый способ роста.

Как это выглядит в режиме, а не в теории? Будни — по часу-полтора: одна тема, один маленький кусок кода. Выходные — большой блок: собрать экран или связку целиком. Один вечер в неделю — повторить прошлое без подглядывания. В конце недели — честный ответ на вопрос «что у меня теперь работает, чего не было в понедельник?». Если работающего результата нет две недели подряд — режим неправильный, меняйте его, а не ругайте себя.

Типичные ошибки самообучения

Разберу ошибки, которые я вижу у самоучек каждый месяц. Проверьте себя.

Слишком много источников

Один курс по Kotlin, второй по Android, третий про архитектуру — из разных школ и лет. Итог: противоречащие друг другу советы и каша в голове. Выберите один основной путь (официальные материалы) и добивайте его до конца.

Копирование проектов из GitHub

Скачать чужое приложение, запустить и считать, что «почти сделал своё» — ошибка. На собеседовании всё вскрывается первым вопросом «почему вы выбрали такую архитектуру?». Свой проект пусть будет проще, но полностью ваш.

Идеальный план вместо действий

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

Когда подключать ментора

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

Ментор нужен, когда:

  • вы застряли на одном уровне дольше пары месяцев и не двигаетесь;
  • у вас есть проект, но нет уверенности, что он «правильный»;
  • вы готовитесь к собеседованиям и хотите тренировать ответы;
  • вам нужен план — понятный порядок тем под вашу ситуацию.

Честно и по-взрослому: если у вас всё получается, вы пишете код каждый день и растёте — ментор не обязателен. Менторство нужно не «для галочки», а когда вы упёрлись в потолок или хотите ускорить путь. Это инструмент, а не обязательная ступень.

От автора: меня зовут Рустем Бикбулатов, я senior Android-разработчик и ментор Яндекс Практикума. Провожу технические собеседования и помогаю разработчикам с опытом 1–2 года перейти на уровень middle за 4–8 недель: закрываем пробелы в Kotlin, Coroutines и архитектуре и тренируем ответы на собеседованиях.

Хотите, чтобы обучение шло по плану, а не на ощупь?

Бесплатная диагностика: разберу ваши пробелы и составлю план роста за 30–40 минут. Без обязательств — если менторство вам не подойдёт, честно скажу.

Итоги

Порядок тем: основы и Kotlin, инструменты, жизненный цикл, сеть и данные, архитектура, практика. Источники — официальные: developer.android.com и kotlinlang.org. Каждая тема заканчивается собственным работающим кодом, а не «пройденным уроком».

Запомните главное

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

Если хотите быстрее пройти путь и не блуждать в туториалах — напишите в Telegram. Разберём вашу ситуацию и составим план, с которого начнёте уже на этой неделе.