Профессиональные навыки
Занимаюсь профессиональной разработкой на Python с 2012 года. С фреймворком Django тесно знаком с 2014 года. Также использовал Flask, Bottle, Tornado, писал скраперы на Scrapy.
Я имею многолетний опыт промышленной разработки (преимущественно на Python, а также C, Ruby, JavaScript, Squirrel) в компаниях NoBitLost LLC и ООО «Фогстрим».
Владею методами и инструментами командной разработки (git, таск-трекеры, базы знаний, код-ревью). Стремлюсь писать простой, понятный, идиоматичный код в соответствии с общепринятыми практиками, стандартами (PEP8) и стайл-гайдами. Умею читать чужой код, участвовал в проектах с многолетним legacy.
Также работал в качестве специалиста-фрилансера, благодаря чему умею не только закрывать таски, но и доводить проекты до конца.
В веб-программировании мне наиболее привычна роль бэкенд-разработчика. Основные инструменты: Django REST Framework (DRF) для RESTful API, Django Channels для WebSockets.
Также могу выступать в роли фуллстек-разработчика, используя технологию SSR (рендеринг страниц на стороне сервера). Инструменты: Django, HTML, CSS, JavaScript, Bootstrap, jQuery.
Прочие навыки
- юнит- и интеграционное тестирование с pytest и плагинами,
- автодокументация на Swagger/OpenAPI (drf-spectacular, drf-yasg) и Sphinx,
- создание Python-пакетов и публикация на PyPI с помощью Poetry, поддержка частного репозитория Homebrew,
- настройка и поддержка Linux-серверов со всем технологическим стеком: PostgreSQL, redis, nginx и т.д.,
- настройка CI/CD пайплайна на GitLab CI или с помощью Fabric-скриптов, изоляция приложений с помощью pyenv, venv, libvirt, docker,
- оптимизация SQL-запросов Django ORM (PostgreSQL),
- профилировка и настройка быстродействия и потребления памяти (cProfile+graphviz),
- владею английским языком на уровне C.
Некоторые мои проекты

Умное устройство OBE ProBowl
2019 – 2021
Устройство представляет собой миску с тензодатчиком и облачным IoT-контроллером ElectricImp. Я развивал и поддерживал бэкенд (Django, DRF), связывавший устройство с мобильным приложением (Android, iOS). Взаимодействовал с разработчиками мобильной и IoT частей. Решил вопрос кросс-авторизации между этими частями.

Azul Metadata API
2021
Azul собирает и поддерживает JRE/JDK на основе открытого исходного кода для множества процессорных архитектур и операционных систем. Клиентам Azul надо было автоматизировать установку/обновление JRE/JDK на своих системах. В 2021 году я спроектировал и разработал API для поиска пакетов JRE/JDK по параметрам, а также систему токен-авторизации для коммерческих клиентов (Django, DRF).

Apache Ignite Python thin client
Open source
Apache Ignite – распределённая система обработки данных, ориентированная на высокопроизводительные вычисления в оперативной памяти. Система реализована на Java, поэтому для обработки данных используются прежде всего языки, реализованные в JVM. Но для использования Ignite в областях, где доминирует Python (CV, NLP, LLM), необходимо было создать клиентскую библиотеку на Python.
Я реализовал сетевое взаимодействие с кластером Ignite на socket, а трансляцию бинарных данных – на ctypes. Также пришлось перевести многие алгоритмы (вычисление хеш-кодов, выбор ноды, регистрация сложных типов данных и др.) с Java на Python. Находясь в контакте с разработчиками и пользователями Ignite, я довёл тонкий клиент от концепции до первой продакшен-версии, с набором тестов на pytest и документацией на Sphinx.

Интернет-магазин «Восток-Авто»
Компании «Восток-Авто» было необходимо недорогое, но гибкое решение в сфере электронной коммерции с интеграцией в имевшуюся систему учёта (1С:Предприятие).
Я помог клиенту выбрать бесплатный шаблон для eCommerce-сайта на Bootstrap. Затем реализовал сайт на Oscar (Django). Импорт каталога товаров из учётной системы реализовал как задачу Celery. Установил всё на недорогой VPS-хостинг. Сайт работает с 2020 года и приносит клиентов.