We are looking for an engineer with deep expertise in the Django ecosystem who understands the principles of building high-load systems, writes typed code, and is experienced in working with distributed tasks.
Required Skills & Experience: — Python Expert: Deep understanding of Python 3.8+ (asyncio, memory management, internals). — Django 4.2+: Deep knowledge of ORM (SQL query optimization, select_related/prefetch_related, complex aggregations). — Django Templates: Strong understanding of the Django templating system (template inheritance, custom template tags/filters, context processors, template loaders, caching strategies). — Django REST Framework (DRF): RESTful API design, serializer customization, permissions, throttling. — Documenting: Experience working with drf-yasg (Swagger/OpenAPI). — Elasticsearch 7.x: Experience building faceted search, filtering, and product ranking. — Usage of django-elasticsearch-dsl and elasticsearch-dsl. — Celery + Redis/RabbitMQ: Building reliable task queues, working with periodic tasks (celery-beat), monitoring with Flower. — Deep understanding of multi-tenant architecture principles (Multi-tenancy). — PostgreSQL: Database schema design, working with indexes (B-tree, GIN), slow query analysis and optimization. — Caching Strategy: Using Redis (django-redis) for API caching, template fragment caching, and session storage. — Confident use of Docker: Writing optimized Dockerfiles (multi-stage builds, working with .dockerignore). — Experience with Docker Compose to run full development infrastructure (Django + Postgres + Redis + Elasticsearch + Celery). — Understanding entrypoint scripts for database and queue initialization. — Authentication: Social Login implementation (social-auth-app-django), JWT authentication (django-rest-knox). — Storage: Working with S3-compatible storage solutions (AWS S3, MinIO) via django-storages. — Testing: TDD or a close approach. Experience writing tests using Pytest (+ pytest-django, factory-boy). — Static Analysis & Typing: Strict adherence to typing with Mypy. Usage of linters such as Flake8, Black, and isort. — CI/CD: Understanding GitLab CI pipelines, configuring pre-commit hooks.
Tech Stack: Python, Django Employment Type: Part time Languages: English — Intermediate, Ukrainian — Native