Road map python разработчика

Ультимативный Roadmap для Python-разработчика в 2023 году + источники знаний

Python — один из самых популярных языков программирования в мире. Статистика современного рынка свидетельствует о том, что Python желаемый навык, и что его использование широко распространено в различных сферах, таких как наука, инженерия, бизнес, аналитика данных и многих других.

Рисунок от mdjrn

Если вы уже определились с выбором Python в качестве основного языка программирования, рекомендуется обратить внимание на мой roadmap, который позволит лучше ориентироваться в выборе учебных материалов и понимать, как развиваться в этой сфере.

В данной статье мы рассмотрим roadmap по изучению Python на 2023 год, который специально составлен для помощи начинающим и опытным программистам. Вы также найдете необходимые ссылки на ресурсы для улучшения своего знания в Python.

Основы Python:

  • Типы данных и структуры (целые числа, дробные числа, строки, списки, кортежи, словари, множества)
  • Переменные и выражения
  • Условные операторы (if / else)
  • Циклы (for / while)
  • Функции
  • Ввод / вывод (print, input) Мощный и хороший курс по базе PythonТуториал по Питону от создателейБаза от Тимофея Хирьянова В целом пройдя первый курс и просмотрев лекции от Тимофея вы сможете покрыть значительную часть перечисленных далее пунктов.

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

  • Классы и объекты
  • Наследование
  • Полиморфизм
  • Инкапсуляция
  • Абстракция
  • Переменные класса и объекта Введение в ООПКурс на Youtube про ООП

Функциональное программирование:

  • Чистые функции
  • Функции высшего порядка
  • Рекурсия
  • Лямбда-выражения
  • Map, filter, reduce, zip Про функциональное программирования на канале Тимофея ХирьяноваПро функциональное программирование подробнееПро Map, filter, reduce, zip
Читайте также:  Python get all mac address

Модули и библиотеки:

  • Импортирование модулей
  • Создание модулей
  • Использование сторонних пакетов (pip)
  • Написание документации (docstrings) Про модули с документацииИнтересные библиотеки python

Работа с файлами:

  • Открытие и чтение файлов
  • Запись в файлы
  • Закрытие файлов
  • Работа с CSV / JSON / XML-файлами Про работу с файламиCSV

Разработка графических интерфейсов (GUI):

Регулярные выражения:

  • Поиск шаблонов
  • Метасимволы
  • Квантификаторы
  • Группы
  • Подстановка Плейлист про регулярные выражения на Youtube

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

  • Модульное тестирование (unittest)
  • Интеграционное тестирование
  • Разработка через тестирование (TDD)
  • Отладка Про unittestХороший гайд на Хабре

Управление версиями в GIT:

  • Рабочий процесс и управление версиями в системе Git
  • Ветвление и объединение
  • Запросы на слияние и обзоры кода
  • Управление конфликтами слияния Полный гайд по GitПро гит подробнееCтатья на Хабре про Git

Оптимизация:

  • Профилирование
  • Управление памятью
  • Анализ времени выполнения
  • Рефакторинг кода Статья про оптимизацию кодаНа Youtube про рефакторинг кодаУправление памятью

Параллельное выполнение:

Управление базами данных:

  • SQL
  • Реляционные базы данных (MySQL, PostgreSQL)
  • Нереляционные базы данных (MongoDB)
  • Объектно-реляционное отображение (ORM) Курс по базам данных от VK team на YoutubeМой roadmap по SQL

Сетевое программирование:

  • Программирование сокетов
  • Подключения TCP / UDP
  • Отправка / получение электронной почты (smtplib, imaplib) Про сокеты и т.п.Про TCP и UDP

Развертывание:

  • Виртуальные среды (venv)
  • Распространение пакетов (wheel)
  • Непрерывная интеграция / непрерывное развертывание (CI / CD)
  • Docker Про venvDocker
  • Интерфейс командной строки (Click)
  • Работа с API-интерфейсами
  • Сериализация / десериализация данных (pickle, json, yaml) Pickle

Веб-разработка(опционально):

  • HTML / CSS
  • Запросы HTTP
  • Flask / Django
  • REST API
  • Веб-скрапинг (BeautifulSoup) DjangoHTML & CSSREST API

Анализ данных(опционально):

  • NumPy / SciPy
  • Pandas
  • Matplotlib / Seaborn
  • Обработка естественного языка (NLTK) Введение в PandasNumPyMatplotlib

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

Структуры данных и алгоритмы:

  • Базовые структуры данных (стеки, очереди, связные списки, деревья, графы)
  • Поиск и сортировка алгоритмов
  • Анализ сложности (нотация O большое)
  • Динамическое программирование
  • Рекурсия Структуры данных и алгоритмыРекурсия

Решение проблем и критическое мышление:

  • Анализирование проблем и требований
  • Разбиение проблем на более мелкие части
  • Генерация творческих решений

