Frontend-разработчик (React, TypeScript, Next.js)
Санкт-Петербург, РоссияДжуниор • Миддл
Удаленная работа • Работа в офисе
Опыт работы от 1 года до 3х лет90 000 ₽
Опыт работы от 1 года до 3х лет90 000 ₽
Короткая ссылка: gkjb.ru/g1BQd
О себе
На данный момент Frontend-разработчик.
Мои компетенции и опыт
Frontend-разработчик с 2-летним коммерческим опытом в React и TypeScript. Дорабатывал клиентскую часть системы документооборота на микросервисной архитектуре: интегрировал GraphQL и REST API, реализовывал сложные UI-функции (редактор документов, работа с таблицами), писал frontend-тесты (Jest, React Testing Library, Playwright).
Ищу позицию Junior+/Middle Frontend Developer, стек React, TypeScript, нужен доступ к резюме , нужен доступ к резюме Формат: удалённая работа или офис в Санкт-Петербурге.
Опыт работы
Консорциум «Кодекс» — Frontend-разработчик
Июль 2023 — Июнь нужен доступ к резюме года)
Доработка клиента системы документооборота на микросервисной архитектуре: интегрировал функциональность на стороне UI (client) с 6 бэкенд-сервисами.
- Реализовал печать выделенного фрагмента текста документа в web-текстовом редакторе: связал состояние выделения на клиенте с обработкой фрагмента на бэкенде — потребовались синхронные изменения в трёх сервисах.
- Спроектировал и внедрил алгоритм автоматической подгонки ширины ячеек между двумя разными таблицами документа: на лету пересчитывал сдвиг перетаскивания и синхронизировал ширину столбцов между независимыми структурами таблиц; покрыл функциональность e2e-тестом на Playwright с симуляцией drag-взаимодействия, оптимизировал структуру отображения таблиц для повышения производительности.
- Писал и интегрировал GraphQL-запросы с типизированными хуками на основе graphql-codegen, чтобы ловить рассинхронизацию со схемой на этапе сборки; покрывал GraphQL-слой тестами с моками через MSW.
- Разработал и опубликовал внутренний npm-пакет parse-kxml-to-print: собственный рекурсивный парсер кастомного XML-формата документа для подготовки фрагмента к печати; настроил CI-пайплайн публикации для переиспользования в нескольких сервисах.
- Реализовал сравнение версий документа с игнорированием изменений во встроенных изображениях: заменил побайтовое сравнение картинок на сравнение по хэшу содержимого; сделал поведение настраиваемым через query-параметр/переменную окружения и добавил переключатель в UI отчёта.
- Внедрил удаление пользовательских «заметок» в документе: выбор через нативное контекстное меню (Electron, IPC), диалог подтверждения и сохранение GraphQL-мутацией.
- Улучшил качество рендеринга формул при импорте документов из Word (Express-микросервис img-convert-server): донастроил расчёт плотности конвертации WMF→растр через LibreOffice.
- Написал 15+ React-компонентов с полной типизацией TypeScript, 50+ unit и 20+ integration тестов (Jest + React Testing Library, 70% coverage); настроил CI/CD (GitHub Actions) и Docker-контейнеризацию.
Бизнес-логику реализовывал на TypeScript — от клиентского состояния (React + Redux) до доменных правил в бэкенд-сервисах на нужен доступ к резюме Данные получал и обновлял через GraphQL (graphql-codegen) и REST API.
Pet-project: LookCreator
Full-stack социальная сеть для управления гардеробом и шеринга outfit-луков.
GitHub: нужен доступ к резюме
- нужен доступ к резюме (App Router, React 19 Server/Client Components, TypeScript): Server Components для приватных данных, Client Components для интерактивных экранов, Zustand для сессии и глобальных ошибок; Route Handlers как BFF-прослойка, проксирование на Express через rewrites.
- REST API на нужен доступ к резюме 5 (гардероб, категории, образы, профили), документация через Swagger/OpenAPI.
- Реляционная схема PostgreSQL + Prisma ORM ( нужен доступ к резюме /adapter-pg): миграции, типобезопасные запросы.
- Аутентификация на JWT с httpOnly cookie-сессией: middleware проверки токена, восстановление сессии, исключение пароля из ответов API.
- Загрузка и хранение изображений через API-роут нужен доступ к резюме , клиентский хук состояния загрузки/удаления.
- Типизированные переиспользуемые React-компоненты (CSS Modules + Tailwind), светлая/тёмная тема, адаптивная вёрстка.
Образование
- Санкт-Петербургский политехнический университет Петра Великого — Прикладная информатика (неоконченное высшее, 2030)
- РТК — Разработчик веб и мультимедийных приложений (среднее специальное, 2024)
Языки: русский — родной, английский — B1.
Ключевые навыки: JavaScript, TypeScript, React, Redux, нужен доступ к резюме , нужен доступ к резюме , Express, GraphQL, REST, PostgreSQL, Prisma, Docker, Git, Jest, React Testing Library, Playwright, HTML5, CSS3, Tailwind CSS.
