Here is an overview of technologies that are often found in Python developer vacancies. You don’t need to know the entire list equally deeply: it is important to understand the purpose of each tool and confidently master the stack that is needed for the chosen role.
Python and web
- Frameworks: Django, Django REST Framework, FastAPI, Flask.
- Working with data: Django ORM, SQLAlchemy, Alembic.
- Testing: pytest,
unittest, integration and end-to-end tests. - Code quality: Ruff, mypy, Black, pre-commit; Flake8 and isort are also found in existing projects.
- Launching web applications: Uvicorn, Gunicorn.
- Other libraries: aiogram for Telegram bots.
Databases, caches and queues
- Relational databases: PostgreSQL, MySQL.
- Analytical databases: ClickHouse.
- Caches and NoSQL: Redis, Memcached, MongoDB.
- Message Brokers: Apache Kafka, RabbitMQ.
- Background and periodic tasks: Celery; Apache Airflow - primarily for orchestrating data pipelines.
Observability
- Logs: Elasticsearch, Logstash and Kibana (ELK/Elastic Stack).
- Metrics and dashboards: Prometheus, Grafana, Datadog.
- Errors and trace: Sentry and other APM tools.
Infrastructure
- CI/CD: GitLab CI/CD, GitHub Actions.
- Containers and orchestration: Docker, Docker Compose, Kubernetes.
- Basic tools: Linux, Git, Nginx, S3-compatible object storage.
Additional technologies
They are less often needed at the start, but can be found in specific teams:
- Helm, Ansible, HashiCorp Vault and Consul;
- DynamoDB, Cassandra, Aerospike and Tarantool;
- Docker Swarm and Rancher.
Official sources
- Python documentation
- Django documentation
- FastAPI documentation
- SQLAlchemy documentation
- pytest documentation
- Docker documentation
- Kubernetes documentation