Перейти из frontend в backend на Node.js проще, чем начинать с нуля: язык, TypeScript, Git и работа с API уже знакомы. Новыми будут серверная сторона JavaScript, базы данных, архитектура сервиса и всё, что связано с надёжностью: обработка ошибок, очереди, тесты и развёртывание. Лучше всего эти темы осваиваются на одном проекте, который вы доводите до рабочего состояния.
Что из frontend-опыта пригодится
- JavaScript и TypeScript: тот же язык, типы и инструменты.
- Работа с API со стороны клиента: вы знаете, какие ответы удобны интерфейсу и как выглядят ошибки.
- Git, код-ревью и работа в команде.
- Асинхронность: промисы, async/await и цикл событий.
Это хороший задел: многие вопросы на backend-собеседовании начинаются с того же цикла событий, только теперь в Node.js. Как он устроен, разобрано в статье Event Loop в JavaScript.
Каких тем не хватает для backend-собеседования
Набор тем почти всегда похожий, меняется глубина. Чаще всего проверяют:
- Node.js изнутри: потоки, обработку ошибок, работу с файлами и сетью.
- HTTP API: маршруты, проверку входных данных, коды ответов и единый формат ошибок.
- Базы данных: модель данных, SQL, индексы и транзакции в PostgreSQL.
- Фреймворк: NestJS с модулями, внедрением зависимостей и жизненным циклом запроса.
- Очереди и события: зачем нужны RabbitMQ или Kafka и как не потерять сообщение.
- Тесты, Docker и развёртывание.
- System design: как спроектировать сервис под нагрузку.
Подробная карта тем - в роадмапе backend-разработчика на Node.js. Отдельно стоит разобрать индексы PostgreSQL и EXPLAIN, вопросы по NestJS и формат ошибок API.
Как показать backend-опыт в резюме
Коммерческого backend-опыта у frontend-разработчика обычно мало, поэтому решает проект. Лучше один сервис, доведённый до рабочего состояния, чем пять учебных заданий. В нём должны быть база данных с миграциями, API с проверкой входных данных, обработка ошибок, тесты и инструкция по запуску. На собеседовании спросят, почему вы приняли то или иное решение, поэтому решения стоит записывать.
Если вы писали серверную часть на работе, например прослойку между интерфейсом и сервисами, интеграции или скрипты, это тоже опыт: опишите задачу и результат. Как оформить резюме, чтобы его заметили, разобрано в статье о резюме разработчика.
Три способа подготовиться
Самостоятельно по роадмапу
Подходит, если вы умеете сами ставить задачи и проверять результат. Минус в том, что ошибки в архитектуре и пробелы в теории часто становятся видны только на собеседовании.
С ментором 1-на-1
Ментор составляет план под ваш опыт, проверяет код и проводит пробные собеседования. В MentorCareer есть отдельный backend-трек на Node.js: Node.js, SQL, NestJS, брокеры сообщений, тестирование, Docker и System Design.
В буткемпе
Буткемп даёт группу, расписание и проверку каждой работы. Буткемп Node.js рассчитан на frontend- и fullstack-разработчиков, junior и middle, которые хотят вырасти в backend: 20 недель, один учебный проект в GitLab, CI и закрытые тесты на каждую сдачу и ревью наставника.
Если не уверены, какой формат подойдёт, сравните их в материале менторство, курсы, буткемп или консультация или разберите свою ситуацию на карьерной консультации.