Сколько времени нужно и что ждет на рынке
Стать программистом с нуля реально и в 2026 году, но быстрых путей нет. При занятиях 15-20 часов в неделю до уровня, с которым можно ходить на собеседования junior, обычно уходит от 8 до 12 месяцев. Первую работающую программу вы напишете в первые же дни, а вот уверенность в проектах приходит после сотен часов практики.
Рынок для новичков стал жестче, чем в 2021-2022 годах. На одну вакансию junior откликаются десятки кандидатов после курсов, поэтому работодатели смотрят на реальные проекты, знание Git и умение объяснить свой код. Хорошая новость: требования к junior предсказуемы, и к ним можно подготовиться по плану.
- Что реально за 3 месяца: основы одного языка, Git, первые маленькие программы.
- Что реально за 6 месяцев: фреймворк, база данных, 1-2 проекта в портфолио.
- Что реально за 12 месяцев: 3 проекта, резюме, первые собеседования и тестовые задания.
Шаг 1. Выберите направление, а потом язык
Частая ошибка - выбирать "самый популярный язык". Язык вытекает из того, что вы хотите делать. Ниже сравнение направлений, куда чаще всего приходят новички.
| Направление | Что делает специалист | Стартовый стек | Порог входа |
|---|---|---|---|
| Frontend | Интерфейсы сайтов и веб-приложений | HTML, CSS, JavaScript, React | Средний, много конкурентов |
| Backend | Серверная логика, API, базы данных | Python, Java, Go или Node.js, SQL | Средний и выше |
| Мобильная разработка | Приложения для Android и iOS | Kotlin или Swift | Средний, нужен свой смартфон для тестов |
| Анализ данных | Отчеты, метрики, дашборды | SQL, Python, pandas, Excel | Ниже среднего, нужна математика |
| Тестирование (QA) | Поиск ошибок, автотесты | Теория тестирования, Python или Java | Ниже среднего |
| DevOps | Сборка, деплой, серверы | Linux, Docker, CI/CD | Высокий, редко берут без опыта |
Если сомневаетесь между двумя самыми массовыми путями, прочитайте разбор frontend или backend для новичка. Не можете определиться совсем - берите Python: на нем пишут бэкенд, анализ данных, автотесты и скрипты, и переучиваться потом не придется.
Шаг 2. Изучите основы первого языка
Первые два-три месяца уходят на базовые конструкции. Они одинаковы почти во всех языках, поэтому время не пропадет, даже если позже вы смените стек.
- Переменные, типы данных, ввод и вывод.
- Условия и циклы.
- Функции, аргументы, область видимости.
- Коллекции: списки, словари, множества.
- Работа с файлами и обработка ошибок.
- Модули, установка библиотек, виртуальное окружение.
- Основы ООП: классы, объекты, методы.
Проверка, что база усвоена: вы можете без подсказок написать маленькую программу, например подсчет частоты слов в текстовом файле.
from collections import Counter
with open("text.txt", encoding="utf-8") as f:
words = f.read().lower().split()
for word, count in Counter(words).most_common(5):
print(word, count)Подробный план по месяцам для Python есть в статье с чего начать изучение Python, а все материалы по языку собраны по тегу Python.
Шаг 3. Освойте инструменты разработчика
Работодатель ждет от junior не только знания языка. В вакансиях почти всегда встречается одинаковый набор инструментов, и его стоит начать изучать параллельно с языком, а не после.
- Редактор кода. Чаще всего это VS Code или PyCharm. Начните с одного и не тратьте неделю на выбор темы оформления.
- Git и GitHub. Коммиты, ветки, pull request. Без этого не пройти даже тестовое задание: его обычно присылают ссылкой на репозиторий. Начните со шпаргалки по командам Git.
- Терминал. Навигация по папкам, запуск скриптов, базовые команды Linux.
- SQL. SELECT, JOIN, GROUP BY нужны и бэкендеру, и аналитику, и тестировщику.
- HTTP и API. Что такое запрос и ответ, коды статусов, формат JSON.
Пошаговый план на 12 месяцев
План рассчитан на 15-20 часов в неделю. Если учитесь по выходным, растягивайте каждый этап в полтора раза, но не пропускайте практику.
| Месяцы | Что изучать | Результат этапа |
|---|---|---|
| 1-2 | Синтаксис языка, задачи на логику, редактор кода | 50-100 решенных задач на тренажере |
| 3 | Git, GitHub, терминал, виртуальные окружения | Все учебные задачи лежат в репозитории |
| 4-5 | Фреймворк направления, SQL, HTTP | Первый мини-проект: бот, парсер или сайт |
| 6-7 | Базы данных, тесты, работа с API | Второй проект с базой данных и README |
| 8-9 | Docker, деплой, чтение чужого кода | Проект доступен по ссылке в интернете |
| 10-12 | Алгоритмы для собеседований, резюме, отклики | Третий проект, 50+ откликов, первые интервью |
Совет: заведите простой журнал обучения в README отдельного репозитория. Записывайте дату, тему и что сделали. Через полгода он покажет вам и рекрутеру реальный объем работы, а пустые недели станут заметны сразу, пока их еще легко наверстать.
Курсы, вуз или самостоятельно: сравнение
Учиться можно тремя способами, и у каждого свои риски. Ни один из них не гарантирует трудоустройство, что бы ни обещала реклама.
| Формат | Плюсы | Минусы | Кому подходит |
|---|---|---|---|
| Самостоятельно | Бесплатно, свой темп, много открытых материалов | Нет обратной связи, легко бросить | Дисциплинированным, у кого мало денег |
| Онлайн-курсы | Структура, наставник, проверка заданий | Цена от десятков до сотен тысяч рублей, качество разное | Тем, кому нужен внешний дедлайн |
| Вуз или колледж | Фундамент: математика, алгоритмы, диплом | 4-5 лет, программа отстает от рынка | Школьникам и студентам |
Перед покупкой курса откройте программу и проверьте три вещи: сколько в ней практических проектов, кто проверяет код и можно ли вернуть деньги после первых модулей. Бесплатные вводные модули есть почти у всех крупных школ, начните с них.
Портфолио: какие проекты показывать
Портфолио junior - это 2-3 законченных проекта на GitHub, а не двадцать копий учебного калькулятора. Каждый проект должен решать понятную задачу и запускаться по инструкции из README.
Идеи проектов по направлениям
- Backend: API для списка задач с регистрацией и базой данных, Telegram-бот с напоминаниями.
- Frontend: SPA с поиском по открытому API, например погода или каталог фильмов.
- Аналитика: исследование открытого датасета с графиками и выводами в Jupyter.
- QA: набор автотестов на pytest для публичного API.
Что должно быть в README
- Одна фраза: что делает проект.
- Стек технологий.
- Команды для установки и запуска.
- Скриншот или ссылка на работающую версию.
Как оформить репозиторий и сделать первый pull request, описано в гайде по GitHub для начинающих.
Как искать первую работу
Поиск работы - отдельный этап, который занимает от одного до четырех месяцев. Начинайте откликаться, когда готовы 2 проекта, а не когда почувствуете себя "полностью готовым": это чувство может не прийти никогда.
- Сделайте резюме на одну страницу: стек, проекты со ссылками, образование. Опыт из другой сферы тоже указывайте, он показывает ответственность.
- Разместите резюме на hh.ru и Хабр Карьере, откликайтесь на junior и стажировки с коротким сопроводительным письмом под вакансию.
- Следите за наборами в стажировки и школы крупных компаний: Яндекса, Т-Банка, Сбера, VK, Авито. Конкурс там высокий, зато есть обучение и наставник.
- Выполняйте тестовые задания аккуратно: README, понятные коммиты, тесты. Это ваша визитка.
- Готовьтесь к собеседованию по типовым вопросам. Для Python есть отдельная подборка вопросов на собеседовании junior.
Зарплаты junior сильно зависят от города и стека. Для Москвы ориентир на старте обычно от 60 до 100 тысяч рублей, в регионах ниже. Точные цифры на текущий месяц смотрите в зарплатном калькуляторе Хабр Карьеры: они меняются каждый квартал.
Ошибки, из-за которых бросают на полпути
- Бесконечные туториалы. Смотреть видео приятно, но навык появляется, только когда пишете код сами. Соотношение теории и практики держите хотя бы 30 на 70.
- Прыжки между языками. Неделя Python, неделя JavaScript, потом Go. В итоге базы нет нигде. Доведите один язык до проекта.
- Копирование ответов нейросети. ИИ-помощник ускоряет работу, но если вставлять код без понимания, на собеседовании это вскроется за пять минут. Сначала попробуйте решить задачу сами, а ИИ просите объяснить ошибку.
- Страх задавать вопросы. Формулируйте проблему, что пробовали и какую ошибку получили. Такой вопрос быстро получает ответ в любом сообществе.
- Учеба без расписания. Два часа каждый день работают лучше, чем десять часов раз в неделю.
