Frontend developer

Санкт-Петербург, Россия
Миддл • Сеньор
Информационные технологии • Разработка • JavaScript • Node.js • TypeScript • Angular • React • Vue.js • CSSinJS • CSS • HTML • PostCSS • SCSS • SASS
Удаленная работа • Частичная занятость
Опыт работы более 5 лет
250 000 ₽
Есть файл резюме (защищен)
О себе

На данный момент Frontend разработчик.

Мои компетенции и опыт

# Проект: сервис банковского сопровождения инвестиционных проектов и инжиниринговых услуг. Команда: 30+ человек, команда frontend: 6 человек.

  • Масштабировал кодовую базу с использованием методологии FSD (Feature-Sliced Design). Это позволило сохранить границы ответственности между компонентами разных бизнес-сущностей и избежать горизонтальной связанности внутри них;
  • Проектировал и внедрял отказоустойчивые UI-компоненты(таблицы, формы и прочее) для работы с бизнес-сущностями с логикой обогащения данных, с валидацией, с расчетами на ходу; это позволило реализовать требуемые сценарии поведения пользователя при работе с бизнес-сущностями в соответствии с ожиданиями аналитиков;
  • Разработал и внедрил в масштабах проекта изолированные UI-модули (сложный фильтр с выбором поля, оператора отношений(да/нет, содержит/не содержит, больше/меньше, раньше/позже) и значения; кастомный загрузчик коллекций вложений с контекстной привязкой, индикацией состояний и уведомлениями), что унифицировало работу со списками и формами, и ускорило сборку новых страниц на 20%
  • Внедрял серверную пагинацию в табличный компонент: логика была инкапсулирована внутри компонента; это позволило быстро масштабировать функционал компонентов в контексте добавления новой бизнес-логики;
  • Спроектировал data-fetch-and-validation слой ( нужен доступ к резюме , нужен доступ к резюме , TanStack Query) для получения данных в проекте: в соответствии с входной конфигурацией выполняется запрос, далее парсинг данных по zod-схеме/схемам, для списков происходит преобразование в формат для UI компонентов таблиц, обрабатываются ошибки(если есть), типы выходных данных, после преобразования, вычисляются ts корректно; это ускорило разработку функционала, так как позволило сосредоточиться на создании бизнес логики и ui-компонетов при внедрении фич и унифицировало подходы по написанию кода в части проекта, ответственного за сетевое взаимодействие – время добавления новых интеграций уменьшилось на 10%;
  • Внедрил виртуализацию для таблиц данных; это позволило работать с большими списками в таблицах без "подвисания" - снизил лаги на 100%;
  • Сократил дефекты на 15% благодаря унификации работы "хелперов" для вычислений финансовых значений;
  • Занимался онбордингом новых коллег; это позволило общими усилиями сохранить реализованные на проекте принципы методологии FSD и увеличило "обсуждаемость" состояния кода при внедрении ряда фич;
  • Техподдержка пользователей продукта: катил hotfix-ы на стенды;

Использовал:

 

# Проект: Информационный портал о соревнованиях для РФС нужен доступ к резюме

Команда: 9+ человек, команда frontend: 3 человека

  • Разработал и внедрил модуль генерации HTML-разметки на основе draft-объектов, успешно интегрировав кастомный WYSIWYG-редактор ( нужен доступ к резюме ) в административную панель;
  • Спроектировал интерактивные модули визуализации сложной спортивной аналитики (динамические турнирные сетки, таблицы команд), обеспечив высокую производительность;
  • Обеспечил полную кроссплатформенную и кроссбраузерную стабильность презентационного портала экосистемы для корректного отображения на любых типах устройств;

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

Использовал:

  • React,
  • Effector,
  • TypeScript,
  • webpack,
  • axios,
  • constajs,
  • draftjs

 

# Проект: Административная часть Информационного портала о соревнованиях для РФС нужен доступ к резюме

Команда: 9+ человек, команда frontend: 3 человека

  • Проектировал и развивал интерфейсы CRUD-операций повышенной сложности для управления медиа-контентом, турнирными сетками и системными настройками портала;

