Больше информации по резюме будет доступно после регистрации

Зарегистрироваться
Был неделю назад

Мужчина, 31 год, родился 16 января 1995

Москва, м. Бибирево, не готов к переезду, готов к командировкам

Senior Software Engineer / Full-Stack Developer (High-Load, FinTech)

Специализации:
  • Программист, разработчик

Тип занятости: полная занятость

Опыт работы 8 лет 9 месяцев

Август 2021по настоящее время
4 года 9 месяцев
Jido Must On

Москва

Информационные технологии, системная интеграция, интернет... Показать еще

Senior Software Engineer
Разработка CRM и высоконагруженных систем. Автоматизация бизнес логики. Интеграции.
Март 2021Август 2021
6 месяцев
Интроверт
Программист-разработчик
Создание интеграций для AMO CRM
Август 2017Март 2021
3 года 8 месяцев
Фриланс
Программист-разработчик
Создание, ведение проектов как на заказ так и под себя

Навыки

Уровни владения навыками
Продвинутый уровень
PHP
Python
JavaScript
Веб-программирование
Разработка ПО
Средний уровень
Git
MySQL
Английский язык
Docker

Опыт вождения

Имеется собственный автомобиль

Права категории B

Обо мне

О себе: - От задачи, а не от инструмента. Не навязываю технологии "потому что модно". Могу аргументированно объяснить, почему в конкретном случае файловая система работает быстрее базы, а процедурный код оказывается понятнее и эффективнее ООП - с цифрами и метриками. - Строю с нуля. Привык начинать с пустой директории и доводить до работающего продукта на проде. Есть опыт проектирования систем, где до меня не было ничего. - Не боюсь глубины. При необходимости разбираюсь в чужом коде, протоколах, внутренностях библиотек. Быстро вхожу в новые темы и технологии. - Командный игрок. Код-ревью провожу конструктивно, без перехода на личности. Умею аргументировать свои решения и слышать аргументы других. Технологии: Языки: PHP 8.x (включая Swoole), Python 3.x (asyncio, threading); Базы данных: MySQL (индексы, шардинг), Redis (кэш, сессии, очереди), ClickHouse (для аналитических задач); Инфраструктура: Docker, Linux (файловые системы, mmap, настройка ядра), Nginx; Сети и API: REST, WebSockets, TCP/IP; Инструменты: Git, Swagger/OpenAPI; Опыт работы (ключевые проекты) Архитектор / Ведущий разработчик (партнерские и собственные проекты) 2018 - настоящее время 1) Система анализа крипторынка в реальном времени Задача: Разработать систему, которая в реальном времени собирает данные с криптобирж, рассчитывает индикаторы и генерирует сигналы по пользовательским торговым стратегиям. Ключевое требование - минимальная задержка между получением тикера и выдачей сигнала. Что сделал: Написал на Python многопоточный коннектор к WebSocket-ам биржи Bybit. Чтобы избежать задержек, отказался от использования БД на горячем пути: все расчеты индикаторов (MACD, EMA) выполняются в памяти, промежуточные состояния сохраняются в mmap-файлах - это позволило убрать сериализацию и десериализацию данных. Результат: Система обрабатывает до 1000 событий в секунду. Задержка от получения тикера до генерации сигнала - менее 50 мс. Поддерживается параллельная работа 50+ пользовательских стратегий. 2) Криптовалютная платежная система (White-label) Задача: Создать платежную платформу для приема криптовалюты, которую можно встраивать в сторонние проекты. Основная проблема - зависимость от внешних блокчейн-API (лимиты, плата за запросы, ненадежность). Что сделал: Разработал ядро системы на PHP в микросервисной архитектуре. Вместо использования готовых оберток написал собственный низкоуровневый коннектор к блокчейн-нодам (Bitcoin, Ethereum), что позволило полностью отказаться от платных API. Мониторинг пополнений реализован через фоновые задачи, мерчантам уходят вебхуки. Результат: Проведено более 10 000 транзакций. Система внедрена в 5+ проектах. Затраты на внешние API (ранее ~$500 в месяц) обнулены. Обеспечен uptime 99.9%. 3) Бэкенд для синхронных мультиплеерных игр (Aviator-подобные) Задача: Реализовать серверную часть для игры, где сотни пользователей одновременно взаимодействуют в реальном времени. Требовалось обеспечить синхронное состояние игры для всех игроков с минимальными задержками. Что сделал: Спроектировал сервер на Python с использованием WebSockets. Игровой стейт хранится в памяти с периодической записью контрольных точек в Redis. Обработка событий построена на асинхронной архитектуре, изменения рассылаются подписчикам по мере поступления. Результат: Один серверный инстанс стабильно держит до 2000 одновременных подключений. Рассинхронизация за игровую сессию не превышает 100 мс (для пользователя незаметно). 4) CRM и документооборот для медицинской сети (Enterprise) Задача: Медицинская сеть использовала для обмена данными Яндекс.Диск: врачи загружали снимки, администраторы вручную назначали задания. Процесс тормозил, файлы терялись. Требовалось создать единую систему с ролевой моделью и автоматическим биллингом. Что сделал: Разработал монолитное приложение на PHP с модульной архитектурой. Для работы с тяжелыми файлами (МРТ, КТ до 1 ГБ) внедрил чанкованную загрузку и интеграцию с S3-хранилищем. Настроил ролевую модель и автоматический учет услуг. Результат: Система работает более 8 лет, автоматизирует деятельность 500+ сотрудников. Потери данных исключены, скорость обработки заявок выросла в разы. В процессе продукт был развит и внедрялся в другие медицинские организации на платной(подписка) основе. 5) Система автоматизированного подбора доменов Задача: Команда занималась поиском ценных освобождающихся доменов для последующей посадки проектов. Процесс был полуручным: несколько скриптов на Python для парсинга источников, сбора бэклинков, проверки истории через Web Archive, анализа тематики. Данные сводились в таблицы и фильтровались вручную. Требовалось автоматизировать весь пайплайн и сделать его доступным для пользователя без технической подготовки. Что сделал: Спроектировал и разработал систему с бэкендом на PHP и веб-интерфейсом, которая объединила разрозненные скрипты в единый автоматический конвейер. Интегрировал Python-скрипты в PHP-приложение через очередь задач. Реализовал многоступенчатую фильтрацию: чтобы не тратить деньги на платные API на ранних этапах, домены проходят предварительный отсев по локальным критериям. Настроил взаимодействие с внешними API (источники expired-доменов, сервисы бэклинков, Web Archive) с контролем лимитов и кэшированием. Создал интерфейс, где пользователь задает параметры поиска (возраст, тематика, бэклинки) и получает готовую Google-таблицу с отформатированными результатами. Результат: Процесс, занимавший ранее часы ручной работы, выполняется автоматически за несколько минут. Оптимизация запросов к платным API позволила сократить затраты на внешние сервисы на 60–70%. Пользователь просто заполняет форму и получает готовую выборку.

Портфолио

Образование

Среднее образование

Знание языков

Русский — Родной

Английский — B1 — Средний

Гражданство, время в пути до работы

Гражданство: Россия

Разрешение на работу: Россия

Желательное время в пути до работы: Не имеет значения