Константин Васильев (swtormy), 31 год, Россия, МоскваКонстантин Васильев (swtormy), 31 год, Россия, Москва
Бэкенд разработчикСтарший (Senior)
Ищу работу

Контакты

Войти
Возраст: 31 год
Опыт работы: 5 лет и 2 месяца
Регистрация: 20.01.2023
Последний визит: 5 дней назад
Гражданство: Россия
Местоположение: Россия, Москва
Дополнительно: готов к переезду и к удаленной работе

Навыки

Внутри навыка можно посмотреть пройденные и доступные тесты
Python
FastAPI
SQL
Docker
Linux
CI/CD
Git
Golang

Участие в профсообществах

Опыт работы

  • Российский телеком-оператор с 50 миллионами клиентов и 30 тысячами сотрудников
    Бэкенд разработчик (Старший)Backend Developer
    Июнь 2021 — По настоящее время (4 года)

    Проекты:

    • Сервис прогнозирования. Прогнозирование финансовых показателей с использованием кастомных моделей машинного обучения.

    • ГИС для аналитики продаж и других KPI. Создания геоинформационных сервисов для обработки и визуализации больших объемов данных, с поддержкой API для аналитических запросов.

    • Сервис RDM. Интеграции с Hadoop через файловый загрузчик с автоматической обработкой ошибок и повторными попытками передачи.

    Обязанности и достижения:

    • Разработка RESTful API на FastAPI с реализацией сложной бизнес-логики, включая обработку транзакций, агрегацию данных и кэширование запросов с использованием Redis.

    • Настройка WebSocket и Server-Sent Events (SSE) для уведомлений и динамического обновления данных на клиенте в реальном времени.

    • Настраивал авторизацию через OAuth2 для интеграции с внешними провайдерами, а также реализовал поддержку SSO (Single Sign-On) для корпоративных пользователей, с проверкой JWT токенов и ротацией refresh-токенов.

    • Работа с SQLAlchemy и asyncpg для реализации асинхронного взаимодействия с базами данных, оптимизация запросов и настройка connection pooling для высоконагруженных систем. Поддержка легаси проектов с использованием Peewee ORM

    • Разработал различные парсеры для обработки веб-страниц и API, используя aiohttp и асинхронный requests_html в качестве замены BeautifulSoup, что позволило значительно ускорить обработку данных за счет асинхронного рендеринга JavaScript и одновременного выполнения запросов.

    • Проектирование структуры базы данных для высоконагруженных сервисов, включая создание индексов, оптимизацию запросов и внедрение горизонтального шардирования в PostgreSQL(Citus).

    • Настроил взаимодействие микросервисов через RabbitMQ, реализовав очереди задач и маршрутизацию сообщений. Разработал механизмы обработки сообщений с подтверждением доставки, ретраями и DLQ (Dead Letter Queue) для обработки ошибок.

    • Автоматизация ETL процессов: разработка пайплайнов для обработки данных из Hive, Oracle и других источников с использованием асинхронных методов работы в Python.

    • Создание системы уведомлений для пользователей и разработчиков с поддержкой Telegram, электронной почты и вебхуков. Реализована через собственную библиотеку, поддерживающую fallback стратегии и возможность добавления кастомных каналов уведомлений.

    • Оптимизация логирования и мониторинга микросервисов: кастомизация middleware в FastAPI, внедрение Prometheus для сбора метрик и Grafana для визуализации.

    • Настройка CI/CD процессов:

    - Автоматизация сборки и деплоя приложений в кластеры k3s и k8s с использованием Argo CD и GitOps подхода.

    - Настройка пайплайнов в GitLab CI, включая тестирование, сборку контейнеров через Docker, и их публикацию в приватные реестры.

    - Создание кластеров k3s для разработки и тестирования, а также развертывание k8s кластеров.

    • Использование Alembic для управления миграциями баз данных.

    • Интеграция сервисов с внешними API, такими как Jira, для автоматизации рабочих процессов, включая создание задач и отслеживание их статусов.

    • Внедрение защищенного взаимодействия микросервисов через HashiCorp Vault, управление секретами и их ротация.

    • Активное участие в проектировании архитектуры распределенных систем, включая выбор технологий и оптимизацию взаимодействия между компонентами

    Основной стек:

    - Backend: Python, FastAPI, SQLAlchemy, Redis, Pandas, RabbitMQ, aiohttp, Airflow, Git, WebSocket, SSE, OAuth2, JWT, SSO, PostgreSQL, Clickhouse, Hive, Oracle, Alembic, Pytest

    - DevOps & CI/CD: Docker, Docker Compose, Kubernetes (k8s), k3s, Argo CD, GitLab CI/CD, GitHub Actions, HashiCorp Vault, GitLab, GitHub

    - Frontend (при необходимости): React, TypeScript, Material-UI, Vite

    Аналитик по данным (Младший)Ведущий специалист по отчетности
    Апрель 2021 — Июнь 2021 (3 месяца)

    На испытательном сроке успешно зарекомендовал себя, автоматизировав процессы ETL с использованием Python и VBA, что позволило значительно сократить ручной труд и ускорить обработку данных.

  • Многофункциональный центр Мои Документы
    Санкт-Петербург
    BI-разработчик (Младший)Ведущий аналитик
    Апрель 2020 — Апрель 2021 (1 год и 1 месяц)

    Разработал собственный дашборд для мониторинга и анализа приоритезации очередей задач, подключив его напрямую к API системы управления приоритетам, средствами Excel и VBA для создания автоматизированного решения. Это позволило существенно оптимизировать процесс работы с очередями задач и эффективнее распределить нагрузку между работниками офиса.

Высшее образование

  • РУК

    Российский университет кооперации
    Мытищи173 выпускника
    Юридический институт
    Сентябрь 2010 — Август 2015 (4 года и 11 месяцев)
    • Получил фундаментальные знания в области права, которые развили аналитическое мышление и навыки работы с большими объемами информации.
    • Активно участвовал в научных конференциях и конкурсах, где представил несколько исследовательских работ, что развило умение структурировать данные и работать с нормативными актами.
    • Эти навыки помогли мне в будущем в IT, особенно в вопросах анализа данных и автоматизации процессов.

Дополнительное образование

  • Stepik

    Образовательная платформа и конструктор онлайн-курсов
    Санкт-Петербург8427 выпускников
    Kubernetes для начинающих + практический опыт
    Сентябрь 2024 — Сентябрь 2024 (1 месяц)
  • Яндекс Практикум

    Обучаем разработчиков, тестировщиков, аналитиков, дизайнеров, интернет-маркетологов
    React-разработчик
    Ноябрь 2023 — Январь 2024 (2 месяца)

    Прохождение курса React в период с ноября 2023 по январь 2024 года стало отличной возможностью укрепить существующие навыки разработки, несмотря на уже имеющийся опыт создания приложений на базе React. Курс помог закрыть пробелы в теоретической части, а также дал ценные знания по работе с устаревшими версиями React, что особенно полезно при поддержке легаси проектов. В процессе обучения я углубил понимание работы с WebSockets и улучшил навыки работы с Redux.