О себе
Работаю в git каждый день: ветки, merge, rebase, разрешение конфликтов. Понятная история коммитов, pre-commit против плохих коммитов, CI на каждом изменении. Военная разработка: играл в команде с опытным разработчиком.
Опыт работы
Фриланс — заказы на Kwork
Python · 2022 — н.в.
- Telegram-боты, парсеры сайтов, REST API, интеграции внешних API, автоматизация по ТЗ заказчиков; kwork.ru/user/teivrim.
Инди-игра на Unity — команда с опытным разработчиком
C# · Unity
- Пишу код и геймдизайн вместе с опытным разработчиком, вёл подбор людей в проект. Хакатон HackIT: собрал прототип за выходные.
Проекты
anime-sync-api — REST API каталога аниме
FastAPI · PostgreSQL 16 · Alembic · GIN
- Асинхронный стек: FastAPI, SQLAlchemy 2.0 (asyncpg), Pydantic v2, httpx. Схемы запросов и ответов разделены.
- Три таблицы с внешними ключами и CHECK-ограничениями; UNIQUE (source, external_id) — внешний id уникален в пределах источника, потому что у AniList и Jikan нумерация разная.
- Полнотекстовый поиск на tsvector с индексом GIN по названию, оригинальному названию и жанрам. Выражение индекса и выражение запроса вынесены в одну константу, чтобы они не разошлись.
- Синхронизация с AniList (GraphQL) и Jikan (REST) на httpx: идемпотентный апсерт без дублей и журнал прогонов — отказ внешнего API пишется в базу, а не роняет запрос.
TaskHub API — сервис управления задачами
FastAPI · PostgreSQL 17.4 · Celery · Redis
- Асинхронный сервис на FastAPI и SQLAlchemy 2.0: asyncpg, Pydantic v2, разделение схем запросов и ответов, OpenAPI 3.1 из коробки.
- Аутентификация JWT с ротацией refresh-токенов и RBAC: роли проверяются на уровне зависимости, доступ к эндпоинту нельзя получить без проверки прав.
- Фоновые задачи на Celery, Redis как брокер и кэш; задачи выполняются синхронно при CELERY_TASK_ALWAYS_EAGER, поэтому тесты не зависят от воркера.
Инди-игра на Unity
C# · Unity · командная разработка
- Пишу код и геймдизайн вместе с опытным разработчиком, вёл подбор людей в проект.
- Хакатон HackIT: собрал рабочий прототип за выходные.
Навыки
Git: ветки, merge, rebase, разрешение конфликтов, понятная история коммитов
CI и качество: GitHub Actions, ruff, mypy strict, pre-commit, gitleaks, clippy -D warnings
Тесты: pytest, pytest-asyncio, httpx ASGITransport, фикстуры, моки внешних API, Allure, Selenium 4, покрытие с ветвлениями
Дополнительно
Опыт в команде — это как раз то, чего не дают фриланс и пет-проекты: обсудить решение, разойтись во мнениях и пойти по чужому решению. Английский — чтение технической документации. Открытый код: 12 активных публичных репозиториев, у каждого проекта тесты и CI.