Senior Frontend developer

Санкт-Петербург, Россия
Сеньор • Тимлид/Руководитель группы
Информационные технологии • Разработка • Frontend • JavaScript • Vue.js • React • jQuery • CSS • HTML • Handlebars • LESS • Mustache • Pug • PostCSS • SCSS • SASS • Stylus
Удаленная работа • Работа в офисе
Опыт работы более 5 лет
Есть файл резюме (защищен)
О себе

На данный момент Senior / Lead Frontend Developer.

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

КТ-Беспилотные Системы
Senior / Lead Frontend Developer
Июнь 2023 — Апрель  нужен доступ к резюме  года и 11 месяцев)

Разработка программного обеспечения для обучения беспилотных летательных аппаратов (БПЛА).

Инициировал миграцию приложения с Vue 2 на Vue 3 и руководил ею: команда из 4 разработчиков с привлечением QA, 6 месяцев, более 20 разделов, более 100 компонентов и более 10 модулей Vuex. Миграция завершена без регрессий в проде и с полным сохранением обратной совместимости. Самостоятельно определил стратегию и порядок перехода, выбрал Pinia вместо Vuex 4 и Vite вместо webpack. Переписал компоненты с Options API на Composition API; время сборки сократилось с десятков секунд до нескольких, что упростило поддержку и ускорило разработку.

Определял frontend-архитектуру приложения: структуру слоёв (Clean Architecture), BFF-интеграции и схему REST-контрактов.

Организовал перевод всей кодовой базы на TypeScript. Типизация входных и выходных данных и общие типы на клиенте и сервере снизили количество ошибок и повысили стабильность API-контрактов.

Внедрил юнит-тесты (Vitest), увеличив покрытие тестами с 0% до 49%.

Провёл замену неформального клиент-серверного взаимодействия (передачи SQL-запросов через get_record/get_records) на REST API. Спроектировал схему контрактов и Swagger-документацию, что позволило типизировать входные и выходные данные.

Реализовывал картографические интерфейсы на OpenLayers: отображение, создание и редактирование точек, линий, многоугольников и составных объектов, объединяющих разные типы геометрии; работа со слоями и маркерами, фильтрация и взаимодействие карты с другими элементами интерфейса.

Оптимизировал производительность интерфейса: внедрил кластеризацию на карте OpenLayers, устранив зависания при более чем 1000 объектов; внедрил виртуальный скролл (vue-virtual-scroller) для длинных списков в сайдбаре, исключив зависания интерфейса при отрисовке.

Руководил командой из 4 разработчиков. Внедрил code review с обязательным апрувом до мержа, а также автоматические проверки стиля, тестов и типизации на этапе CI/CD; ревью проходили все PR.

Менторил junior-разработчиков, проводил технические собеседования и участвовал в найме.

Стек: TypeScript, нужен доступ к резюме (2, 3), Composition API, Pinia, Vuex, Vue Router, i18n, Clean Architecture, BFF, REST API, Swagger, Axios, Vitest, Vue Test Utils, Jest, OpenLayers, Vuetify, Vite, Webpack, GitLab CI/CD, Docker, Docker Compose


Nexign (АО Нэксайн)
Middle Frontend Developer
Март 2022 — Май  нужен доступ к резюме  год и 3 месяца)

Разрабатывал frontend-часть BSS для операторов связи: система управления тарифами и каталог продуктов (тарифы, пакеты, опции, скидки, услуги).

Разработал раздел аудита действий пользователя (история и просмотр действий в системе).

Разрабатывал интерфейсы каталога и тарифов: списки и карточки, фильтрация, создание и редактирование сущностей, связи между продуктами, опциями, пакетами, скидками и услугами; сложные и многошаговые формы.

Участвовал в переводе кодовой базы на TypeScript; разрабатывал на Vue 2 с Composition API.

Участвовал в рефакторинге существующей кодовой базы.

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

Писал unit-тесты (Jest, Vue Test Utils), описывал компоненты в Storybook, участвовал в code review.

Стек: TypeScript, Vue 2, Composition API (плагин), Vuex, Vue Router, BFF, REST API, Swagger, Axios, Vue Test Utils, Jest, Element UI, Storybook, Webpack



АИСА ИТ-Сервис
Frontend Developer
Октябрь 2019 — Февраль  нужен доступ к резюме  года и 5 месяцев)

Разрабатывал и развивал экосистему «Единой карты петербуржца»: основной портал, личный кабинет держателя карты и партнёрский личный кабинет.

Ведущий разработчик на проекте системы управления городским транспортом Санкт-Петербурга: карта с транспортом в реальном времени, примерное время прибытия, построение маршрутов.

Участвовал в рефакторинге legacy и разделении монолитного репозитория на портал и два личных кабинета. Общие UI-модули вынес в UI Kit как отдельный слой переиспользования и подключил его в три приложения как npm-пакет; спроектировал часть компонентов библиотеки, что убрало дублирование и ускорило разработку новых страниц.

Реализовал серверный рендеринг (SSR) на Nuxt для личных кабинетов.

Ускорил первичную отрисовку за счёт code splitting. Перевёл изображения в WebP, сократив их вес на 25–35%.

Работал по Agile/Scrum: планировал задачи на спринты, взаимодействовал с аналитиками, менторил 1–3 junior-разработчиков.

Стек: TypeScript, нужен доступ к резюме 2, Vuex, Vue Router, Nuxt, i18n, React, REST API, Swagger, Vue Test Utils, Jest, Leaflet, D3, нужен доступ к резюме , кастомные UI-библиотеки, Tailwind CSS, Vuetify, Webpack, Sentry



Senior Frontend Developer, специализируюсь на разработке сложных веб-приложений на нужен доступ к резюме и TypeScript.
Более 6 лет занимаюсь frontend-разработкой, общий коммерческий опыт в веб-разработке — более 10 лет.

Имею опыт миграции приложений с Vue 2 на Vue 3, перехода на Composition API, Pinia и TypeScript,
разработки UI-библиотек и геоинформационных интерфейсов.

Работал над архитектурой клиент-серверного взаимодействия,
REST API и BFF-интеграциями. Внедрял Unit Testing и Code Review.

Имею опыт технического лидерства: руководил командой из 4 frontend-разработчиков,
проводил технические собеседования и занимался менторством.

Использую AI-инструменты для повышения эффективности разработки, работаю по методологии Spec-Driven Development.

Пет-проект: SewSquare - интернет-магазин для швей

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

Стек: React, TypeScript, Zustand, Mantine, TanStack, Vite, Zod, FSD, Vitest, Playwright, OpenSpec, Spec-Driven Development.

Фронтенд - нужен доступ к резюме
Бэкенд - нужен доступ к резюме



Мой стек:
Frontend: JavaScript, TypeScript, нужен доступ к резюме (2, 3), Composition API, Pinia, Vuex, Vue Router, Nuxt, i18n, React, HTML5, CSS3

AI-инструменты и методологии: Cursor, Kiro, GitHub Copilot, ChatGPT, DeepSeek, Spec-Driven Development (SDD)

Архитектура: Clean Architecture, FSD, BFF

Тестирование: Vitest, Vue Test Utils, Playwright, Jest

Карты и визуализация: OpenLayers, Leaflet, Яндекс Карты, D3, нужен доступ к резюме

Дизайн и макеты: Figma, Adobe XD, Photoshop

Сборка: Vite, Webpack, Rollup, Gulp

CI/CD: GitLab CI/CD, GitHub Actions

Мониторинг: Sentry


Контакты:
Мобильный телефон - нужен доступ к резюме
Telegram - нужен доступ к резюме
Почта - нужен доступ к резюме



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


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