Dmitry Vlasenko

~/dmitry-vlasenko $ whoami

Дмитрий Власенко

Senior Frontend-разработчик

Vue 3 · TypeScript · архитектура SPA

  • 7 лет опыта
  • Москва
  • Удалённо, полная занятость
прокрути вниз

О себе

Frontend-разработчик с 7 годами опыта разработки масштабных SPA на Vue.js. Специализируюсь на архитектуре frontend-приложений, переиспользуемых компонентах и миграциях крупных проектов.

Последние годы — Vue 3, TypeScript, Pinia, TanStack Query. Провожу code review и менторю, регулярно согласовываю API-контракты с backend и пишу техническую документацию для QA.

Веду собственный проект RepoBuddy и активно использую AI-инструменты для рутинных задач. Готов к смене стека на React/Angular.

Инструменты и генерация кода

  • Плагин для работы с LaTeX-формулами в TinyMCE — позволил отказаться от платного решения
  • Система template generators на hygen для ускорения создания шаблонов кода
  • UI-kit библиотека для унификации компонентов между проектами, документация в Storybook
  • Кастомный ESLint plugin, удерживающий code standards в команде

Миграции и рефакторинг

  • Полная миграция проекта с Vue 2 на Vue 3 без downtime: Class Options API → Composition API
  • Переезд с Vuex на Pinia, внедрение TanStack Vue Query для server state
  • Рефакторинг legacy-кода и архитектуры внутренних сервисов

Сложные интеграции

  • Monaco Editor для редактирования кода прямо в браузере
  • Генерация PNG из Vue-компонентов и в браузере, и на Node.js сервере
  • Real-time через WebSocket и Pusher.js
  • npm-библиотека для интеграции Яндекс.Метрики с type-safe API

Сборка и производительность

  • Переход на SWC, code splitting и tree shaking — время сборки сократилось на 40%
  • CI/CD на GitLab с автоматическим деплоем и отправкой source maps в Sentry
  • Оптимизация рендера SPA: скорость загрузки и отзывчивость интерфейса

Архитектура

  • Feature-based архитектура для проекта на 2000+ файлов и 550+ компонентов
  • Component-driven development, изолированная разработка компонентов
  • Строгая типизация API-контрактов на TypeScript

Команда и взаимодействие

  • Регулярный code review и помощь команде с архитектурными решениями
  • Согласование API-контрактов с backend на этапе проектирования — меньше breaking changes, разработка идёт параллельно
  • Техническая документация: спецификации фич, инструкции для QA, JSDoc/TSDoc
  • Декомпозиция и оценка задач, участие в технических собеседованиях

Стек

Чем работаю каждый день и что держу под рукой.

Core

  • Vue.js 3
  • Vue.js 2
  • TypeScript
  • JavaScript ES6+
  • HTML5
  • CSS3
  • SCSS/SASS

State

  • Pinia
  • Vuex
  • TanStack Vue Query

Сборка

  • Vite
  • Webpack 5
  • SWC
  • npm
  • pnpm

Тесты

  • Vitest
  • Storybook 8

UI

  • Naive UI
  • Vuetify
  • Tailwind CSS

Формы

  • Vee-validate
  • Yup
  • Vue i18n

Редакторы

  • Monaco Editor
  • TinyMCE

Backend и данные

  • Node.js
  • PostgreSQL
  • SQL
  • Drizzle ORM

DevOps

  • Docker
  • GitLab CI/CD
  • Linux
  • Sentry

Real-time

  • WebSocket
  • Pusher.js

Качество кода

  • ESLint (+ custom plugins)
  • Prettier
  • Husky
  • lint-staged
  • TS strict mode

Архитектура

  • Feature-based
  • Feature-Sliced Design
  • Monorepo
  • Component-driven
  • hygen

API

  • REST
  • API contract design
  • Axios
  • Postman
  • Insomnia

AI

  • LLM-инструменты в работе
  • MCP-серверы
  • pgvector

Команда

  • Code review
  • Менторство
  • Технические собеседования
  • Оценка задач
  • Документация

Опыт работы

