Frontend-разработчик (React, TypeScript, Next.js)

Санкт-Петербург, Россия
Джуниор • Миддл
Информационные технологии • Разработка • Frontend • TypeScript • JavaScript • React • Node.js • Express • PostgreSQL
Удаленная работа • Работа в офисе
Опыт работы от 1 года до 3х лет
90 000 ₽
О себе

На данный момент 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.



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