[Stepik] Роадмап деда-программиста. Python бэкенд с 0 до джуна

100

Подробное пошаговое руководство (роадмап) по самостоятельному освоению профессии «Python бэкенд-разработчик». Рассказываю простыми словами что изучать, для чего, насколько глубоко. Что можно пропустить, а что суперважно. Сколько времени уйдет на каждую тему. На каких бесплатных ресурсах изучать и почему именно там. Рассказываю о своем опыте самообучения. И главное, по каждой теме — даю реальные вопросы из собеседований.

Чему вы научитесь

  • Вы пройдете весь путь овладения профессией Python бэкенд-разработчик. От полного нуля до уровня Junior.
  • Вы освоите ядро языка Python, все необходимые бэкенд-разработчику библиотеки, фреймворки Django и Flask, а так же все нужные сервисы и технологии.
  • После завершения этого роадмапа вы будете готовы к тому, чтобы готовиться к собеседованию и рассылать резюме.
  • Путь будет сложный и долгий. Вы должны понимать, что ни этот родамап, ни любой другой, ни платный курс, ни самый лучший ментор не сделают из вас программиста. Учиться вам всегда придется самим, нарабатывать навык программирования — тоже.

О курсе

Этот роадмап — это мой подробный рассказ про каждый шаг, который вам нужно будет сделать. Я виртуально беру вас за руку и прохожу весь путь с самого начала и рассказываю все, что я знаю. Моей главной целью было максимально облегчить процесс самообучения для вас.
По каждой теме:

  • Я объясняю для чего нужно ее изучать.
    Нужно понимать к какому элементу большого паззла вы приступаете и насколько он важен для всей картины.
  • Говорю сколько времени примерно займет обучение.
    Чтобы можно было понять сколько времени и сил стоит потратить на эту тему. Стоит ли вникать до самых глубин и закапываться на 3 месяца или достаточно получить основы за 3 дня и идти дальше?
  • Рассказываю насколько важно эту тему знать
    Я разделяю обучающихся на два типа — тот кто изучает для себя и тот кто хочет устроиться на работу.
    Так вот для тех, кто изучает программирование как хобби, есть вещи совсем не обязательные для изучения. Я подскажу что можно пропустить или ограничиться только общими базовыми знаниями.
  • Даю лучшие бесплатные ресурсы
    Каждая ссылка на видеокурс, туториал, статью или книгу — отобраны лично мной. По многим из них я сам обучался и возвращаюсь к ним до сих пор, а так же много ресурсов, которые я нашел уже позже. Я отбирал их по принципу: чтобы было максимально понятно, не устарело и было сразу применимо на практике. Про каждую ссылку я рассказываю почему я даю именно ее.
  • Даю дополнительные и альтернативные материалы
    — тоже отобранные лично мной. На случай если основной мой выбор вам не подойдет. По каждой ссылке так же даю описание.
  • Предлагаю темы для самостоятельного написания программ
    Обучение обязательно должно идти через практику. Через самостоятельное написание программ. И не так то это и просто — найти себе задачу чтобы написать программу ее решающую. Я помогу вам в этом.
  • Рассказываю как учился я сам
    По каждой теме расскажу как учился я сам, какие ошибки совершал, чтобы вы не наступали на мои грабли
  • И наконец — даю реальные вопросы из собеседований по этой теме
    Я перелопатил весь интернет, изучил все возможные вопросы с собеседований на позицию Junior бэкенд-разработчик на Python, сгруппировал их по темам и оформил их в виде тестов. Считайте что по каждой теме вы пройдете настоящее мини-собеседование. Вы будете готовы к вопросам и поймете их сложность. Предупрежден — значит вооружен.

Для кого этот курс
Для людей любого возраста, решивших САМОСТОЯТЕЛЬНО, без использования платных курсов или онлайн-школ, изучить программирование на языке Python и развиться до уровня Джуниор бэкенд-разработчика. То есть до уровня, когда вы уже готовы рассылать резюме, ходить на собеседования и устраиваться на работу.

