Материал

Python tooling

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

Python и web

  • Фреймворки: Django, Django REST Framework, FastAPI, Flask.
  • Работа с данными: Django ORM, SQLAlchemy, Alembic.
  • Тестирование: pytest, unittest, интеграционные и end-to-end-тесты.
  • Качество кода: Ruff, mypy, Black, pre-commit; в существующих проектах также встречаются Flake8 и isort.
  • Запуск web-приложений: Uvicorn, Gunicorn.
  • Другие библиотеки: aiogram для Telegram-ботов.

Базы данных, кэши и очереди

  • Реляционные БД: PostgreSQL, MySQL.
  • Аналитические БД: ClickHouse.
  • Кэши и NoSQL: Redis, Memcached, MongoDB.
  • Брокеры сообщений: Apache Kafka, RabbitMQ.
  • Фоновые и периодические задачи: Celery; Apache Airflow — прежде всего для оркестрации data pipelines.

Наблюдаемость

  • Логи: Elasticsearch, Logstash и Kibana (ELK/Elastic Stack).
  • Метрики и дашборды: Prometheus, Grafana, Datadog.
  • Ошибки и трассировка: Sentry и другие APM-инструменты.

Инфраструктура

  • CI/CD: GitLab CI/CD, GitHub Actions.
  • Контейнеры и оркестрация: Docker, Docker Compose, Kubernetes.
  • Базовые инструменты: Linux, Git, Nginx, S3-совместимые объектные хранилища.

Дополнительные технологии

Они реже нужны на старте, но могут встречаться в конкретных командах:

  • Helm, Ansible, HashiCorp Vault и Consul;
  • DynamoDB, Cassandra, Aerospike и Tarantool;
  • Docker Swarm и Rancher.

Официальные источники