Решён
Что нужно изучать начинающему программисту?

Игорь Стройка Python
7.5k
7

Начал учить программирование, пока смотрю видео на ютубе по Python. Написал пару скриптов, калькулятор, угадайку числа. Дальше не понимаю куда двигаться.

Везде пишут разное: кто то говорит учи алгоритмы, кто то фреймворки, кто то сразу пет-проект делай. Голова кругом от количества информации.

Что реально нужно изучить в первую очередь чтобы не тратить время впустую? В каком порядке? Направление пока не выбрал, но скорее бэкенд.

Решение
91
Участник • 5 ответов

Калькулятор и угадайка - хороший старт, значит синтаксис базовый уже освоил. Дальше по порядку:

Этап 1 (1-2 месяца): Углубление Python

  • ООП: классы, наследование, инкапсуляция, полиморфизм. Без этого не напишешь ничего серьезнее скрипта.
  • Работа с файлами (чтение/запись JSON, CSV).
  • Обработка ошибок (try/except).
  • Модули и пакеты, виртуальные окружения (venv).
  • List comprehensions, генераторы, декораторы.

Этап 2 (1-2 месяца): Инструменты разработчика

  • Git + GitHub. Сделай аккаунт и пуш каждый проект. Привыкай коммитить.
  • Командная строка (bash/terminal).
  • SQL: PostgreSQL или SQLite. SELECT, JOIN, GROUP BY, INSERT, UPDATE. Напиши 20-30 запросов к учебной базе.
  • HTTP и REST API: что такое GET/POST, статус-коды, JSON. Попробуй подергать публичные API (погода, курсы валют) через requests.

Этап 3 (2-3 месяца): Первый фреймворк
Для бэкенда на Python два пути:

  • Django ("батарейки в комплекте", больше вакансий в РФ, ORM встроенная).
  • FastAPI (современный, быстрый, проще для понимания, но меньше вакансий для джунов).

Начни с Django. Сделай проект: блог с авторизацией, CRUD-операциями и деплоем на бесплатный хостинг (Render, Railway). Это твой первый проект в портфолио.

Этап 4 (1-2 месяца): Алгоритмы + подготовка к собесам

  • Базовые структуры данных: массивы, связные списки, стек, очередь, хеш-таблица, дерево.
  • Базовые алгоритмы: бинарный поиск, сортировки, рекурсия, BFS/DFS.
  • Codewars или LeetCode Easy: 50-100 задач.

Что НЕ учить сейчас:

  • Docker, Kubernetes, микросервисы. Это для мидлов.
  • Машинное обучение, если идешь в бэкенд.
  • Второй язык программирования.

Итого: при занятиях 2 часа в день за 6-9 месяцев выйдешь на уровень, достаточный для первых собеседований.

Аватар Игорь Стройка

Вот это я искал, четкий план. Распечатал и повесил над монитором. Спасибо огромное

53
Участник • 1 ответ

Забудь про видео на ютубе. Серьезно. Ютуб создает иллюзию обучения. Ты смотришь как кто-то пишет код, тебе кажется что все понятно, а потом открываешь редактор и не можешь написать ничего сам.

Учись по интерактивным платформам где пишешь код руками:

  • Stepik (бесплатные курсы на русском, есть отличный "Поколение Python")
  • Pythontutor.com (визуализация выполнения кода)
  • Официальный туториал Python (docs.python.org/3/tutorial)

Правило 80/20: 80% времени пиши код, 20% читай/смотри теорию. Не наоборот.

40
Участник • 2 ответа

Сделай что нибудь полезное для себя лично. Не абстрактный проект "для портфолио", а решение своей реальной задачи.

Примеры:

  • Бот в телеграме который напоминает о делах
  • Скрипт который парсит цены на товар и присылает уведомление когда цена падает
  • Простой трекер привычек с сохранением в SQLite

Когда решаешь свою проблему, мотивация в 10 раз выше чем при прохождении очередного туториала. И ты начинаешь гуглить не "как работает цикл for", а "как отправить сообщение в телеграм через API". Второй тип запросов учит быстрее.

18
Участник • 2 ответа

Непопулярное мнение: начни с алгоритмов, а не с фреймворков.

Фреймворки меняются каждые 2-3 года. Django, Flask, FastAPI, Litestar. Алгоритмическое мышление остается навсегда. Если ты понимаешь как работает хеш-таблица, тебе без разницы на каком языке и фреймворке работать.

Knuth "The Art of Computer Programming" конечно перебор, но хотя бы пройди курс "Алгоритмы" от Яндекса на Stepik или "Algorithms" от Princeton на Coursera (бесплатно).

Все говорят "сначала практика, теория потом". А потом эти же люди пишут O(n^3) алгоритмы на работе и удивляются почему все тормозит.

Аватар Алина

Для джуна O(n^3) vs O(n) вообще не проблема, потому что данных мало. Алгоритмы важны, но тратить на них 3 месяца в начале пути - верный способ выгореть и бросить

27
Эксперт • 2 ответа

тестирование! все забывают про тестирование

научись писать тесты с самого начала. pytest, unittest. когда придешь на работу и покажешь что умеешь писать тесты, тебя будут любить. серьезно, большинство джунов вообще не знают что это такое

плюс тесты помогают тебе самому: написал функцию, написал тест, уверен что работает. не надо каждый раз руками проверять

33
Участник • 2 ответа

Главное - не застрять в "вечном обучении". Tutorial hell это реальная проблема. Ты проходишь курс за курсом, чувствуешь что учишься, но ничего не создаешь.

Мой индикатор: если за последние 2 недели ты не написал ни одного файла с кодом который делает что то полезное, ты не учишься программировать. Ты смотришь видео про программирование. Это разные вещи.

3
Участник • 1 ответ

тоже начинаю, прошел уже 4 курса на степике и 2 на ютубе, все понимаю когда смотрю но сам не могу написать ничего сложнее цикла, это нормально вообще? или у меня просто нет способностей к этому?

Аватар Юлия Степанова

Это нормально. Смотреть и делать это разные навыки. Закрой ютуб, открой редактор и начни писать с нуля. Будет больно первые пару недель, потом щелкнет

Написать ответ

Премодерация гостей

Вы отвечаете как гость. Ваш ответ будет скрыт до проверки модератором. Чтобы ответ появился сразу и вы получали репутацию — войдите в аккаунт.

Будьте вежливы и соблюдайте правила платформы.