Senior Frontend developer
Санкт-Петербург, РоссияСеньор • Тимлид/Руководитель группы
Удаленная работа • Работа в офисе
Опыт работы более 5 лет
Опыт работы более 5 лет
Есть файл резюме (защищен)
Короткая ссылка: gkjb.ru/g1CcU
О себе
На данный момент 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 - нужен доступ к резюме
Почта - нужен доступ к резюме
Есть файл резюме (защищен)
Интересные кандидаты
Мы используем куки, потому что без кук наш сайт не работал бы, другие сайты не работали бы, да и вообще весь
интернет не работал бы
