Обо мне

Увлечённый веб-разработчик полного стека, любитель технологий, самоучка. Участвовал в проектах разного уровня и в разных ролях: разработчик полного стека во фрилансерском проекте, разработчик серверной части в быстро развивающемся стартапе, индивидуальный контрибьютор клиентской части в компании из списка Fortune 500.

Опыт работы
Distillery — студия разработки полного цикла. Мы делаем дизайн и юзабилити, веб-сервисы, фронтенд и мобильные приложения
Санкт-Петербург
Веб-разработчик полного стека
Июнь 2016 — Декабрь 2020 (4 года и 7 месяцев)

Выборочные проекты

Фронтенд.
 Новая версия внутреннего инвентаризационного инструмента для крупного международного производителя товаров личной гигиены с головным офисом в США. Работа велась как удалённо, так и непосредственно в головном офисе в штате Калифорния во время трёхмесячной командировки.

  • Расширил использование языка TypeScript с ~10% до ~90%.
  • Внедрил библиотеку React Testing Library и увеличил покрытие кодовой базы с ~3% до ~90%.
  • Реализовал ряд мер для повышения отзывчивости и производительности: кэширование ответов сервера, использование селекторов и пагинации, переработал формы с использованием локального состояния и применением сглаживания (debounce) пользовательского ввода, отложенной загрузки данных и ограничения количества опций для селекторов.
  • Реализовал систему пользовательских уведомлений и организовал поддержку пользовательских ролей.
  • Реализовал пользовательский интерфейс для управления новыми ресурсами, а также – поддержку новых свойств управляемых ресурсов в существующем интерфейсе. 
  • Написал настраиваемый модуль-фабрику для динамического генерирования инвентаризационных объектов трёх типов с изменяемыми свойствами для использования в тестах, что позволило удалить более 70 тыс. строк жёстко заданных тестовых данных.

Бэкенд. Популярный и быстро растущий интегратор платёжных систем на Филиппинах. 

  • Реализовал интеграцию пяти новых платёжных систем и поддержку десятка новых опций для существующих интеграций.
  • Переработал и привёл к единообразию три внутренних микро-сервиса, обнаружил и удалил более тысячи строк устаревшего и избыточного кода.

Фуллстек. Одностраничное административное приложение для центра по уходу и дрессировке собак в г. Санта-Моника, Калифорния. Среди прочих функций приложение позволяло управлять учётными записями владельцев собак и тренеров, создавать массовые рассылки электронной почты и планировать групповые и индивидуальные занятия.
Бэкенд:

  • Интегрировал сторонние сервисы Mailgun (эл. поча), Twilio (СМС), Stripe (платежи) и AWS S3 (хранение статических файлов).
  • Реализовал систему управления доступом на основе ролей, ленту уведомлений и новостей, а также систему поиска по учётным записям с простым ранжированием результатов. Последнее удалось реализовать только средствами Django (ORM + агрегирующие аннотации) без добавления сторонних зависимостей.
  • Интегрировал сторонние сервисы Mailgun (эл. поча), Twilio (СМС), Stripe (платежи) и AWS S3 (хранение статических файлов).
  • Реализовал систему управления доступом на основе ролей, ленту уведомлений и новостей, а также систему поиска по учётным записям с простым ранжированием результатов. Последнее удалось реализовать только средствами Django (ORM + агрегирующие аннотации) без добавления сторонних зависимостей.
  • Написал утилиту для импортирования клиентских данных из существующей БД MySQL в новую БД PostgreSQL с сохранением связей, которая успешно использовалась и дополнялась на протяжении всего проекта.
  • Поддержка после релиза.

Фронтенд:

  • Повысил производительность и надёжность приложения путём переработки некоторых крупных компонентов, включая модальное окно, компонент для отображения списков и модуля связи с  API.
  • Реализовал фабрику для динамического генерирования форм на основании декларативной конфигурации в формате JSON.
  • Реализовал визуальный редактор (WYSIWYG) шаблонов массовой рассылки электронной почты, позволяющий позиционировать и обрезать изображения, редактировать различные блоки контента, а также использовать в тексте заданные переменные, которые автоматически распознаются и подсвечиваются.
  • Поддержка после релиза.
Частная практика, работа без зачисления в штат
Санкт-Петербург
Веб-разработчик полного стека
Декабрь 2013 — Июнь 2016 (2 года и 7 месяцев)

Фуллстек. Многопользовательский блог для подростков, увлекающихся мультфильмами и кино.

  • Спроектировал и реализовал все функции сервиса.
  • Интегрировал сторонние сервисы Mailgun (эл. почта) и AWS S3 (хранение статических файлов).
  • Поддержка после релиза.

Фуллстек. Одностраничное приложение-клиент (SPA) для бакета Amazon S3, позволяющее просматривать содержимое, загружать, удалять и скачивать файлы, просматривать изображения, создавать папки, а также создавать и редактировать текстовые записи.

  • Спроектировал и реализовал все функции сервиса, включая блочный редактор текстовых записей с возможностью вставки изображений и видеороликов YouTube.
  • Интегрировал сторонние сервисы Mailgun (эл. почта) и AWS S3 (хранение статических файлов).
  • Поддержка после релиза.