Досвід роботи:
Исходный код
Frontend-разработчик
Февраль 2024 — Июль 2026 (2 года и 6 месяцев)
Официальный портал мэра и правительства Москвы, крупнейшая городская цифровая платформа. Через него жители получают более 450 государственных услуг и сервисов онлайн
Стек технологий: Next.js, Create React App, React, Redux, MobX, Effector, XState, Reakit, TypeScript, HTML5, CSS3, Styled-components, REST API, GraphQL, Git, Jest, Testing Library, Webpack, Storybook, cypress
- Внедрил AI-ответы в поиск портала mos.ru/search на Next.js и React: интегрировал ассистента на REST-API, настроил трекинг метрик выдачи и поэтапный rollout через feature-флаги (1%→12%→100%). После полного раскатывания CTR поисковой выдачи вырос на 18%.
- Переработал форму записи к врачу на React/TypeScript: реализовал интерактивный календарь слотов с интеграцией в backend-запись, обработкой коллизий (занятие, отмена, перезапись). Доля неуспешных попыток записи снизилась на четверть за счёт устранения гонок состояний и понятной обратной связи пользователю при конфликтах.
- Расширил раздел «Карта москвича» в личном кабинете на React/Redux: оформление, перевыпуск и трекинг статуса карты. Оптимизировал рендер списков (виртуализация, мемоизация), снизив среднее время загрузки раздела с 2.2 до 1.3 секунд при пиковых нагрузках.
- Настроил deep linking фильтров: двусторонний парсинг состояния в query-параметры URL и восстановление фильтров при открытии shareable-ссылки, на Next.js router и TypeScript. Снизил число случаев, когда пользователи повторно донастраивали фильтры вручную после перехода по ссылке.
- Поддерживал и развивал шапку портала mos.ru как общий React-компонент, используемый на всех разделах: дорабатывал авторизацию и уведомления, оптимизировал бандл через code splitting. Улучшил Core Web Vitals (LCP с 2.9 до 1.5 секунд) и довёл доступность до 96 баллов по Lighthouse.
- Провёл 15+ технических интервью frontend-кандидатов: оценивал знание JavaScript/React, архитектурных подходов и подходов к тестированию (Jest, Testing Library), давал структурированный фидбек команде найма по итогам каждого интервью.
- Спроектировал форму повторного допуска к ГИА как многошаговый процесс на React и XState: формализовал состояния заявления через конечный автомат, обработал ветвления и ошибки. Количество незавершённых подач снизилось с 19% до 6%.
CraftPromotion
Frontend-разработчик
Декабрь 2021 — Февраль 2024 (2 года и 3 месяца)
Digital-агентство, работает с разработкой сайтов, дизайном, SEO-продвижением, контекстной и таргетированной рекламой.
Стек технологий: JavaScript, TypeScript, HTML5, CSS3, React, Next.js, Styled-components, Redux, Zustand, Jest, Testing Library, REST API, Git
- Спроектировал и развивал клиентские интерфейсы на React/Next.js для B2B-личных кабинетов: каталог товаров, корзина, оформление оптовых заказов, авторизация. Работал в связке с backend по контракту API и с дизайнером по UX оформления заявки.
- Разработывал и поддерживал библиотеку React-компонентов на styled-components по макетам Figma; компоненты покрыты unit-тестами на Jest и Testing Library. Использование библиотеки в нескольких проектах сократило время верстки типовых экранов и снизило количество визуальных багов при тестировании.
- Интегрировал фронтенд с REST API для каталога, заказов и личного кабинета: настроил кеширование запросов, retry-логику и единообразную обработку ошибок. По результатам оптимизации среднее время загрузки динамических страниц снизилось с ~2.4 до ~1.5 секунд.
- Настроил SSR/SSG в Next.js, мета-теги, канонические URL и микроразметку для промо-лендингов; снизил TTFB с ~1.1с до ~0.6с. Это стало одним из факторов роста органического трафика лендингов в течение квартала — вместе с работой SEO-специалиста над контентом и ссылочной массой.
- Реализовал адаптивную вёрстку (mobile-first) под мобильные, планшеты и десктоп; в рамках регресс-тестирования доля критичных багов на мобильных устройствах снизилась.
- Разработал интерактивный конфигуратор товара на Canvas с 3D-визуализацией параметров в реальном времени. После внедрения выросла доля пользователей, доходящих до оформления заказа, и снизилось количество возвратов.
- Выстроил рабочий процесс с дизайнерами, backend и devops: участвовал в уточнении требований, ревью макетов и созвонах по контракту API. Это сократило число итераций по правкам интерфейса и ускорило согласование фич.
Освіта:
Высшее
Новосибирский государственный университет экономики и
управления «НИНХ», Новосибирск
Прикладная информатика, Прикладная информатика
Среднее
специальное
Братский промышленный техникум
Логистика
Професійні та інші навички:
TypeScript React Node.js HTML5 JavaScript HTML Git Docker
Linux Less CI/CD Redux MobX REST API GraphQL Webpack
BEM Babel WebSocket Apollo ReactJS SSR SSL/TLS CSS3 Sass
Unit Testing ООП MVC Английский язык Kanban
Додатково:
Занимаюсь frontend-разработкой почти 5 лет, последние два с половиной — на mos.ru, официальном портале мэра и правительства Москвы. Это не рядовой проект: платформой пользуются миллионы москвичей, и любая моя ошибка сразу видна на реальных людях, а не в тестовой среде. Люблю такую ответственность — она держит в тонусе и заставляет думать не только "как сделать", но и "что будет, если сломается".
Специализируюсь на React и Next.js, но не боюсь погружаться в архитектуру: строил многошаговые формы через конечные автоматы на XState, чтобы заявления не терялись на середине пути, разбирался с гонками состояний в записи к врачу, ускорял разделы личного кабинета почти вдвое через виртуализацию и мемоизацию. Отдельно горжусь историей с AI-поиском на mos.ru — от идеи до полного раскатывания на всех пользователей, с ростом кликабельности выдачи почти на пятую часть.
Мне нравится доводить вещи до состояния "просто работает": разбираться в производительности, вытягивать Core Web Vitals, следить за доступностью. Параллельно проводил технические собеседования — это неожиданно хорошо прокачивает и собственный код: начинаешь замечать в себе то, за что сам придирался бы к кандидату.
Ищу команду, где можно расти дальше в сторону архитектуры фронтенда и где важны не только фичи, но и то, как продукт живёт после релиза.
tg: @nik0dan