freehire launches on Product Hunt on 26 August.

Follow →

Fullstack Node.js / Vue3 / Middle

Summary

Middle Fullstack developer building a VPN service’s Node.js API and Vue 3 frontend, with occasional PHP legacy support.

Зарплата: от 160000 RUR (на руки)

Должность: Middle Fullstack Developer (Node.js / Vue.js)
Направленность: 90% Backend / 10% Frontend
Стек: Node.js (Express.js, Prisma), Vue 3 (Composition API), PHP (поддержка легаси)

После отклика вам потребуется пройти тестовое задание, которое может занять 1-2 часа.

О проекте

Мы занимаемся разработкой VPN сервиса. Основной продукт — это несколько SPA-приложений на Vue 3 и мощный API на Node.js. В связи с расширением функционала нам требуется разработчик, который готов взять на себя бэкенд-часть (проектирование архитектуры, работу с БД и бизнес-логику), а также поддерживать фронтенд в актуальном состоянии.

Важно: В нашей инфраструктуре присутствует устаревший телеграм-бот на чистом PHP (без фреймворков). Его полный рефакторинг не планируется, но требуется периодическая поддержка и мелкие доработки (около 5% от общего времени).

Чем предстоит заниматься (Backend 90%)

  1. Разработка REST API: Проектирование и реализация эндпоинтов на Express.js с соблюдением принципов RESTful и чистой архитектуры.

  2. Работа с данными: Моделирование схем и написание запросов через Prisma ORM.

  3. Бизнес-логика: Классические запросы к backend, интеграция с внешними API (платежные системы, сторонние сервисы).

  4. Безопасность и производительность: Внедрение middleware для аутентификации (JWT), валидации данных (Zod), обработка ошибок, кэширование (Redis).

  5. Базы данных: Работа с PostgreSQL/MySQL, рефакторинг старых запросов.

Чем предстоит заниматься (Frontend 20%)

  1. Разработка UI-компонентов: Написание переиспользуемых компонентов на Vue 3 Composition API (Options API не используем, только script setup).

  2. Работа с состоянием: Использование Pinia для управления глобальным стейтом.

  3. Интеграция с API: Подключение бэкенд-эндпоинтов к интерфейсу, обработка состояний загрузки и ошибок.

  4. Легкий рефакторинг: Периодическое обновление старых частей фронта под новый стандарт кода.

Поддержка легаси (PHP)

  • Периодический фиксы в телеграм-боте (скрипты на чистом PHP).

  • Добавление новых команд/колбэков по необходимости.

  • Это не основная задача, занимает не более 5% времени.

Требования к кандидату

Обязательные:

  • Опыт коммерческой разработки на Node.js от 3-х лет.

  • Отличное знание Express.js (middleware, routing, error handling).

  • Уверенное владение Prisma ORM (миграции, отношения, сырые SQL-запросы через $queryRaw).

  • Глубокое понимание Vue 3 Composition API (знание жизненного цикла, реактивности, композиции).

  • Опыт работы с реляционными СУБД (написание оптимизированных запросов).

  • Понимание принципов асинхронности в JS (Promise, Async/Await, Event Loop).

Желательные:

  • Базовое знание PHP (на уровне чтения кода и простых правок).

  • Знание Docker и основ CI/CD.

Условия работы

  • График: Полный день / Удаленно

  • Зарплата: Уровень рынка (обсуждаемо), привязана к грейду Middle.

  • Техпроцессы: Git Flow, Code Review, YouTrack, еженедельные митапы.

  • Команда: Небольшая команда, дружелюбная атмосфера.

  • Развитие: Оплата курсов Яндекс Практикум, участие в конференциях, доступ к корпоративной библиотеке.

Почему стоит откликнуться?

  1. Доминирование бэкенда: Ты будешь писать сложную логику, а не верстать формы (90% времени — это серверный код).

  2. Современный стек: Express + Prisma — это тренд, а Vue 3 Composition API — стандарт индустрии. При отклике на вакансию в сопроводительном письме напишите слово "это космос"

  3. Интересный челлендж: У тебя будет возможность постепенно замещать легаси-бот современными микросервисами, но без давления жесткого рефакторинга.

Если ты ищешь позицию, где бэкенд — это твое основное поле для творчества, а фронтенд лишь для понимания общей картины, — ждем твое резюме!