Программирование с нуля выглядит страшно ровно до того момента, пока человек не напишет первые двадцать строк кода и не увидит, что они работают. Дальше страх сменяется другой проблемой: непонятно, в каком порядке учить и как понять, что ты движешься, а не топчешься. Эта статья про сам процесс обучения, а не про профессию: с чего начать, как научиться программировать дома и в каком порядке брать темы. Про то, что учить в первую неделю, чем заниматься дома по вечерам, где брать практику и какие проекты собрать, чтобы их было не стыдно показать.
Сразу договоримся о словах, чтобы дальше читалось легко. Код это текст, написанный по строгим правилам, который компьютер умеет выполнять. Синтаксис и есть эти правила: где ставить скобки, как называть переменные, чем заканчивать строку. Язык программирования задаёт синтаксис и набор возможностей, а языков этих десятки, и выбор первого пугает новичков сильнее всего. Джуниор (от английского junior, младший) это специалист на старте карьеры, первая ступень после обучения. Если по ходу встретится ещё какое-то незнакомое слово, у нас есть словарь айтишника на 150 с лишним терминов простыми словами.
Что на самом деле значит «начать с нуля»

Изучение программирования начинают с очень разных стартовых точек, и нулём люди называют разные состояния. Один человек последний раз видел код на уроке информатики в школе, второй умеет писать формулы в Excel и настраивал что-то в админке сайта, третий вообще не понимает, чем браузер отличается от операционной системы. Все трое стартуют по-разному, но первые четыре недели у них совпадают почти полностью, потому что база одинаковая для любого языка и любого направления.
Основы программирования одинаковы для всех этих людей. Начать с нуля значит освоить четыре вещи в таком порядке: научиться описывать решение задачи по шагам, выучить синтаксис одного языка, научиться читать сообщения об ошибках и научиться доводить маленький проект до состояния «работает и лежит в интернете». Всё остальное, включая модные фреймворки (готовые наборы решений, на которых быстро собирают приложения) и алгоритмические задачки с собеседований, надстраивается сверху и без этих четырёх пунктов не держится.
Главное про старт. Регулярность бьёт интенсивность. Час каждый вечер шесть дней в неделю даёт больше, чем восьмичасовой марафон по субботам, потому что навык программирования собирается из повторов, а не из объёма прочитанного.
Второй момент, который экономит месяцы: учить программирование и выбирать профессию это две разные задачи, и решать их одновременно необязательно. Можно спокойно взять Python, три месяца писать на нём скрипты и только потом решить, идти в веб, в аналитику данных или в тестирование. Если карьерная часть волнует прямо сейчас, у нас есть отдельный разбор с пошаговым планом на год: как стать программистом с нуля до первого оффера. А если сомневаетесь, что вход в профессию вообще открыт в вашем возрасте, ответ есть тут: можно ли стать программистом в 30, 40 и даже 60 лет.
Третье. Учиться дома реально, и большинство работающих разработчиков прошли хотя бы часть пути самостоятельно. Но самоучка платит за бесплатность двумя вещами: временем и отсутствием обратной связи. Именно поэтому дальше в тексте будет много про то, где эту обратную связь брать, если вы не покупаете онлайн-курсы по программированию с проверкой домашек наставником.
Подходит ли вам программирование и как проверить это за неделю
Тратить полгода на выяснение того, что дело вам не нравится, обидно, а проверить совместимость можно за несколько вечеров. Программирование это работа, в которой примерно 70% времени уходит на поиск причины, почему написанное не работает, и только 30% на написание нового. Если поиск причины вас злит и опустошает, дальше будет тяжело. Если он вас азартит, всё остальное дело техники.
Недельный тест выглядит так. Возьмите любой бесплатный интерактивный курс по Python, пройдите первые три-четыре темы и после этого поставьте себе задачу, которой в курсе не было: например, посчитать, сколько раз каждое слово встречается в тексте вашей любимой песни. Задача заведомо чуть выше вашего уровня, и это специально.
Дальше наблюдайте за собой, а не за результатом.
- Хороший признак. Вы залипли на два часа, забыли про телефон и в какой-то момент поймали удовольствие от того, что нашли, где ошиблись.
- Нейтральный признак. Было трудно и скучновато, но когда заработало, стало приятно. Это норма, у большинства именно так.
- Тревожный признак. Появилось раздражение уже на этапе установки языка, а каждая ошибка воспринималась как личное оскорбление.
Тревожный признак не приговор, потому что часть раздражения на старте создаёт не код, а настройка окружения, самая неблагодарная часть входа. Но если ощущение держится и через месяц, стоит посмотреть на другие входы в IT: тестирование, аналитика, управление проектами, техническая поддержка. Кода там меньше, а зарплаты сопоставимы на старте.
Ещё один честный фильтр это отношение к неопределённости. В учебных задачах есть правильный ответ, в рабочих его нет: есть несколько решений, каждое с недостатками, и выбирать придётся вам. Людям, которым нужна однозначность, в разработке тесно.
Канал основателя Checkroi Вани Буявца3 700 человек читают мой Телеграм-канал про нейросетиСобрал промпты для Claude Code и ChatGPT, разборы ИИ-инструментов и лайфхаки по продвижению бизнеса в одном местеПрисоединитьсяКак выбрать первый язык программирования
Выбор первого языка занимает у новичков недели, а стоит того максимум один вечер. Причина простая: второй язык даётся в разы легче первого, потому что переменные, циклы и функции устроены везде похоже, меняется в основном оформление. Так что цена ошибки при выборе низкая, а цена бесконечных сравнений в интернете высокая, потому что за это время можно было уже что-то написать.
Правильный способ выбирать: сначала ответить, что вы хотите сделать своими руками через три месяца, и уже от этого идти к языку.
| Чего хочется | Язык | Первый проект | Куда ведёт дальше |
|---|---|---|---|
| Автоматизировать рутину, разбирать таблицы, писать ботов | Python | Телеграм-бот, который присылает курс валют | Бэкенд, аналитика данных, машинное обучение |
| Делать сайты и то, что видно в браузере | JavaScript плюс HTML и CSS | Одностраничный сайт с калькулятором | Фронтенд, фулстек, мобильные приложения |
| Работать в крупной компании с большими системами | Java или C# | Консольный менеджер задач | Корпоративный бэкенд, Android, банки |
| Делать игры | C# и движок Unity | Аркада на два экрана | Геймдев, движки, графика |
| Автоматизировать бизнес российских компаний | 1С | Доработка типовой конфигурации | 1С-разработка, ERP |
| Просто попробовать, целей пока нет | Python | Любой скрипт на 30 строк | Решите через месяц, ничего не потеряете |
Три слова из правой колонки таблицы стоит расшифровать сразу. Фронтенд это всё, что пользователь видит и трогает в браузере или приложении. Бэкенд это невидимая часть на сервере: она хранит данные, считает и решает, что показать. Фулстек это человек, который делает и то и другое.
Python остаётся самым мягким входом: синтаксис близок к обычному английскому тексту, точку с запятой в конце строки ставить не надо, а материалов на русском больше, чем по любому другому языку. Плюсы и минусы у него тоже есть, и мы их разбирали подробно в материале язык программирования Python: плюсы и минусы. JavaScript берут те, кому важно видеть результат глазами: поменял строчку, обновил страницу, кнопка поменяла цвет. Такая быстрая обратная связь очень помогает не бросить на второй неделе.
Если хочется сравнить языки шире и понять, чем компилируемые отличаются от интерпретируемых, есть отдельный разбор: типы языков программирования и какой выбрать.
Частая ошибка. Учить два языка параллельно «чтобы не прогадать». Мозг путает синтаксис, ни один язык не доходит до уровня, на котором можно написать что-то своё, и через полгода человек умеет только начинать.
База, которая нужна на любом языке
Есть набор понятий, который не зависит от того, что вы выбрали. Освоив его один раз, вы будете переносить знания между языками почти без потерь.
- Алгоритм. Последовательность шагов, которая решает задачу. До того как писать код, полезно проговорить решение обычными словами: возьми список чисел, пройди по нему, сложи всё, что больше нуля, выведи сумму. Половина проблем новичка это не незнание синтаксиса, а неумение придумать сами шаги.
- Переменные и типы данных. Ячейки, в которых лежат значения, и правила, что именно там может лежать: число, текст, список, дата.
- Условия. Развилки. Если баланс меньше нуля, показать предупреждение, иначе провести платёж.
- Циклы. Повторение действия много раз: пройти по всем строкам файла, обработать каждый заказ.
- Функции. Кусок кода, которому дали имя, чтобы вызывать его из разных мест и не копировать одно и то же.
- Коллекции. Списки, словари, множества. Способы хранить много значений вместе.
- ООП. Объектно-ориентированное программирование, подход, при котором данные и действия над ними складывают в одну сущность. Пользователь, заказ, товар. Нужен не с первого дня, но к концу второго месяца без него уже тесно.
- Обработка ошибок. Что программа делает, когда файл не найден, сеть отвалилась, а пользователь ввёл буквы вместо цифр.
- Git. Система контроля версий, то есть история всех изменений в проекте с возможностью откатиться назад. GitHub это сайт, где эту историю хранят публично, и заодно витрина ваших работ для работодателя.
Отдельным пунктом идёт умение читать сообщения об ошибках. Новички их пугаются и сразу лезут в поиск, хотя в тексте ошибки почти всегда написано, в какой строке и что именно сломалось. Навык разбора ошибок отличает человека, который умеет программировать, от человека, который умеет повторять за видеоуроком.
Что делать, когда застрял на задаче

