Константин Бондаренко

Веб Разработчик

О СЕБЕ


Мой опыт: React, Next.js, TypeScript, Effector, Redux/MobX (знаю поверхностно), ReactQuery, openapi-generator-cli (для генерации клиентских типов и контроллеров на основании OpenAPI спецификаций, взятых непосредственно с back-end), 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 (всё разворачивалось с нуля, есть своя готовая схема с конфигами).

Мои личные качетсва: ответственный, продуктивный (не раз слышал комплименты от разных коллег относительно высокой производительности), всегда довожу начатое до конца, никогда не пасую перед трудностями и нахожу решения для поставленных задач.

Мои приоритеты: развитие профессиональных и надпрофессиональных навыков, стабильное и высокое вознаграждение, интересные проекты. По поводу стека - больше предпочитаю React. Люблю писать код на TypeScript.

Опыт работы


ООО «Умное пространство»
Старший инженер клиентской разработки
г. Санкт Петербург, samokat.tech

Проект: Управление каналами и обращениями

Заказчик: ООО «Умное пространство»

Обязанности: Разработка приложения для обслуживания потребностей клиентского сервиса с использованием платформенных технических решений и имеющейся дизайн-системы. Интеграция сторонних сервисов, например, Voximplant (для приёма звонков от клиентов).

Реализованные модули: Управление обращениями

Стек технологий: React, TypeScript, GraphQL, React Hook Form, React Query

Особенности проекта: Интеграция с сервисом Voximplant, который не предоставляет NPM-библиотеки с API, только скомпилированный скрипт (SDK), подключаемый в <head>.

ООО «Обоз»
Ведущий разработчик
г. Москва, oboz.com
05.2022 — 02.2023

Проект: Веб-приложение для автоматизации логистического бизнеса

Заказчик: ООО «Обоз» (свой продукт) oboz.com / gruzi.ru

Обязанности: Разработка и поддержка функционала SPA на Vue.js, вёрстка по дизайн-макету, использование и доработка (следуя принципам обратной совместимости) проприетарной UI-системы. Интеграция с API.

Реализованные модули: Котировочный заказ, черновик заказа, городской развоз, базовые цены, монитор задач и пр.

Стек технологий: Vue2, Vuex

Особенности проекта: Большая команда разработчиков, высокая интенсивность, большая кодовая база, легаси-код, отсутствие типизации и нормальной композиции (как в Vue 3 или React), много изучал чужой код, декомпозировал его и рефакторил. Периодически дорабатывал компоненты в общей библиотеке, когда для реализации задач не хватало существующего функционала. При этом нужно было следовать принципу обратной совместимости. Внедрил husky + lint-staged для автоматизации процесса проверки качества кода и стандартизации (внедрения общих правил оформления кода для всех разработчиков).

OOO «Окта Диджитал»
Ведущий разработчик
10.2020 — 05.2022

Проект: Веб-приложение для работников банка

Заказчик: ВТБ «Управление полномочиями»

Обязанности: Вёрстка по дизайн-макету, а также использование готовых 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) модуля историчности для пользователей, отображавшего разницу между выбранными состояниями данных пользователя: что было добавлено, что удалено и т.д.

ООО «Центр разработок»
Веб-программист
г. Воронеж, ucs-service.ru
09.2018 — 03.2022

Проект: 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, были сложности с её интеграцией.

Артатом
Программист
г. Воронеж, artatom.ru
07.2017 — 09.2018

Проект: Сайты компаний

Заказчик: Разные

Обязанности: Реализация и техническое сопровождение сайтов. Анализ и оценка задач. Проектирование и разработка сайтов, модулей и компонентов разной сложности. Доработка сайтов. Интеграция сторонних сервисов: платёжные системы (Сбербанк Эквайринг, PayU и другие), сервисы доставки, 1С, Мой склад, различные учётные системы автовокзалов и пр. Настройка окружения, деплой, администрирование серверов.

Реализованные модули: Корпоративные порталы, сайты-визитки, интернет-витрины, интернет-магазины, медицинские порталы, онлайн сервисы и пр.

Стек технологий: PHP, HostCMS, 1C Bitrix, Yii2, JavaScript, jQuery

Особенности проекта: Каждый проект по-своему особенный в виду индивидуальных требований заказчиков. Проектов было много, некоторые за время работы в компании почти полностью переписал в рамках рефакторинга. В случае с сайтами автовокзалов для продажи билетов были такие особенности, как большое разнообразие внешних сервисов, которые нужно было объединять на стороне сайтов под общим интерфейсом, а так же реализовать синхронизацию данных для вывода расписания и поиска доступных рейсов. Посчастливилось столкнуться и с проблемами безопасности, есть опыт в поиске и устранении потенциальных угроз.

Константин Бондаренко © 2024