Чтобы выйти на уровень junior-разработчика на Python, при занятиях 10–15 часов в неделю обычно нужно 8–12 месяцев. Это примерно 400–700 часов практики. Если заниматься по 25–30 часов в неделю, срок сокращается до 4–6 месяцев. Базовый синтаксис осваивают за 1–2 месяца, но работодателю нужен не синтаксис, а умение собрать работающий проект.
Из каких этапов складывается обучение
Путь делится на блоки. Первый блок — основы: типы данных, циклы, функции, работа с файлами, исключения. Второй — ООП, модули, виртуальное окружение (venv), менеджер пакетов pip и оформление кода по PEP 8. Дальше начинается специализация, и сроки сильно расходятся.
Параллельно с языком придётся освоить Git, командную строку и хотя бы базовый SQL. Новички часто откладывают их «на потом», а на собеседовании это всплывает уже в первом техническом вопросе.
| Этап | Что изучается | Ориентир, часов | При 12 ч/неделю |
|---|---|---|---|
| Основы языка | синтаксис, коллекции, функции, исключения | 80–120 | 1,5–2,5 мес. |
| ООП и инструменты | классы, наследование, venv, pip, Git | 60–90 | 1–2 мес. |
| Базы данных | SQL, PostgreSQL, ORM | 40–60 | около 1 мес. |
| Специализация | Django/FastAPI или pandas/NumPy | 150–250 | 3–5 мес. |
| Pet-проекты и портфолио | 2–3 проекта на GitHub, деплой | 80–150 | 1,5–3 мес. |
Цифры в таблице ориентировочные. Человек с опытом в другом языке проходит первые два этапа в 2–3 раза быстрее.
Как направление влияет на сроки
Веб-разработка на бэкенде требует больше всего смежных знаний: REST API, HTTP, аутентификация, Docker, тестирование через pytest. Здесь обычно закладывают верхнюю границу — около года.
Анализ данных стартует быстрее: библиотеки pandas и matplotlib дают результат уже через пару месяцев. Но для позиции аналитика кроме языка нужны статистика и уверенный SQL, так что итоговый срок сопоставим с вебом. Автоматизация и написание скриптов — самый короткий путь, 3–5 месяцев. Правда, отдельных вакансий под это мало, чаще навык идёт в нагрузку к основной работе тестировщика или системного администратора.
Что делать, если прогресс остановился
Типичная ловушка — бесконечный просмотр уроков без собственного кода. На практике полезнее правило: на час теории приходится минимум два часа практики. Задачи на Codewars или LeetCode уровня easy хорошо тренируют работу со строками и списками. Алгоритмы уровня hard для junior-позиции обычно не нужны, хотя в крупных компаниях бывают исключения.
Если тема не даётся, помогает сменить источник объяснения. Подборки курсов по программированию и Python можно найти на сайте. После курса стоит сразу написать небольшой проект на пройденную тему: телеграм-бота, парсер или API для списка задач.
Вопросы и ответы
Можно ли выучить Python за 3 месяца?
Синтаксис и основы — да, при ежедневных занятиях. Для трудоустройства этого обычно мало: нужны фреймворк, база данных и портфолио.
Нужна ли математика, чтобы учить Python?
Для веба и автоматизации хватает школьной. Для анализа данных и машинного обучения понадобятся статистика, линейная алгебра и теория вероятностей.
Сколько проектов нужно в портфолио для junior?
Обычно хватает двух-трёх законченных проектов с понятным README и тестами. Один проект средней сложности, который можно запустить по ссылке, ценится выше пяти учебных калькуляторов.