Найти в Дзене
Первый опыт

Актуальный роадмап бэкэнд разработчика на Python с материалами и планом обучения 🐍

Оглавление

Это общий роадмап. Мы ориентируемся на него, но корректируем индивидуально под каждого, в зависимости от бэкграунда.

Как учиться

Изучение начинаем с Python. Выбираем книжку, в зависимости от своего опыта, и начинаем погружаться в программирование на питоне.

Когда начали уверенно чувствовать себя в написании кода, переходим к вебу (основы+фреймворк) и базам данных.

После этого составляем резюме и выходим на рынок.

О нашем проекте

Учиться это круто. Весь свой путь разработчика вы будете получать новые знания и навыки, с момента написания вашей первой строчки кода, до выхода на топовые позиции на рынке. Мы помогаем учиться быстрее и эффективнее.

О нас можно почитать тут.

Пишите в тг и залетайте к нам в тусовку.

Мы поможем вам с выходом на рынок и устройством на первую работу, если вы только начинаете свой путь в разработке.
Если вы уже имеете опыт в разработке - поможем в профессиональном росте и получение более крутых офферов.

Материалы:

1. Python.

1. Учимся программировать с примерами на Python. Эрик Фримен. - Основы языка + основы программирования. Идеальная книжка для первого погружения в программирование.

2. Изучаем Python. Программирование игр, визуализация данных, веб-приложения. Эрик Мэтиз. - Ускоренный курс по питону, если писали на другом языке, но не сильно погружены в программирование.

3. Python Tricks: A Buffet of Awesome Python Features. Dan Bader. - Если писали на другом языке и сильно погружены в программирование. Или если писали на питоне, но чувствуете, что не хватает уверенности в своих силах и не до конца понимаете, что вы делаете. Позволяет структурировать свои знания по питону и начать лучше понимать код.

4. Бонус: Fluent Python 2nd ed. Лусиано Рамальо. - продвинутая теория по Python. Сложные штуки, чтобы блестнуть углубленными знаниями на собесе. Читать можно, когда уверенно владеешь питоном и написал несколько своих проектов или поработал хотя бы полгода.

2. Управление зависимостями и проектом.

1. pip - Запомнить как установить пакет, удалить его и как посмотреть список установленных пакетов.

2. venv - Как создать и активировать виртуальное окружение.

3. .env - Почему не стоит хранить секреты в коде и как их подгружать из файла .env.

4. poetry. статья - Разобраться почему удобнее pip и venv, как управлять зависимостями через поетри.

5. git - Что основного есть в гите, как закомитить код, как запушить комит, как создать ветку, как смержить ветку.

3. Web

1. Клиент-сервер архитектура

2. HTTP/HTTPs. Websocket - статья 1, статья 2

3. Web API - статья 1, статья 2 , статья 3

Акцент делаем на REST, остальные виды для общего развития.

4. Фреймворк для web разработки.

1. FastAPI

2. Django

5. Базы данных

1. Основы - Смотрим видео + статьи.

2. ОРМ

6. Разработка

1. ШБР яндекса - Закрывает очень много тем, есть несколько плейлистов разных потоков в разные годы. Можно смотреть сразу после того, как начали уверенно писать код на питоне. Сначала многое может быть не понятно, но это заложет фундамент. Курсы ШБР закроют много тем, таких как Тестирование, DevOps, Архитектура, Асинхронное программирование и прочее.

2. Высоконагруженные приложения. Программирование, масштабирование, поддержка. Клеппман Мартин. Поможет сильно прокачаться в разработке и разобраться в таких темах, как базы данных, работа веб приложений и т.д.

3. Паттерны проектирования. Эрик Фримен, Элизабет Фримен. Название книжки говорит само за себя, поможет сильно разобраться в архитектуре кода. Примеры на java, но легко читаются, даже если вы никогда не писали на ней.

Роадмап:

Можно сверятся с ним во время обучения, чтобы не упустить важные темы

1. Python.

1. Базовый синтаксис. Условия, переменные, циклы.

2. Типы данных, операции над ними.

1. int.

2. float.

3. bool.

4. NoneType.

5. str.

6. bytes. bytearray.

7. list.

8. tuple.

9. set. frozenset.

10. dict.

3. Функции. Область видимости переменной. Стек вызовов. lambda

4. Алгоритмы.

1. Рекурсия.

2. Оценка сложности алгоритмов.

3. Алгоритмы сортировки списков.

4. Алгоритмы поиска в списках.

5. Обработка ошибок. Try/except.

6. ООП.

1. Классы и объекты.

2. Аттрибуты и методы.

3. Наследование, полиморфизм, инкапсуляция.

4. SOLID.

5. MRO.

6. Slots.

7. Структуры данных.

1. Массив.

2. Связанный спискок.

3. Стек.

4. Куча.

5. Очередь.

6. Множество.

7. Map.

8. Binary search tree.

9. Алгоритмы, связанные с этими структурами данных.

8. Итераторы, генераторы. Контекстный менеджер.

9. ABC. typing.Protocol.

10. Сборщик мусора.

11. List comprehension, generator expression.

12. Декораторы.

13. Requests.

14. Асинхронное программирование. Asyncio. Aiohttp.

15. Процессы и потоки. GIL.

16. Python data model. (*)

17. Интерпретаторы для python. Cpython, pypy, jython, ironpython. (*)

2. Управление зависимостями и проектом.

1. Pip.

2. venv. Виртуальное окружение.

3. .env. Переменные окружения.

4. poetry. (*)

5. Git.

3. Web.

1. Клиент-сервер архитектура.

2. HTTP/HTTPs. Websocket.

3. Web API.

1. REST API.

2. GraphQL. (*)

3. gRPC. (*)

4. Модель OSI. Протоколы этих уровней. (*)

4. Фреймворк для web разработки.

1. FastAPI.

2. Django.

5. Базы данных.

1. Виды баз данных. Возможности применения.

2. SQL БД.

1. Язык SQL.

1. DML, DDL, DSL, TCL. Как определять схемы данных. Как их заполнять и получать из них данные.

2. Индексы.

3. Транзакции. ACID.

4. Блокировки.

3. NoSQL БД.

1. Виды NoSQL баз, области их применения.

1. Кэш. Redis.

2. Брокеры сообщений. Redis, kafka, rabbitMQ.

3. Колоночные БД. Clickhouse. (*)

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

1. Pytest.

2. Виды тестов.

1. Smoke.

2. Unit.

3. Integration. (*)

7. DevOps.

1. Linux основы.

2. Docker.

3. CI/CD.

4. K8s. (*)

5. Мониторинг. (*)

1. Grafana (*)

2. ELK (*)

3. Prometheus (*)

8. Проектирование архитектуры.

1. Паттерны проектирования.

2. Виды архитектуры.

1. MVC.

2. Монолит vs микросервис.

3. Domain-driven. (*)

4. Event-driven. (*)

5. CQRS. (*)

3. Распределенные системы. CAP теорема. (*)

4. Высоконагруженные системы. (*)

Наука
7 млн интересуются