Пять часов в неделю дают ровный прогресс, если у недели есть форма: 60 минут на новую тему, 150 минут на проект, 60 минут на тесты и отладку, 30 минут на повторение. Всё это укладывается в три сессии. Неделя засчитана не по количеству просмотренных уроков, а по артефакту: что теперь запускается и сохранено в репозитории.
Пять часов - это два будних вечера и кусок выходного. Такой бюджет легко растворить: посмотреть четыре урока подряд, ничего не написать руками, через неделю начать с того же места. Разница между «я занимался» и «я продвинулся» держится на форме недели: сколько в ней блоков, чем каждый заканчивается и по какому признаку неделя закрыта.
300 минут, которые распределены заранее, а не «сколько получится».
Теория и повторение, проект, тесты и коммит. Больше дробить нет смысла.
Одна работающая функция в неделю. Это и есть отметка о завершении.
Как разложить пять часов на блоки
Начните не с дней недели, а с блоков. День можно передвинуть, блок нельзя выбросить. Четыре блока закрывают полный цикл: узнал, применил, сломал и починил, вспомнил. У каждого свой проверяемый след.
| Блок | Время | Что делаете | След после блока |
|---|---|---|---|
| Новая тема | 60 минут | Разбираете один узкий вопрос и переписываете пример под себя | Три собственных примера в файле |
| Проект | 150 минут | Пишете код своего проекта без видео и без чужого решения рядом | Одна законченная функция |
| Тесты и отладка | 60 минут | Проверяете граничные значения, воспроизводите баг, чините | Тест и запись об исправленном дефекте |
| Повторение | 30 минут | Возвращаетесь к задаче двухнедельной давности | Решение без подсказки |
Половина бюджета уходит в проект намеренно. Теория без применения выветривается за несколько дней, и её приходится проходить заново. Час на новую тему - это один вопрос, а не глава: списки и словари, запрос к API, флексбокс, один паттерн тестов. Не помещается в час - вопрос слишком широкий, режьте пополам.
Блок повторения самый короткий, и выбрасывают его чаще всего. Берите задачу двухнедельной давности и решайте заново с чистого листа. Пришлось подглядывать - тема не закрыта, и на следующей неделе она возвращается в блок новой темы.
Три сессии недели: что происходит в каждой
Дробить пять часов на пять коротких вечеров плохо: половина захода уходит на возврат в контекст. Три сессии достаточно длинные, чтобы дойти до результата, и достаточно редкие для рабочей недели.
| Сессия | Длительность | Состав | Чем заканчивается |
|---|---|---|---|
| Первая, будний вечер | 90 минут | Новая тема плюс повторение старой задачи | Изменённый пример запускается, старая задача решена |
| Вторая, будний вечер | 120 минут | Только проект, без уроков и без роликов | Функция работает на одном сценарии |
| Третья, выходной | 90 минут | Дописать функцию, тесты, README, commit | Версия сохранена в репозитории |
Первая сессия задаёт тему. Не читайте теорию впрок: разобрали вопрос, сразу поменяли пример под свою задачу, посмотрели, что сломалось. Вторая сессия самая ценная, её защищают от всего остального. Никаких уроков и чужого кода в соседнем окне: пишете сами и застреваете сами, потому что застревание и есть учёба. Третья закрывает неделю: тесты, README на пять строк и коммит с внятным сообщением. Пока коммита нет, неделя открыта.
Порядок сессий важнее их дней. Вторник, четверг, суббота работают хорошо, но подойдёт и другой набор. Правило одно: между первой и второй сессией не больше трёх дней, иначе тема остынет.
Первая сессия неплохо проходит с телефона: теория и раздел «Практика» в приложении Кодика лежат рядом, первый модуль профессии бесплатный, дальше подписка Pro. Проект и тесты удобнее делать на ноутбуке, а про мобильный формат есть отдельный разбор - как научиться программировать на телефоне.
Что считать завершённой неделей
Процент прохождения курса говорит только о том, сколько экранов вы пролистали. Завершённость недели проверяется четырьмя вопросами, и каждый требует предъявить артефакт.
- Что теперь запускается, чего не запускалось в понедельник?
- Какую ошибку вы воспроизвели специально и потом исправили?
- Что вы можете объяснить вслух без конспекта и без подсматривания?
- Какой один пробел мешает следующему шагу?
- Коммит с работающей функцией и внятным сообщением
- Хотя бы один тест или воспроизведённый и починенный баг
- Строка в файле прогресса: что сделано, где застрял, что дальше
Файл прогресса держите прямо в репозитории, рядом с кодом. Одна строка после каждой сессии, три строки за неделю. Через месяц это единственный честный источник данных о том, куда уходит ваше время, и он же отвечает на вопрос «сколько ещё осталось» точнее любой средней цифры из статей про сроки до уровня джуна.
Практика: соберите календарь на четыре недели
Сделайте это один раз и письменно, иначе расписание останется намерением. Понадобится календарь в телефоне и текстовый файл в папке проекта, времени уйдёт минут двадцать.
- Найдите три реальных слота. Смотрите на прошлую неделю, а не на идеальную. Два будних вечера по полтора-два часа и один слот в выходной. Если двух часов подряд нет нигде, берите три отрезка по 90 минут: сумма важнее формы.
- Поставьте повторяющиеся события. Напоминание за 15 минут и название вида «Проект: функция экспорта», а не «учёба». Расплывчатое название приглашает отменить встречу с самим собой.
- Выберите один проект на месяц. Трекер расходов, парсер вакансий, страница-портфолио, набор автотестов. Минимум четыре функции, чтобы каждой неделе досталась своя.
- Распишите четыре недельные цели. Одна неделя - одна функция, сформулированная глаголом и проверяемым результатом. «Добавить сохранение в CSV, файл открывается в таблице» годится, «разобраться с файлами» нет.
- Заведите progress.md. Три строки в неделю: что запустилось, где застрял, что делаю дальше. Пишите сразу после сессии, а не по памяти в воскресенье.
- Назначьте дату ревизии. Событие через четыре недели с текстом «пересмотреть расписание». Без этой отметки календарь живёт нетронутым полгода и перестаёт совпадать с жизнью.
Срыв недели и ревизия календаря через месяц
Сорванная неделя случится, и не одна: командировка, болезнь, аврал на работе. Ошибка не в пропуске, а в попытке компенсировать его двойной нагрузкой. Десять часов на следующей неделе долг не закроют, зато сломают график ещё на две недели.
Схема такая. Пропущенную неделю не догоняем, её просто нет. Следующая урезается до минимума: одна сессия на 90 минут, маленькая функция, коммит. После одной восстановленной недели возвращаетесь к пяти часам. Если срыв случился третий раз подряд, дело не в дисциплине, а в календаре: уменьшайте план до трёх часов и двух сессий. Три честных часа каждую неделю обгоняют пять часов раз в месяц.
Через четыре недели откройте progress.md и историю коммитов рядом с календарём. Уберите блок, после которого за месяц не появилось ни артефакта, ни обратной связи. Передвиньте сессию, которую вы отменяли чаще двух раз: у неё плохое время, а не вы плохой ученик. Режьте недельные цели пополам, если функции стабильно не влезали.
Заодно проверьте, туда ли идут пять часов. Если проект оказался не про то направление, месяц - хороший момент это заметить и переехать в нужный стек, а сравнить варианты помогает разбор как выбрать профессию в IT.
Частые ошибки в недельном плане
Расписание рушится чаще не из-за нехватки времени, а из-за трёх привычек. Все они выглядят как усердие, поэтому их сложно заметить у себя.
«Позаниматься два часа» выполняется просмотром роликов. «Дописать функцию экспорта» просмотром не выполняется.
Если проектный блок регулярно съедается новой темой, к концу месяца в репозитории пусто, а в голове каша.
Удвоенная неделя после срыва почти всегда ведёт ко второму срыву. Минимальная неделя восстанавливает ритм, компенсация ломает.
Эта статья про календарь и его содержимое. Причины перегруза, отдых и признаки того, что пора сбавить темп, разобраны отдельно: как учиться программированию и не выгореть. Там про состояние, здесь про расписание. Если сессии срываются из-за усталости, а не из-за занятости, начинать нужно с той статьи.
Что делать дальше
Сегодня поставьте три события в календарь и создайте progress.md. На этой неделе закройте одну функцию и сделайте коммит, через четыре недели проведите ревизию. Проект и еженедельную практику удобно вести на курсе Python-разработчика, а если ближе интерфейсы или тестирование, посмотрите Frontend-разработчика и QA-инженера.
Частые вопросы про расписание учёбы
Реально ли научиться программировать, занимаясь 5 часов в неделю?
Да, если неделя заканчивается работающим результатом, а не просмотренными уроками. Пять часов дают примерно одну законченную функцию проекта в неделю и около четырёх в месяц. Темп медленнее интенсива, зато не обнуляется при первом авральном месяце.
Как составить расписание учёбы, если свободного времени почти нет?
Отмечайте только те слоты, которые реально были свободны на прошлой неделе. Возьмите два будних вечера и один слот в выходной, поставьте повторяющиеся события с конкретным названием задачи. Если двух часов подряд нет, берите три отрезка по 90 минут.
Сколько должна длиться одна сессия обучения программированию?
От 90 до 120 минут. Заходы по 30-40 минут почти целиком уходят на возврат в контекст: вспомнить, где остановился, открыть проект, перечитать свой код. Более длинные сессии выдерживают редко.
Что лучше: заниматься каждый день понемногу или три раза в неделю подольше?
Для проектной работы выгоднее три длинных сессии: за 90-120 минут вы успеваете дойти до работающего куска кода. Ежедневные короткие заходы хороши только для повторения и мелких задач с телефона. Компромисс: три полноценные сессии плюс повторение в дороге.
Какой результат считать успешной учебной неделей?
Неделя закрыта, когда есть три следа: коммит с работающей функцией, тест или исправленный баг, три строки в файле прогресса. Проценты курса сюда не входят. Нет ни одного следа - неделя считается пропущенной, даже если время было потрачено.
Что делать, если пропустил две недели учёбы подряд?
Не догонять. Пропущенные недели вычёркиваются, а следующая делается минимальной: одна сессия на 90 минут, небольшая функция, один коммит. Задача первой недели после паузы - вернуть цепочку, а не отработать долг.
Как часто нужно менять учебный план?
Раз в четыре недели, по записям в файле прогресса и истории коммитов. Уберите блок, который за месяц не дал ни одного артефакта, передвиньте регулярно отменяемую сессию, разрежьте слишком крупные цели. Чаще пересматривать не стоит: месяц нужен, чтобы накопились данные.
