freehire launches on Product Hunt on 26 August.

Follow →

Vue.js Frontend-разработчик (middle+/senior)

Summary

Middle+/senior Vue.js developer building new features and refactoring legacy code in a large-scale electronic document management system using Vue 3, TypeScript, and DDD architecture.

Зарплата: 180000–200000 RUR (на руки)

Наша компания "Айди Технологии управления" на IT рынке с 2010 года.

Мы создали собственное решение в области электронного документооборота «Documino».

Наши клиенты – это крупные предприятия и организации в топливно-энергетической отрасли, машиностроении, телекоммуникациях и государственном секторе, география которых охватывает всю Россию.

В ОБЯЗАННОСТИ БУДЕТ ВХОДИТЬ:

  • Разработка новой функциональности через DDD-слои: порты → use-cases → адаптеры → presentation (composables/Pinia).
  • Участие в код-ревью: конструктивная обратная связь, следование архитектурным конвенциям и стандартам команды.
  • Самостоятельная декомпозиция задач, оценка сложности, проектирование технических решений.
  • Аргументированная защита архитектурных решений + гибкость в команде (умение принимать чужие решения и доводить их до конца).
  • Документирование разработки и архитектурных решений.
  • Поддержка и рефакторинг legacy-кода (нетипизированные Vuex-модули, Options API), постепенная типизация JS-модулей.
  • Работа с расходящимися релизными ветками: селективный forward-port общих фич в DDD-слои вместо прямого merge.

НЕОБХОДИМЫЕ НАВЫКИ И ЗНАНИЯ:

Vue.js (глубокое владение)

  • Vue 3 Composition API (<script setup>, ref/reactive/computed/watch, composables).
  • Понимание реактивности Vue 3 (на основе Proxy), жизненного цикла, отличий от Vue 2.
  • Поддержка legacy на Options API и практический опыт/понимание миграции Vue 2 → Vue 3.
  • Опыт с Pinia и Vuex 4.

TypeScript

  • Generics, utility-типы (Pick, Omit, Partial, Record, conditional/mapped types), type inference.
  • Типизация API-контрактов (REST), DTO/response-типы, branded/дискриминированные union-типы.
  • Опыт постепенной типизации существующих JS-проектов (стратегии any → unknown → конкретный тип).

Архитектура frontend-приложений

  • DDD (Domain-Driven Design) и Hexagonal/Clean Architecture на frontend:
  • понимание, чем DDD отличается от FSD (Feature-Sliced Design) и когда что уместно.
  • Dependency Injection: понимание принципов, опыт с tsyringe (или аналогами — InversifyJS) или готовность быстро освоить.
  • Паттерны: Use Case, Port/Adapter, Repository, Domain Service, Factory, EventBus, view-model mapping.
  • Проектирование ошибок по слоям (DomainError / ApplicationError / InfrastructureError).

Инфраструктура и инструментарий

  • Vite и Webpack 5: настройка сборки, code splitting, lazy loading, оптимизация бандлов.
  • Vitest, понимание unit- vs integration-тестов; e2e (Playwright/аналоги) — плюс.
  • Axios + кэширующие интерцепторы, маппинг legacy-ответов в доменные модели.
  • Git-workflow: MR/PR, rebase, conventional commits, ветвление trunk-based + релизные ветки.
  • UI-библиотеки: опыт работы с корпоративными библиотеками компонентов, Element Plus и аналоги.

Будет плюсом

  • Базовый опыт с React/Next.js — достаточно для чтения кода и мелких правок.
  • Опыт работы с TipTap (rich-text редактор) и сложными таблицами.
  • Понимание интеграций со внешними системами (Диадок, CTS-транспорт).
  • Знакомство с GitLab CI, Docker, YouTrack.

МЫ ПРЕДЛАГАЕМ:

  • удалённая работа;
  • оформление по ТК РФ, полный соц. пакет;
  • график работы: 5/2 с 9:00 до 18:00 (по МСК);
  • стабильную, белую заработную плату 180-200 000 на руки;
  • предоставляем технику: ноутбук и аксессуары;
  • интересные масштабные проекты в сфере электронного документооборота, электронного архива (хранение данных) и др.;
  • рост и развитие в рамках компании;
  • расширенную страховку ДМС включая стоматологию.