Ступор перед пустым файлом это самое частое состояние новичка, и выходят из него не вдохновением, а процедурой. Она одинаковая для любой задачи и любого языка.
- Опишите задачу обычными словами. Одно-два предложения без единого технического термина: «беру текст, разбиваю на слова, считаю повторы, показываю десять самых частых». Если этот шаг не даётся, значит вы не поняли задачу, а не не знаете код.
- Разбейте на шаги, которые точно умеете. Каждый шаг должен быть таким, что вы можете написать его прямо сейчас. Шаг «разбить текст на слова» умеете, шаг «посчитать повторы» пока нет, значит дробим дальше: завести словарь, пройти циклом, увеличивать счётчик.
- Напишите заглушки. Сделайте пустые функции с понятными именами и комментарием, что каждая должна делать. Программа не работает, зато скелет есть, и дальше вы заполняете дырки по одной.
- Проверяйте после каждого шага. Не пишите сто строк и потом запускайте. Пишите пять, запускайте, смотрите, что получилось. Новичок ловит ошибку в пяти строках за минуту и в ста строках за час.
- Печатайте промежуточные значения. Самый простой способ отладки, который используют и опытные разработчики: вывести на экран, что лежит в переменной на каждом шаге. Почти всегда сразу видно, где реальность разошлась с вашими ожиданиями.
- Читайте ошибку с конца. В сообщении об ошибке последняя строка говорит, что случилось, а строки выше показывают, откуда пришли. Начинайте с последней.
- Формулируйте вопрос целиком. Прежде чем спрашивать у поиска, чата или нейросети, напишите: что хотел, что сделал, что ожидал, что получил. Половина вопросов отваливается прямо на этапе формулировки, потому что ответ становится очевидным.
Эта процедура и есть главный навык, который отличает разработчика от человека, прошедшего курс. Синтаксис забывается и гуглится, умение разложить непонятную задачу на понятные куски остаётся навсегда и переносится на любой язык.
Нужны ли математика, английский и диплом
Математика нужна ровно в объёме школьной программы, если вы идёте во фронтенд, бэкенд, тестирование или мобильную разработку. Арифметика, проценты, логика, немного понимания графиков. Высшая математика становится обязательной в машинном обучении, компьютерном зрении, разработке игровых движков и обработке сигналов, но это отдельные направления, и туда идут осознанно, а не случайно.
Английский важнее математики, и вот почему. Документация к языкам и библиотекам пишется на английском, ответы на редкие вопросы находятся на англоязычных форумах, а сообщения об ошибках вы будете читать по-английски с первого дня. При этом говорить не требуется: нужен навык чтения технического текста, который набирается за пару месяцев, если просто не переключать документацию на русский перевод.
Диплом по специальности требуют редко, и на вход в профессию он влияет меньше, чем портфолио и умение пройти техническое собеседование. Исключения есть: госкомпании, оборонные предприятия, некоторые банки. Если вы школьник и рассматриваете университетский путь, у нас есть разбор по экзаменам: что сдавать на программиста.
Как учиться программированию дома и не бросить
Самостоятельное обучение программированию проваливается по одной причине: человек читает и смотрит, но почти не пишет. Видео на два часа создаёт ощущение продуктивного вечера, при этом пальцы кода не касались, а значит навык не сдвинулся. Рабочая пропорция для новичка выглядит так: на каждый час теории приходится минимум два часа собственного кода, причём написанного руками, а не скопированного.
Второй провал это отсутствие обратной связи. Самоучка не знает, что его решение работает, но написано так, что на работе за него сделают замечание. Есть три способа получить оценку бесплатно.
- Тренажёры с автопроверкой. Stepik закрывает базу почти по всем языкам на русском, там же лежат приличные бесплатные курсы. Codewars даёт короткие задачи и, что важнее, показывает чужие решения той же задачи после сдачи вашего. Сравнение своего кода с решением опытного человека заменяет половину код-ревью.
- Публичный репозиторий. Выложите проект на GitHub и попросите разбор в тематическом чате или на форуме. Замечания будут резкими, зато конкретными.
- Пересказ вслух. Объясните вслух, что делает каждая строка вашего кода. Места, где объяснение сбивается, и есть места, которые вы не понимаете, а просто повторили.
Про LeetCode отдельно: новичку он на старте вреден. Это тренажёр алгоритмических задач для подготовки к собеседованиям в крупные компании, и попытка решать его на второй неделе обучения заканчивается ощущением собственной тупости. Возвращайтесь к нему на шестом-восьмом месяце, когда база уже есть.
Режим важнее вдохновения. Работающая схема: заниматься в одно и то же время, по будням от часа, ставить задачу на вечер до того, как сесть за компьютер, и заканчивать вечер на моменте, где всё получилось, а не там, где застряли. Последнее звучит мелочью, но именно оно определяет, откроете вы редактор завтра или нет.
Правило одного часа. Если задача не поддаётся дольше часа, запишите вопрос, отложите её и идите дальше. Возвращение через сутки решает задачу за десять минут в трёх случаях из четырёх.
Отдельно про темп чтения книг и статей. Классические учебники по языкам полезны, но не в качестве первого источника: они написаны системно и требуют выдержки. Первым источником лучше делать интерактивный курс или тренажёр, где после каждой темы сразу идёт задача, а книгу подключать вторым слоем, когда общая картина уже сложилась. Мы разбирали такой подход подробнее в материале как учить языки программирования самостоятельно.
План на 12 недель от первой строки до рабочего проекта