Использовал:

  • React,
  • Effector,
  • TypeScript,
  • webpack,
  • axios,
  • constajs

 

# Проект: Административная часть сервиса управления Турнирами РФС нужен доступ к резюме

Команда: 9+ человек, команда frontend: 2 человека

  • Разработал комплекс интерактивных таблиц и больших форм (до нескольких десятков полей) со сложной валидацией для управления матчами;
  • Внедрил wysiwyg-модуль для редактирования промо материалов к турнирам;

По окончании работ заказчик получил веб-приложение для управления контентом Турниров разных лиг. Время публикации уменьшилось с нескольких часов до нужен доступ к резюме минут.

Использовал:

  • React,
  • Effector,
  • TypeScript,
  • webpack,
  • axios,
  • constajs,
  • draftjs

 

# Проект: Информационная система скоринговых отчетов для ГТЛК нужен доступ к резюме

Команда: 5+ человек, команда frontend: 1 человек

  • - Спроектировал и разработал с нуля архитектуру SPA-приложения для автоматизации скоринга. Это позволило сократить среднее время обработки заявок с 84 до 4 часов;
  • - Разработал отказоустойчивую систему динамических таблиц и связанных многоэкранных форм с вычисляемым содержимым и сложным управлением состояниями под специфические enterprise-требования;
  • - Выстроил надежный data-fetching слой для работы с REST API: спроектировал и внедрил механизмы бесшовного обновления токенов (auto-refresh token), отмены зависших запросов и централизованной обработки ошибок валидации;
  • - Развернул с нуля производительную инфраструктуру сборки на базе Webpack и TypeScript, обеспечив строгое соблюдение типов и высокую скорость Developer Experience.

По окончании работ заказчик получил веб-приложение, в котором собрана информация из разных публичных и специальных ресурсов(ранее менеджеры вручную собирали данные). Среднее время обработки заявки на скоринг уменьшилось с 84 часов до 4 часов.

Использовал:

  • React,
  • Redux,
  • React-Router,
  • TypeScript,
  • webpack,
  • axios,
  • react-bootstrap

 

# Проект: Система учета оптовых заказов Prisma нужен доступ к резюме

  • - Оптимизировал алгоритмы парсинга и валидации тяжелых Excel-документов под кастомные сценарии поставщиков, что сократило время обработки заявок менеджерами на 30% и полностью исключило необходимость ручной правки данных

Использовал:

  • Vue,
  • Vuex,
  • Vuetify,
  • jest

 

# Проект: Сервис визуализации данных для Tele нужен доступ к резюме

  • Разработал модуль визуализации аналитических данных (дашборд с интерактивными графиками Qlick Sense) для внутреннего контура Tele2, сократив время подготовки отчетности в 2 раза;

Использовал:

  • webpack,
  • pug,
  • js

 

# Проект: Образовательный портал ОК РУСАЛ и группы En нужен доступ к резюме

  • Разработал набор ui-компонетов(интерактивные многоуровневые таблицы) с представлением данных о работниках, их целях, достижениях. С серверной пагинацией и сортировкой;

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

Использовал:

  • Angular,
  • RxJS,
  • jest

 

# Проект: Внутренний сервис для управления ресурсами компании, планирования потребностей, учета загрузки. нужен доступ к резюме

  • Доработал набор ui-компонетов в соответствии с актуальными требованиями;
  • Добавил логику для выгрузки резюме в docx-формате;

По окончании работ менеджер мог выгружать резюме сотрудника и видеть новое представление анкеты сотрудника. Это ускорило этап анализа компетенций для формирования команд в 2 раза

Использовал:

  • Angular,
  • RxJS,
  • jest

 

# Проект: Внутренний сервис для тестирования и учета роста навыков сотрудников. нужен доступ к резюме

  • Добавил последний прошедший опрос, дополнительные данные на графике со статистикой занятости, отображение текущих и предыдущих целей, если таковые есть. А также возможность поместить в создаваемый опрос блок с вопросом и несколькими ответами к нему.

Использовал:

  • React,
  • Redux,
  • React-Router


Есть файл резюме (защищен)


Интересные кандидаты