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%)
-
Разработка REST API: Проектирование и реализация эндпоинтов на Express.js с соблюдением принципов RESTful и чистой архитектуры.
-
Работа с данными: Моделирование схем и написание запросов через Prisma ORM.
-
Бизнес-логика: Классические запросы к backend, интеграция с внешними API (платежные системы, сторонние сервисы).
-
Безопасность и производительность: Внедрение middleware для аутентификации (JWT), валидации данных (Zod), обработка ошибок, кэширование (Redis).
-
Базы данных: Работа с PostgreSQL/MySQL, рефакторинг старых запросов.
Чем предстоит заниматься (Frontend 20%)
-
Разработка UI-компонентов: Написание переиспользуемых компонентов на Vue 3 Composition API (Options API не используем, только script setup).
-
Работа с состоянием: Использование Pinia для управления глобальным стейтом.
-
Интеграция с API: Подключение бэкенд-эндпоинтов к интерфейсу, обработка состояний загрузки и ошибок.
-
Легкий рефакторинг: Периодическое обновление старых частей фронта под новый стандарт кода.
Поддержка легаси (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, еженедельные митапы.
-
Команда: Небольшая команда, дружелюбная атмосфера.
-
Развитие: Оплата курсов Яндекс Практикум, участие в конференциях, доступ к корпоративной библиотеке.
Почему стоит откликнуться?
-
Доминирование бэкенда: Ты будешь писать сложную логику, а не верстать формы (90% времени — это серверный код).
-
Современный стек: Express + Prisma — это тренд, а Vue 3 Composition API — стандарт индустрии. При отклике на вакансию в сопроводительном письме напишите слово "это космос"
-
Интересный челлендж: У тебя будет возможность постепенно замещать легаси-бот современными микросервисами, но без давления жесткого рефакторинга.
Если ты ищешь позицию, где бэкенд — это твое основное поле для творчества, а фронтенд лишь для понимания общей картины, — ждем твое резюме!