Вопрос «сколько времени нужно и сколько учиться, чтобы начать работать» звучит чаще остальных, поэтому сразу про сроки. Двенадцать недель это не срок «до работы», а срок до состояния, в котором вы способны самостоятельно написать и опубликовать небольшое приложение. План рассчитан на 8–10 часов в неделю и подходит для Python и JavaScript почти без изменений.
Недели 1 и 2: синтаксис и первые задачи
Устанавливаете язык и редактор, проходите базовый интерактивный курс, пишете первые скрипты. Цель недель: переменные, ввод и вывод, условия, циклы, простые функции. К концу второй недели у вас должно быть решено не меньше пятидесяти маленьких задач, каждая на 5–20 строк. Не читать про них, а решить.
Недели 3 и 4: коллекции, функции и файлы
Списки, словари, работа со строками, чтение и запись файлов, разбиение программы на функции. Здесь появляется первая программа длиннее одного экрана: например, скрипт, который берёт таблицу расходов и считает суммы по категориям. Тут же ставится Git и делается первый коммит.
Недели 5 и 6: ООП и чужой код
Классы и объекты, исключения, подключение сторонних библиотек. Ключевой навык этих недель звучит скучно, но стоит дороже остального: научиться читать документацию и чужой код. Возьмите любую популярную библиотеку своего языка и разберитесь, как ей пользоваться, по официальной документации, без видеоуроков.
Недели 7 и 8: данные и сеть
Базы данных и язык запросов SQL, HTTP-запросы, работа с чужими API. API это способ, которым одна программа просит данные у другой: ваш скрипт спрашивает у сервиса погоду, тот отвечает набором данных. Если тема кажется мутной, у нас есть отдельное объяснение: что такое API простыми словами. К концу восьмой недели вы умеете забрать данные из интернета, положить их в базу и достать обратно.
Недели 9 и 10: тесты, чистота и публикация
Пишете первые автотесты, переписываете старый код так, чтобы его было легко читать, разбираетесь, как выложить проект на сервер или хостинг. Умение опубликовать своё приложение, чтобы по ссылке его открыл посторонний человек, сильно поднимает вас над средним самоучкой.
Недели 11 и 12: свой проект
Всё время уходит на один проект от идеи до работающей ссылки. Не учебный клон из туториала, а что-то, чем вы сами хотя бы теоретически пользовались бы. Проект пишется с Git, README, обработкой ошибок и хотя бы парой тестов.
После двенадцати недель разница между направлениями становится большой, и дальше маршруты расходятся. Если тянет к браузеру и интерфейсам, дальше идёт путь фронтенд-разработчика, если ближе логика и данные на стороне сервера, то путь бэкенд-разработчика.
Программирование в эпоху нейросетей: как учиться с ИИ и не разучиться думать
Это главный вопрос, который новички задают в 2026 году, и половина ответов в интернете крайние: либо «учиться бессмысленно, всё напишет нейросеть», либо «нейросети чушь, пишите руками». Оба ответа неверные, и оба стоят человеку карьеры.
Что реально изменилось. Рутинный код, который раньше отнимал у джуниора первые полгода работы, теперь генерируется за минуту. Из-за этого компании перестали брать людей на позицию «руки, которые печатают» и стали искать тех, кто умеет поставить задачу, проверить сгенерированный код и понять, почему он ломается на реальных данных. Проверять то, чего сам не умеешь, невозможно, поэтому ценность базовых знаний выросла, а не упала.
Что при этом происходит с обучением. Автодополнение кода и готовые ответы работают против новичка сильнее всего именно на старте: задача решается за секунды, ощущение прогресса есть, навык не появляется. Ломание головы над тем, почему код не работает, это и есть само обучение, и если его убрать, останется копипаста.
Рабочее правило простое и держится на двух пунктах.
- Сначала сам, потом спрашиваем. Нейросеть подключается только после того, как вы написали своё решение, пусть кривое. Тогда её ответ становится разбором вашей работы, а не заменой ей.
- Режим «объясни», а не «напиши». Просите не готовый код, а объяснение ошибки, разбор чужого решения или вопросы к вашему коду. Формулировка «объясни, почему мой цикл выдаёт на один элемент меньше» учит, формулировка «напиши функцию» нет.
Практический совет по настройкам: на первые два месяца выключите автодополнение кода нейросетью в редакторе. Оставьте чат отдельно, чтобы обращение к нему было осознанным действием, а не тем, что происходит само, пока вы набираете строку. Какие инструменты вообще есть и чем они отличаются, мы разбирали в подборке нейросети для кода.
Проверка на себе. Раз в две недели решайте одну задачу полностью без подсказок, с выключенным интернетом. Если получается тяжелее, чем месяц назад, значит обучение подменилось генерацией и пора менять режим.
Как понять, что вы правда продвигаетесь
Самоучке не хватает не мотивации, а измерителя. Оценки никто не ставит, до работы далеко, и человек ориентируется на ощущения, которые врут. Вот проверяемые точки по месяцам, на которые можно опираться вместо ощущений.
| Срок | Что должно получаться | Проверка |
|---|---|---|
| 1 месяц | Пишете программы на 30–50 строк с условиями и циклами | Решаете задачу среднего уровня на тренажёре без подсказок |
| 2 месяца | Разбиваете программу на функции, читаете и пишете файлы, работаете с Git | В репозитории лежит проект с историей коммитов минимум за три недели |
| 3 месяца | Пользуетесь чужими библиотеками по документации, понимаете ООП | Подключили незнакомую библиотеку без видеоурока, только по её сайту |
| 4–5 месяцев | Забираете данные из интернета, храните их в базе, отдаёте пользователю | Работает свой сервис или бот, которым пользуется хотя бы один посторонний |
| 6–8 месяцев | Пишете тесты, читаете чужой код, разбираетесь в незнакомом проекте | Внесли правку в чужой открытый проект и её приняли |
| 8–14 месяцев | Проходите техническое собеседование на позицию джуниора | Дошли до финального этапа хотя бы в одной компании |
Отставание от таблицы на месяц-другой ничего не значит: люди учатся с разной скоростью и с разным количеством свободных часов. Значение имеет направление. Если за два месяца ни одна строчка кода не переехала из туториала в ваш собственный проект, дело не в скорости, а в способе обучения.
Полезная привычка: раз в месяц открывать код, написанный тридцать дней назад, и переписывать его заново. Через полгода вы будете видеть в нём то, чего не замечали, и это самое честное доказательство роста, которое существует.
Инструменты и окружение новичка