Начальные требования
Можно не иметь никаких начальных навыков, курс начинается с самых базовых основ.
Вам будет легче обучаться если вы с компьютером «на ты», хотя бы раз переустанавливали windows или устанавливали драйверы, работали с Excel.
Если изучали программирование в школе или институте — еще лучше.
Если получали от программирования удовольствие — совсем хорошо
Программа курса
Введение

  1. Для кого этот роадмап
  2. Об авторе
  3. Что будет в этом роадмапе
  4. На какой срок обучения рассчитывать
  5. Как учиться (очень важный пункт!)

Войдите в тему

  1. Основы Computer Science
  2. IT — сообщество
  3. Английский язык
  4. Компьютер для обучения

Решите технические вопросы

  1. Установка Python
  2. Установка IDE
  3. Установка виртуального окружения

Ядро Python. Часть 1.

  1. Что это и как изучать
  2. Где изучать
  3. Вопросы с собеседований

Освойте сodewars.com

  1. Codewars.com

Напишите свою первую реальную программу

  1. Напишите первую реальную программу

Ядро Python. Часть 2.

  1. Что и где учить
  2. Вопросы с собеседований

Чистый код и PEP 8

  1. Чистый код
  2. PEP 8
  3. Вопросы с собеседований

Напишите свою вторую реальную программу

  1. Напишите вторую реальную программу

Ядро Python. Часть 3.

  1. Что и где учить
  2. Вопросы с собеседований

Напишите свою третью, четвертую и пятую реальные программы

  1. Продолжайте писать программы для себя

Git и GitHub

  1. Git и GitHub
  2. Вопросы с собеседований

Объектно-ориентированное программирование

  1. ООП
  2. Вопросы с собеседований

Алгоритмы и структуры данных

  1. Алгоритмы и структуры данных
  2. Вопросы с собеседований

Работа с данными

  1. Работа с данными
  2. Библиотека pandas
  3. Демо-доступ
  4. Вопросы с собеседований

Тестирование

  1. Тестирование
  2. Вопросы с собеседований

Начинаем работать с веб

  1. Протокол HTTP. HTTP запросы.
  2. Библиотека requests
  3. Демо-доступ
  4. Интерфейс API. REST API
  5. Формат JSON
  6. Вопросы с собеседований

Фреймворк Flask

  1. Flask
  2. Вопросы с собеседований

Фронтенд

  1. Зачем бэкендеру фронтенд?
  2. HTML
  3. CSS
  4. JavaScript
  5. Bootstrap
  6. JS — фреймворки — React, Angular, Vue.js
  7. Вопросы с собеседований

Напишите ваше первое веб-приложение на Flask

  1. Первое простое веб-приложение на Flask

Деплой вашего веб-приложения на сервер

  1. Linux
  2. Deploy to production
  3. Вопросы с собеседований

Базы данных. Язык SQL.

  1. Базы данных
  2. Язык SQL
  3. ORM
  4. Вопросы с собеседований

Напишите второе веб-приложение на Flask — с базой данных

  1. Ваше второе приложение на Flask, уже с базой данных

Django

  1. Фреймворк Django
  2. Вопросы с собеседований

Напишите первое веб-приложение на Django

  1. Первое приложение на Django

Django REST Framework

  1. Django REST Framework
  2. Вопросы с собеседований

Начните ваше главное и полноценное веб-приложение на Django

  1. Главное веб-приложение на Django

Начните искать стажировку и писать резюме

  1. Начинайте проявлять активность

Docker

  1. Docker
  2. Вопросы с собеседований

Асинхронность. Библиотека asyncio.

  1. Асинхронное программирование
  2. Вопросы с собеседований

Что еще нужно знать

  1. Что еще нужно знать

Готовьте резюме, готовьтесь к собеседованию, ищите работу

  1. Готовьте резюме
  2. LinkedIn
  3. Готовьтесь к собеседованиям
  4. Конец роадмапа