Digital Office of Economic Development
Senior Python Software Developer
- Python
- Оптимизация кода
- Linux
- PostgreSQL
- Алгоритмы и структуры данных
- PyTorch
- TensorFlow
- ORM
- Pydantic
- GIL
- Docker
- GraphQL
- System Design
- Английский — B1 — Средний
О роли
Мы ищем опытного Senior Python Software Developer в отдел разработки и внедрения технологий искусственного интеллекта, который мыслит шире, чем просто написание кода. На этой позиции вы будете принимать ключевые архитектурные решения для backend-систем, оптимизировать работу баз данных и выступать связующим звеном между разработкой и эксплуатацией (Dev & Ops).
Если вы увлечены System Design, глубоко понимаете внутреннее устройство Python и всегда осознаёте почему принимается то или иное архитектурное решение — будем рады вашему отклику.
Основные обязанности
-
Архитектура и дизайн: Проектирование и реализация масштабируемых и высокопроизводительных backend-систем. Принятие ключевых решений между микросервисной и монолитной архитектурой.
-
Основная разработка: Написание чистого, эффективного и тестируемого кода на Python.
-
Оптимизация баз данных: Проектирование сложных схем БД и оптимизация запросов под высокие нагрузки. Работа с консистентностью данных, партиционированием и стратегиями индексации.
-
API-разработка: Создание и поддержка REST и GraphQL API с использованием Django, FastAPI или Flask.
-
Взаимодействие с DevOps: Тесная работа с инфраструктурной командой по настройке CI/CD, контейнеризации (Docker) и облачных деплоев.
-
Менторство: Проведение code review и наставничество junior/middle-разработчиков по лучшим практикам, алгоритмам и паттернам проектирования.
Требования
1. Python и основы Computer Science
-
Экспертный уровень Python: Глубокое понимание внутреннего устройства Python (GIL, управление памятью, декораторы, генераторы) и принципов ООП.
-
Алгоритмы и структуры данных: Отличное понимание алгоритмической сложности (Big O), структур данных и методов решения задач.
-
Паттерны проектирования: Уверенное применение стандартных паттернов (Singleton, Factory, Strategy и др.).
2. Backend-фреймворки
-
Значительный опыт работы как минимум с двумя из следующих фреймворков: Django (ORM, DRF), FastAPI (AsyncIO, Pydantic), Flask.
3. Базы данных (SQL и NoSQL)
-
PostgreSQL: Глубокие знания Postgres, включая хранимые процедуры, триггеры, сложные JOIN-запросы, индексацию и performance tuning.
-
SQL vs NoSQL: Умение оценивать компромиссы и выбирать подходящий тип БД под конкретные задачи (Redis, MongoDB, Cassandra).
4. Архитектура и DevOps
-
System Design: Опыт проектирования распределённых систем, понимание балансировки нагрузки, кэширования и брокеров сообщений (RabbitMQ, Kafka).
-
DevOps-понимание: Знание жизненного цикла разработки ПО, CI/CD-пайплайнов, Docker и базовое администрирование Linux-серверов.
Будет плюсом
-
Опыт работы с облачными платформами (AWS, Google Cloud или Azure).
-
Опыт асинхронного программирования (asyncio).
-
Знание TDD (Test Driven Development) и Pytest.
Мы предлагаем
-
Конкурентную заработную плату по результатам собеседования.
-
Участие в разработке высоконагруженных архитектурных решений.
-
MacBook / iMac
-
Удобные столы и эргономичные кресла
-
Отличное расположение