Начинать можно на любом ноутбуке, купленном за последние семь лет. Отдельная мощная машина не нужна: тяжёлые задачи вроде обучения нейросетей и сборки больших проектов появляются сильно позже, а до тех пор хватает восьми гигабайт оперативной памяти и любого процессора. Операционная система тоже почти не важна, хотя на macOS и Linux меньше мелких проблем с настройкой окружения.
Минимальный набор выглядит так.
- Редактор кода, он же IDE. VS Code бесплатный, работает со всеми языками и остаётся стандартом для новичков. PyCharm удобнее для Python, но у бесплатной версии урезаны возможности. У нас есть пошаговая инструкция, как создать и запустить файл Python в VS Code.
- Терминал. Командная строка, через которую запускают программы и ставят библиотеки. Освойте десяток команд в первую неделю: перейти в папку, посмотреть содержимое, запустить файл, установить пакет.
- Git и аккаунт на GitHub. Ставится в первый месяц, а не «когда научусь». История коммитов за весь период обучения сама по себе аргумент на собеседовании.
- Браузерные инструменты разработчика. Обязательны для JavaScript, полезны всем. Открываются клавишей F12 и показывают, что происходит внутри страницы. Из того же ряда понятие DOM-дерева, объектной модели документа, с которой работает любой фронтенд.
- Заметки. Любой блокнот, куда складываются решённые проблемы и команды. Через полгода это ваша личная база знаний, куда вы будете заглядывать чаще, чем в поиск.
Чего на старте точно не нужно: платная лицензия среды разработки, второй монитор, механическая клавиатура, курс по алгоритмам и структурам данных, изучение сразу трёх фреймворков. Всё это способы отложить момент, когда придётся писать код.
Портфолио: какие проекты собрать и что в них смотрят
Портфолио начинающего это три-четыре проекта на GitHub, доведённые до состояния «открыл ссылку и оно работает». Десять недоделанных репозиториев работают против вас: они показывают, что человек начинает и бросает. Один хорошо оформленный проект сильнее пяти сырых.
Такие проекты называют pet-проектами, то есть сделанными для себя. Идеи, которые не выглядят учебными и при этом посильны новичку:
- Трекер привычек или расходов. Данные, база, статистика, графики. Закрывает сразу половину базовых навыков.
- Телеграм-бот с полезной функцией. Напоминания, курс валют, расписание. Хорош тем, что им реально пользуются живые люди, и вы получаете обратную связь.
- Агрегатор данных. Скрипт собирает информацию с нескольких сайтов или из открытых API и складывает в одну таблицу или страницу.
- Небольшой сервис с авторизацией. Регистрация, вход, личный кабинет, сохранение данных пользователя. Показывает, что вы понимаете работу с сессиями и безопасностью.
- Инструмент под свою прошлую профессию. Самый сильный вариант для тех, кто меняет сферу. Бухгалтер делает калькулятор налогов, учитель генератор вариантов контрольных, логист расчёт маршрута. Работодатель видит и код, и понимание предметной области.
- Вклад в чужой открытый проект. Исправленная опечатка в документации или починенная мелкая ошибка в популярной библиотеке. Показывает, что вы умеете разобраться в чужом коде.
Теперь то, о чём почти не пишут: работодатель смотрит не на идею проекта, а на то, как он сделан. Вот на что реально падает взгляд тимлида, когда он открывает ваш репозиторий.
| Что смотрят | Что должно быть | Красный флаг |
|---|---|---|
| README | Что это, зачем, как запустить, скриншот или ссылка на работающую версию | Пустой файл или дефолтный текст |
| История коммитов | Десятки коммитов с внятными описаниями за несколько недель | Один коммит «init» со всем кодом сразу |
| Структура проекта | Код разложен по файлам и папкам по смыслу | Всё в одном файле на 800 строк |
| Обработка ошибок | Программа не падает, когда файла нет, а сеть недоступна | Работает только на идеальных данных |
| Тесты | Хотя бы несколько автотестов на ключевую логику | Тестов нет ни одного |
| Секреты | Пароли и ключи вынесены в переменные окружения | Токен бота лежит прямо в коде |
| Работающая версия | Ссылка на развёрнутый проект или бота, которого можно открыть | Только исходники, запустить нельзя |
Последний пункт таблицы стоит отдельного внимания. Разница между «код лежит в репозитории» и «вот ссылка, откройте и попробуйте» огромна: во втором случае человек прошёл через развёртывание, настройку окружения и починку того, что на его ноутбуке работало, а на сервере нет. Это ровно те навыки, за которые платят.
Восемь ошибок самоучек и как из них выбираться
- Туториал-ад. Человек проходит курс за курсом, всё понятно, но написать своё не выходит. Выход: после каждой темы делать маленький проект, которого не было в уроке, пусть на двадцать строк.
- Прыжки между языками. Месяц Python, месяц JavaScript, потом Go, потому что в чате сказали, что там зарплаты выше. Выход: зафиксировать язык на полгода письменно и не пересматривать решение.
- Чтение вместо набора. Код, прочитанный глазами, ощущается понятным и не запоминается. Выход: перепечатывать примеры руками, а потом воспроизводить их по памяти без подглядывания.
- Обучение без обратной связи. Полгода в одиночку, никто не видел ни строчки. Выход: тренажёры с автопроверкой, разборы в тематических чатах, публичный репозиторий.
- Погоня за фреймворками. Попытка учить React или Django раньше, чем язык под ними. Фреймворк на слабой базе превращается в набор заклинаний. Выход: сначала три месяца чистого языка.
- Страх ошибок. Новичок воспринимает красный текст в терминале как приговор и бросает. Выход: заводить привычку читать сообщение об ошибке целиком и вслух, прежде чем что-то менять.
- Идеальный план вместо кода. Недели уходят на подбор курса, сравнение редакторов и составление расписания. Выход: правило «сначала час кода, потом любые решения о том, как учиться».
- Генерация вместо обучения. Каждая задача уходит нейросети, все задачи решены, навык нулевой. Выход: правило «сначала сам, потом спрашиваем» из раздела выше.
Отдельно про сроки. Ощущение «я учусь уже три месяца и всё ещё ничего не умею» посещает практически всех. Оно нормальное: прогресс в программировании ступенчатый, недели без видимых сдвигов сменяются днями, когда вдруг становится понятно то, что месяц назад выглядело шифром. Единственный надёжный измеритель это сравнение своего кода трёхмесячной давности с сегодняшним.
Что происходит на рынке и как это меняет план
Смотреть на рынок стоит трезво, иначе первые отказы выбивают из колеи. Ситуация в 2026 году такая: резюме джуниоров заметно больше, чем открытых позиций, особенно во фронтенде, куда идёт основной поток новичков. При этом удалённых вакансий для начинающих стало больше, чем два года назад, а компании сместили требования: им нужен человек, который знает базу и умеет работать с генерацией кода как с инструментом, проверяя результат.
Что из этого следует практически, три вывода.
- Сроки честнее считать в 8–14 месяцев, а не в три. Три месяца это срок до первого работающего проекта, не до оффера. Курсы, обещающие трудоустройство за квартал, продают срок, а не результат.
- Массовые направления сложнее. Вход через тестирование, аналитику, 1С или бэкенд на Java статистически проще, чем через фронтенд, просто потому что туда меньше очередь. Про первое из них у нас есть разбор: кто такой инженер по тестированию и правда ли это лёгкий вход в IT.
- Стажировка сильнее курсов в резюме. Найти первую работу проще через неё, чем через отклики на вакансии. Даже неоплачиваемые три месяца в реальной команде дают то, чего не даёт ни один учебный проект: работу с чужим кодом, задачами от заказчика и код-ревью.
Про деньги без иллюзий: первая позиция редко приносит больше 60–90 тысяч рублей в регионах и до 120–150 в Москве, а серьёзный рост начинается на втором году. Актуальные цифры по конкретным направлениям мы держим отдельно, например сколько зарабатывает Python-разработчик.
Где учиться программированию с нуля
Четыре формата, у каждого своя цена и свой риск.
- Полностью самостоятельно. Бесплатно, максимальная свобода, самый высокий процент бросивших. Подходит людям с сильной самодисциплиной и хотя бы одним знакомым разработчиком, у которого можно спросить.
- Бесплатные интерактивные платформы. Stepik, открытые курсы вузов, документация с упражнениями. Дают структуру и автопроверку, но не дают живого человека, который посмотрит ваш проект.
- Онлайн-курсы с наставником. Главное, за что платят, это проверка домашних заданий и код-ревью, то есть та самая обратная связь. Второе по важности это готовая программа, избавляющая от вопроса «что учить дальше».
- Вуз. Долго, зато даёт фундамент по алгоритмам и математике, который тяжело добрать самому. Имеет смысл для школьников и для тех, кто целится в машинное обучение и системную разработку.
Разумная комбинация для взрослого человека с работой выглядит так: первые два месяца бесплатные материалы, чтобы проверить, нравится ли вам это вообще, и только потом платный курс, когда понятно направление. Так вы не платите за выяснение того, что программирование вам не подходит.
Мы собрали курсы для начинающих программистов в одном каталоге с ценами, длительностью и отзывами, чтобы сравнивать программы рядом, а не по вкладкам:
| Курс | Школа | Стоимость со скидкой | В рассрочку | Длительность | Обзор курса от Checkroi |
|---|---|---|---|---|---|
| Инженер-программист Перейти на сайт курса | 159 408 ₽ | 4428 ₽/мес. | 12 месяцев | Обзор курса | |
| Профессия «Программист С++» Перейти на сайт курса | 134 700 ₽ | 3742 ₽/мес. | 18 месяцев | Обзор курса | |
| Программист (Бакалавриат) Перейти на сайт курса | 330 000 ₽ | 27 500 ₽/мес. | 3 years | Обзор курса | |
| 1С-программист: вводный курс Перейти на сайт курса | Бесплатно | - | 4 недели | Обзор курса | |
| 1С-программист + ИИ: автоматизация и отчетность Перейти на сайт курса | Бесплатно | 4770 ₽/мес. | 9 месяцев | Обзор курса | |
| Инженер-программист станков чпу - курс переподготовки Перейти на сайт курса | 32 980 ₽ | 2748 ₽/мес. | 256 часов | Обзор курса | |
| Профессия программист на Python с нуля Перейти на сайт курса | 128 500 ₽ | 5354 ₽/мес. | Обзор курса | ||
| Программист Перейти на сайт курса | 60 000 ₽ | 10 000 ₽/мес. | Обзор курса | ||
| Python программист Перейти на сайт курса | КИДПО | 30 350 ₽ | 2529 ₽/мес. | 256 часов | Обзор курса |
| Инженер-программист Перейти на сайт курса | КИДПО | 30 350 ₽ | 2529 ₽/мес. | 256 часов | Обзор курса |
Больше программ — в полном каталоге курсов для программистов
Чек-лист старта
Если хочется начать сегодня, вот девять шагов, каждый из которых занимает от пяти минут до одного вечера.
- Ответьте одним предложением, что хотите сделать своими руками через три месяца.
- Выберите язык по таблице выше и запретите себе пересматривать выбор полгода.
- Установите редактор кода и сам язык, запустите первую программу с выводом текста.
- Заведите аккаунт на GitHub и сделайте первый коммит в тот же день.
- Выберите один интерактивный курс и один тренажёр с задачами.
- Поставьте в календарь конкретные часы занятий на будни и защитите их от всего остального.
- Выключите автодополнение кода нейросетью на первые два месяца.
- Заведите файл заметок для решённых проблем и полезных команд.
- Придумайте свой первый проект, запишите его в одно предложение и вернитесь к нему на девятой неделе.
Дальше всё решает не талант и не возраст, а то, откроете ли вы редактор завтра вечером. Программирование остаётся одним из немногих ремёсел, где путь от нуля до работающего результата человек проходит сам, дома, без чужого разрешения, и единственный необходимый ресурс это регулярность.