4 компании, 7 лет непрерывной практики.

  1. maximum-educationfrontend-разработчиксейчас

    MAXIMUM Education

    · 4 года 2 месяца · Москва

    Образовательная LMS-платформа: личный кабинет, авторизационный центр, сервис тестирования и конструктор тестов. 2100+ файлов, 550+ компонентов.

    • Плагин для работы с LaTeX-формулами в TinyMCE — компания отказалась от платного решения
    • Система template generators на hygen для ускорения создания шаблонов кода
    • Совместно с командой — полная миграция с Vue 2 на Vue 3 без downtime
    • Генерация PNG из Vue-компонентов в браузере и на Node.js сервере
    • Серверный state management на TanStack Vue Query
    • Оптимизация build: переход на SWC, code splitting, tree shaking
    • Регулярный code review и помощь команде с решениями
    • Согласование API-контрактов с backend на этапе проектирования — меньше breaking changes, параллельная разработка
    • Техническая документация: спецификации фич, инструкции для QA, JSDoc/TSDoc
    • Vue 3
    • Vue 2
    • TypeScript
    • Pinia
    • TanStack Vue Query
    • Axios
    • Webpack 5
    • SWC
    • Vitest
    • Naive UI
    • Storybook 8
    • GitLab CI/CD
    • Docker
    • WebSocket
    • Pusher.js
    • Monaco Editor
    • Vee-validate
    • Yup
    • Vue i18n
  2. leadhitfrontend-разработчик

    LeadHit

    · 1 год 10 месяцев · Москва

    Frontend B2B SaaS-платформы для email-маркетинга и автоматизации продаж: личный кабинет клиентов и админ-панель.

    • Рефакторинг архитектуры внутреннего сервиса: legacy → современный Vue-стек
    • Разработка функционала личного кабинета клиентов
    • Поддержка и развитие административной панели платформы
    • Интеграции с REST API
    • Vue 2
    • JavaScript ES6+
    • Vuex
    • Webpack
    • SCSS
    • REST API
    • Axios
  3. gridnine-systemsfrontend-разработчик

    Gridnine Systems

    · 2 месяца · Москва

    Поддержка и развитие frontend корпоративного веб-приложения: личный кабинет и админ-панель на Vue 2.

    • Новый функционал и исправление багов в компонентной архитектуре
    • Vue 2
    • JavaScript ES6+
    • Vuex
    • REST API
  4. ворклfrontend-разработчик

    Воркл

    · 11 месяцев · Москва

    Frontend продуктов компании: административная панель, продающий сайт, лендинги.

    • Миграция административной панели с jQuery на Vue 2
    • Разработка админки с нуля на компонентном подходе
    • Вёрстка продающего сайта и лендингов, адаптив под desktop / tablet / mobile
    • Vue 2
    • JavaScript ES6+
    • jQuery
    • SCSS
    • Responsive design
    • REST API

Проекты

Что делаю за пределами рабочих задач.

RepoBuddy

Self-hosted, развивается

Первый pull request в чужой репозиторий — быстрее

Индексирует публичный GitHub-репозиторий в типизированный граф знаний и отвечает на вопросы о нём: что здесь запускается, что важно, куда безопасно занести первый вклад. Ответы опираются на реальный код и ссылаются на него.

  • AST-разбор TypeScript, JavaScript, Python и Go в граф сущностей и связей — Postgres + pgvector
  • Планировщик запросов подбирает операторы над графом (find_symbol → get_callers → retrieve_code_chunks), исполнитель прогоняет их детерминированно
  • Ответы стримятся с цитатами: каждое утверждение привязано к сущности или куску кода
  • Тур для контрибьютора: точки входа, горячие файлы, зоны для безопасного первого PR, автогенерируемая диаграмма архитектуры
  • Триаж задач: проверяет, не сделана ли работа уже — по коммитам, живым PR и похожим закрытым issue
  • MCP-сервер: тот же граф доступен из Claude Code и Cursor
  • Vue 3
  • TypeScript
  • Node.js
  • PostgreSQL
  • pgvector
  • Drizzle ORM
  • Tailwind CSS
  • D3
  • Mermaid
  • Docker
  • Caddy
  • MCP SDK

Open Source

FormKit Drag and Drop1.9k

Июль 2024 — Февраль 2025

Framework-agnostic библиотека для drag-and-drop, используемая в production по всему миру.

  • Нашёл и задокументировал критический баг с вложенными drag-группамиIssue #83
  • Собрал воспроизведение на CodeSandbox и описал проблему
  • Разработал и отправил Pull Request с фиксом
  • PR принят и вошёл в версию v0.4.1, упомянут в release notesv0.4.1

Образование

Среднее образование

Основные знания — практика, open source и самообразование.

Контакты

Открыт к предложениям: удалённо, полная занятость. Пишу код на Vue, читаю на всём остальном.

$ exit