Жизненный цикл разработки программного обеспечения:

  • Анализ требований
  • Проектирование архитектуры программного обеспечения
  • Реализация кода
  • Тестирование и отладка кода
  • Развертывание и поддержка
  • Методологии Agile-разработки (например, Scrum) Статья на ХабреAgile

Качество кода:

  • Обзоры кода и лучшие практики чистого кодирования
  • Справочники по стилю кодирования (например, PEP8)
  • Тестирование и разработка через тестирование
  • Рефакторинг кода для улучшения качества и обслуживаемости PEP8

Коммуникация и сотрудничество:

  • Написание четкой и краткой документации
  • Средства совместной работы, такие как Jira
  • Эффективное общение с коллегами и заинтересованными сторонами
  • Работа в команде с использованием систем управления версиями, таких как Git Кратко про документациюКраткий курс по Jira

И самое главное — непрерывное обучение:

  • Дополнительное образование, такое как статьи, книги и онлайн-курсы,
  • Слежение за тенденциями в индустрии и обновлениями в Python и связанных технологиях,
  • Изучение лучших практик и новых подходов к разработке.

Хорошая книга по Python — «Изучаем Python» от Марка Лутца

Учебник по алгоритмам и структурам данных: https://habr.com/ru/post/241696/

Больше практики по Python:

Таким получился Roadmap. Спасибо за твое доверие, если ты будешь следовать по нему.

Так же можете ознакомиться с моим roadmap по SQL.

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Roadmap for becoming Python developer.

License

ErdemOzgen/Python-developer-roadmap

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Roadmap to becoming a Python developer in 2022-2023: Below you can find a chart demonstrating the paths that you can take and the libraries that you would want to learn to become a Python developer. I made this chart as a tip for everyone who asks me, «What should I learn next as a Python developer?«

The purpose of this roadmap is to give you an idea about the landscape. The road map will guide you if you are confused about what to learn next, rather than encouraging you to pick what is hype and trendy. You should grow some understanding of why one tool would be better suited for some cases than the other and remember hype and trendy does not always mean best suited for the job.

If you like or are using this project to learn or start your solution, please give it a star. Thanks!

Roadmap

  • Add Microservices
  • Good to Know Libraries
  • Add API Clients
  • Add extra subtree for data process and data manipulation
  1. Prerequisites
    • Python
    • Python Modules
    • SQL
  2. General Development Skills
    • Learn GIT, create a few repositories on GitHub, share your code with other people
    • Know HTTP(S) protocol, request methods (GET, POST, PUT, PATCH, DELETE, OPTIONS)
    • Don’t be afraid of using Google, Power Searching with Google
    • Read a few books about algorithms and data structures
    • Learn about implementation of a basic Authentication
    • Solid principles, architectural & design patterns, ecc
    • Basics of software testing (unit, integration, e2e)
  3. CLI Tools
    1. google/python-fire
    2. click
    1. Flask
    2. Django
    1. Relational
      1. SQL Server
      2. PostgreSQL
      3. MariaDB
      4. MySQL
      • CosmosDB
      • DynamoDB
      • ElasticSearch
      • Solr
      • Sphinx
      • MongoDB
      • Redis
      • Apache Cassandra
      • RavenDB
      • CouchDB
      1. Django ORM
      2. SQLAlchemy
      3. Extra
      1. Memcached
      2. Distributed Cache
        1. Redis
        2. Memcached
        1. Log Frameworks
          • Delgan/loguru
          • Coloredlogs
        2. Log Management System
          • Sentry.io
          • Loggly.com
        3. Distributed Tracing
          • Jaeger
        1. SignalPy
        2. Socket.IO
        1. REST
        2. GraphQL
        1. NLTK
        2. TensorFlow
        3. Keras
        4. PyTorch
        5. Scikit-Learn
        6. Pandas
        7. Numpy
        1. Unit, Behavior, Integration Testing
          1. Pytest-mock
          2. Testify
          3. Robot
          4. Pytest
          5. Doctest
          6. Pytest-bdd
          7. Cucumber
          8. Dockertest
          • Selenium
          • Endly
          • scedule
          • Advanced Python Scheduler
          • RabbitMQ
          • Apache Kafka
          • ActiveMQ
          • Azure Service Bus

          If you think the roadmap can be improved, please do open a PR with any updates and submit any issues. Also, I will continue to improve this, so you might want to star this repository to revisit.

          The roadmap is built using Draw.io. Project file can be found at python-developer-roadmap.xml file. To modify it, open draw.io, click Open Existing Diagram and choose xml file with project. It will open the roadmap for you. Update it, upload and update the images in readme and create a PR (export as png with 400% zoom and minify that with Compressor.io).

          • Open a pull request with improvements
          • Discuss ideas in issues
          • Spread the word

          About

          Roadmap for becoming Python developer.

          Источник

Оцените статью