О СЕБЕ
Мой опыт: React, Next.js, TypeScript, Effector, Redux Toolkit, Apollo, MobX (имею общее представление), ReactQuery, различные генераторы кода на основе спецификаций/схем, Vue2, Vue3 (есть опыт миграции со второй версии на третью), Vuex и пр. Есть опыт использования реализации Module Federation (микрофронтенд) и миграции с Webpack 4 на Webpack 5. Имею опыт с развёртыванием инфраструктуры для back-end и front-end с нуля на Ubuntu 20.04, а именно: контейнеризация и CI/CD с помощью gitlab-ci и docker. Так же умею рисовать дизайн в Figma и препарировать (верстать) макеты. Данный сайт с нуля создан мной собственноручно: дизайн, публичный front-end (Next.js), front-end админки (React.js), back-end (PHP, Yii2), автоматизированная непрерывная интеграция, доставка и деплой (CI/CD) с помощью Gitlab на арендованном сервере с Ubuntu (всё разворачивалось с нуля, есть своя готовая схема с конфигами). Так же реализована аутентификация в админке посредством JWT-токена.
Мои личные качетсва: Ответственный, продуктивный (многократно слышал положительные отзывы от коллег о своей производительности), всегда довожу начатое до конца, никогда не пасую перед трудностями, нахожу решения для поставленных задач, слежу за качеством кода и перфомансом приложения. Всегда готов расти и развиваться.
Мои приоритеты: Развитие профессиональных и надпрофессиональных навыков, стабильное и высокое вознаграждение, интересные проекты. Предпочитаемый стек технологий: React + TypeScript. В плане архитектурной методологии отдаю предпочтение Feature Sliced Design. Уважаю внимательность к качеству кода, стремление к автоматизации процессов, понимание важности регулярного выделения времени на рефакторинг и техдолг.
Опыт работы
Проект: Управление каналами и обращениями
Заказчик: ООО «Умное пространство»
Обязанности: Разработка приложения для обслуживания потребностей клиентского сервиса с использованием платформенных технических решений и имеющейся дизайн-системы. Интеграция сторонних сервисов, например, Voximplant (для приёма звонков от клиентов).
Реализованные модули: Управление обращениями
Стек технологий: React, TypeScript, GraphQL, React Hook Form, React Query, Apollo Client
Особенности проекта: Интеграция с сервисом Voximplant, который не предоставляет NPM-библиотеки с API, только скомпилированный скрипт (SDK), подключаемый в <head>.
Проект: Аналитика обратной связи
Заказчик: ООО «Умное пространство»
Обязанности: Разработка фронтальной части продукта для сбора и анализа сообщений обратной связи из разных источников. Код-ревью, написание тестов, рефакторинг.
Реализованные модули: Список сообщений обратной связи, раздел настройки источников.
Стек технологий: React, TypeScript, React Hook Form, Redux Toolkit
Особенности проекта: Изначально на проекте отсутствовала автоматическая генерация кода, занимался настройкой генератора, встроенного в библиотеку Redux Toolkit. Много рефакторил, т.к. изначально на проекте мало уделялось внимания контролю качества кода.
Проект: Рабочее место для B2B поддержки
Заказчик: ООО «Умное пространство»
Обязанности: Разработка клиентского приложения для B2B поддержки мерчантов маркетплейса «Мегамаркет». Разработка серверного приложения, проксирующего GraphQL запросы в сторонние REST-сервисы. На проекте поднял грейд до «Ведущий инженер клиентской разработки».
Реализованные модули: Мерчанты (продавцы)
Стек технологий: React, TypeScript, React Hook Form, GraphQL, Apollo, Zustand и пр.
Особенности проекта: Интеграция множества сторонних сервисов, реализация и поддержка GraphQL → REST адаптера.
Проект: Веб-приложение для автоматизации логистического бизнеса
Заказчик: ООО «Обоз» (свой продукт) oboz.com / gruzi.ru
Обязанности: Разработка и поддержка функционала SPA на Vue.js, вёрстка по дизайн-макету, использование и доработка (следуя принципам обратной совместимости) проприетарной UI-системы. Интеграция с API.
Реализованные модули: Котировочный заказ, черновик заказа, городской развоз, базовые цены, монитор задач и пр.
Стек технологий: Vue2, Vuex
Особенности проекта: Большая команда разработчиков, высокая интенсивность, большая кодовая база, легаси-код, отсутствие типизации и нормальной композиции (как в Vue 3 или React), много изучал чужой код, декомпозировал его и рефакторил. Периодически дорабатывал компоненты в общей библиотеке, когда для реализации задач не хватало существующего функционала. При этом нужно было следовать принципу обратной совместимости. Внедрил husky + lint-staged для автоматизации процесса проверки качества кода и стандартизации (внедрения общих правил оформления кода для всех разработчиков).
Проект: Веб-приложение для работников банка
Заказчик: ВТБ «Управление полномочиями»
Обязанности: Вёрстка по дизайн-макету, а также использование готовых UI-систем, разработка SPA и его новых модулей на React + TypeScript для внутренних нужд компании в финансово-технической сфере. Интеграция с API.
Реализованные модули: Управление пользователями и их полномочиями, редактирование лимитов, правил и групп правил матрицы компетенций, справочников и пр.
Стек технологий: React, TypeScript, React Query, Effector, Final Form, React Table, Gulp, openapi-generator-cli, webpack 4, webpack 5, module federation (microfrontends)
Особенности проекта: Миграция на webpack 5, кастомизация приложения для микрофронта и интеграция в Портал Корпоративного Бизнеса в runtime c помощью module federation plugin. Перевод всех UI компонентов на дизайн-систему Admiral. Одной из самых сложных задач было написание (на основе json-diff) модуля историчности для пользователей, отображавшего разницу между выбранными состояниями данных пользователя: что было добавлено, что удалено и т.д.
Проект: SPA-киоск для ресторанов
Заказчик: Burger King, KFC
Обязанности: Разработка веб-приложений, постановка задач и консультация других сотрудников. Вёрстка по дизайн-макету, интеграция с сервером API (прокладка на delphi, синхронизирующаяся с R-keeper).
Реализованные модули: Навигация по категориям, конфигурация блюд, зонтичные блюда, комбо-блюда, корзина, сохранение заказа на сервере.
Стек технологий: Vue2, Vuex
Особенности проекта: Разработка приложения под вертикальный FHD экран, которое запускается в chromium-based браузере в режиме киоска и должно взаимодействовать с физическими устройствами (типа пин-пада), отправляя запросы на виртуальный сервер, развёрнутый в киоске на ОС Windows.
Проект: Мобильное электронное меню для ресторанов
Заказчик: Сеть ресторанов Чайхона №1 (ООО «ВЕГА»)
Обязанности: Разработка SPA на Vue.js для мобильных устройств и планшетов для представления ассортимента и формирования заказа в ресторане. Вёрстка по дизайн-макету, интеграция с сервером API (прокладка на delphi, синхронизирующаяся с R-keeper).
Реализованные модули: Навигация по категориям, конфигурация блюд, зонтичные блюда, комбо-блюда, корзина, сохранение заказа на сервере, архивирование и разархивирование удалённой корзины.
Стек технологий: Vue 2, Vue 3, Vuex, TypeScript
Особенности проекта: Кроссплатформенность, арендовали сервер с эмуляторами для тестирования на разных устройствах (главным образом IOS), переход с Vue2 на Vue3 + Composition API
Проект: Back-office для мобильного меню и киосков
Заказчик: UCS-service
Обязанности: Разработка SPA на Vue.js для администрирования. Создание UI с использованием готовых библиотек (Vuetify/Kendo UI), интеграция с сервером API (прокладка на delphi, синхронизирующаяся с R-keeper).
Реализованные модули: Аутентификация через Firebase, добавление, удаление, просмотр и редактирование данных на сервере, предоставление отчётов о продажах в виде таблиц и чартов.
Стек технологий: Vue 2, Vuetify, Kendo UI, Vuex
Особенности проекта: Использование большой внешней библиотеки компонентов Kendo UI, она не особо хорошо адаптирована под Vue, были сложности с её интеграцией.
Проект: Сайты компаний
Заказчик: Разные
Обязанности: Реализация и техническое сопровождение сайтов. Анализ и оценка задач. Проектирование и разработка сайтов, модулей и компонентов разной сложности. Доработка сайтов. Интеграция сторонних сервисов: платёжные системы (Сбербанк Эквайринг, PayU и другие), сервисы доставки, 1С, Мой склад, различные учётные системы автовокзалов и пр. Настройка окружения, деплой, администрирование серверов.
Реализованные модули: Корпоративные порталы, сайты-визитки, интернет-витрины, интернет-магазины, медицинские порталы, онлайн сервисы и пр.
Стек технологий: PHP, HostCMS, 1C Bitrix, Yii2, JavaScript, jQuery
Особенности проекта: Каждый проект по-своему особенный в виду индивидуальных требований заказчиков. Проектов было много, некоторые за время работы в компании почти полностью переписал в рамках рефакторинга. В случае с сайтами автовокзалов для продажи билетов были такие особенности, как большое разнообразие внешних сервисов, которые нужно было объединять на стороне сайтов под общим интерфейсом, а так же реализовать синхронизацию данных для вывода расписания и поиска доступных рейсов. Посчастливилось столкнуться и с проблемами безопасности, есть опыт в поиске и устранении потенциальных угроз.