Есть свой проект (https://github.com/abebus/spider-info-webservice), привношу свой вклад в OpenSource
TL;DR
В одиночку собрал MVP предсказания цены квартиры, уменьшил общее время отклика существующего backend'а в 2 раза, а конкретно одной страницы в 20 раз.
Технологический стек:
Python, Linux, git, git-flow, asyncio, anyio, trio, Scrapy, Parsel, bs4. Playwright, curl-cffi, Faker, regex, XPATH, CSS. FastAPI, Flask, Twisted, pytest, unittest, Postgres, MySQL, SQLalchemy, Pydantic, SQL, SQLModel, PostgreSQL, MongoDB, Swagger, ajax, jQuery, Docker, docker compose, aiogram, MongoDB, httpx, aiohttp, OpenCV, XGBoost, pandas, sklearn, plotly, matplotlib, threading, ngnix, nginix-unit, Redis, Memcached
Hard skills:
алгоритмы и структуры данных, web-разработка, микросервисы, монолиты, OSI, DevOps, не боюсь легаси (даже без документации)
Софт скиллы:
Хорошо обучаемый, общительный, быстро нахожу общий язык, решения задач нахожу достаточно оптимальные, отсуствует “premature optimisation”.
Все задачи выполняю в срок и самостоятельно. Часто помощь просят у меня.
Работаю над интернет-маркетплейсом одежды брендов, не представленных в России. Разрабатываем собственную CRM и E-commerce системы.
Во всех своих проектах использую Pydantic для валидации данных и использую аннотации в коде, внедрил mypy в pre-commit хук как общую практику.
Все сервисы контейнеризированы через Docker и Docker compose.
Обязанности и достижения:
Разработал асинхронные парсеры, успешно обходящие все блокировки. Парсеры контролирует отдельный самописный сервис с API для их управления и сбора статистики. До меня были парсеры, запускающиеся по cron, мне удалось значительно сократить время парсинга, в среднем с 1 часа до 5 минут, сделать их отказоустойчивыми и добавить больший контроль над их поведением.
В одном из магазинов была задача удалять логотипы с картинок, написал под это скрипт, использующий OpenCV. Скрипт работает быстро, логотипы замазываются без артефактов, использовал многопоточность (т.к. OpenCV релизит GIL), для для нахождения сразу нескольких паттернов логотипов в одном изображении. (gist)
Переписываю бэкенд основого сервиса с OpenCart на FastAPI. Участвую в разработке новой архитектуры и БД. Пишу миграции на Alembic, переходим из чистого SQL в SQLalchemy (SQLModel)
Пока не перешли на новую версию, исправляю ошибки в легаси коде бэкэнда на PHP. Изучил синтаксис PHP, значительно оптимизировал какую-то часть OpenCart, уменьшил время загрузки одной страницы в админке с 20 секунд до 0.1, убрал множество n+1 запросов в пользу более эффективных, и улучшил алгоритм поиска товаров на сайте, уменьшил общее время отклика сайта в 2 раза. Внедрил кеширование с использованием Memcached.
Команда: 3 backend/devops developers, 3 frontend developers
В одиночку, с нуля, разработал "Флиппинг бота"- сервис, помогающий в поиске квартир для флиппинга
Пайплайн выглядел следующим образом:
Спаршена новая квартира -> Идёт предсказание рыночной цены -> Уведомление всех юзеров в тг, у которых выбраны соответствующие фильтры
Команда: 1 fullstack/devops developer
Команда: 7 backend developers, 2 frontend developers, 1 devops engineer