Дмитрий Белявцев

Backend developer

Местоположение

Проживание: Россия, Санкт-Петербург

Готовность к работе: готов к удаленной работе

Возраст и стаж

Стаж: 9 лет и 2 месяца

Возраст: 34 года

Контактная информация


Профессиональные навыки


Ruby • Ruby on Rails • Golang • Elixir • PostgreSQL • Redis • Restful api • Websockets • Docker • React.js

Участие в профессиональных сообществах


Ноябрь 2013 —
По наст. время
(5 лет и 11 месяцев)

GitHub

@vk26: 366 вкладов в 17 репозиториев, связан с языками:

RubyGoJavaScriptElixir

Опыт работы


Август 2019 —
По наст. время
(3 месяца)

Evrone.com

Backend engineer
Россия, Москва
Март 2017 —
По наст. время
(2 года и 8 месяцев)

FORapp

Senior Backend Developer
Россия, Москва

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

forapp.ru

Rails 5 API (Grape) + микросервисы на Elixir. PG, Clickhouse, Redis, Sidekiq, RabbitMQ, Angular, Docker, Ansible, Sentry, Prometheus.

Платформа для сбора данных и контроля полевого персонала. Серверная платформа REST API взаимодействует с мобильными клиентами (android/ios/sailfish) и веб-клиентом (spa на angular). Много бизнес-логики, обширное апи, взаимодействие с внешними системами. Реализовал множество задач как в плане новых фич, так и архитектурные, инфраструктурные. Внедрил микросервисную архитектуру(до этого был рельсовый монолит), наладил межсервисное взаимодействие - через RabbitMQ. Реализовал систему аналитики на базе субд Clickhouse (до этого я реализовал на постгресе, но со временем перестало удовлетворять по скорости расчета. После перехода на Clickhouse прирост в скорости выполнения аналитических запросов по сравнение с постгресом - в десятки раз). Помимо ruby-разработки реализовал бэкенд мессенджера и сервиса нотификаций на elixir/phoenix, взаимодействующего с rails и клиентами(мобильные + веб).

digitalenergy.online

PaaS-сервис для облачный вычислений и хостинг-услуг.

Микросервисная архитектура (ruby, nodejs, python). Ansible, Consul, Prometheus, Sentry.

Принимал участие в разработке микросервисов системы, в частности разработал микросервис биллинга (ruby, grape, pg, sedikiq, redis).

api-gulfstream

middleware-сервис между ERP-системой заказчика и мобильными клиентами.
Rails 4 API, Grape, pg, sidekiq, redis.

Рефакторинг легаси-кода, поиск и устранение узких мест, оптимизация, разработка нового функционала. Особенностью проекта было плотное взаимодействие с внешней системой.

forapp.mobi

Старая версия платформы forapp.

Rails 4 API, PG, InfluxDB, Redis, Sidekiq, Ansible.

Доработка функционала, поддержка.

Сентябрь 2015 —
Декабрь 2016
(1 год и 4 месяца)

IKIT Laboratory

Full-stack Ruby on Rails developer
Россия, Москва

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

gosay.co

Rails 4, Trailblazer, React, PG, Redis.

Онлайн-платформа для изучения английского языка для корпоративных клиентов. Различные роли(преподаватели, студенты, менеджеры компаний, контент менеджеры, HR), вебинары, различные тесты, уроки, диктанты, личный словарь, аналитика и многое другое. Разработка велась в команде. Обширная бизнес-логика и сложность проекта сразу намекали, что обычный Rails way плохо подойдет. Поэтому бизнес-логику размещали в service objects, сложные поисковые запросы в query objects, заместо view хэлперов - presenters(использовался гем draper), политики также в отдельные policy objects. Тем не менее, все равно немало кода оставалось в моделях, концернах, либах. По мере расширения проекта все эти вещи уже плохо обеспечивали управление сложностью проекта. Одной из таких проблемных зон был view-слой (draper все же годится только для простых проектов). Поэтому начали рассматривать такие решения как Trailblazer, Hanami. Остановились на Trailblazer, который привносит дополнительный набор абстракций, и позволяет постепенно интегрировать в проект. Бизнес-логика ушла в operations (паттерн commands), появились form-objects (reform), policy (отказ от pundit), появились гибкие presenters с наследованием - cells (отказ от draper), в моделях только ассоциации, контроллеры тонкие как никогда, views чистые и ясные. Все это позволило в дальнейшем вести разработку значительно быстрее, вносить изменения в проект по требованию заказчика (нередко весьма значительные) быстро и оперативно.

mom2mom

Rails 5 API mode, PG with PostGis, авторизация на базе JWT

Гео-соцсеть на мобильных клиентах. Сообщения, объявления, события пользователей, различные кружки, секции - все эти объекты привязаны к координатам. Поиск объектов в радиусе от пользователя. Лента новостей, что происходит рядом с пользователем, отзывы, оценки, комментарии пользователей и тд.

Разработку вел с нуля один. Реализовывал JSON REST API сервис. Для реализации пространственных запросов использовал расширение PostGis для pg. Для авторизации использовал технологию JWT. Столкнулся с проблемой медленной сериализацией объектов в json при большом объеме. Успешно опробовал подход формирования нужного json прямо на стороне Postgresql (прирост в скорости 10х по сравнению с jbuilder). Разработку вел через тестирование по TDD.

Теории и Практики - theoryandpractice.ru

Платформа для публикации лекций, статей, предстоящих семинаров, событий.

Поддержка, исправление багов, оптимизация, реализация нового функционала. Проект старый, много legacy-кода. Rails 3.

Июль 2010 —
Сентябрь 2015
(5 лет и 3 месяца)

Автотрейд

старший разработчик ERP
Россия, Иркутск

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

Разработка ERP-системы компании. Автоматизировал множество бизнес-процессов компании в области
складской, товарной, транспортной логистики, продаж и аналитики.
Участвовал в интеграции erp-системы с веб-порталом и других внешних
систем. Хайлоад система, миллион строк легаси-кода, простыни
sql-запросов и все такое.
На позиции старшего разработчика принимал
архитектурные решения, ревьюил ТЗ аналитиков и код разработчиков,
координировал группу разработки.


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


Сентябрь 2002 —
Июнь 2007

Байкальский государственный университет

Информатики, учета и сервиса
Россия, Иркутск

Специализация и достижения

Экономическая кибернетика