Backend-разработчик (Node.js/TypeScript) в офис

КРАФТТЕК

Backend-разработчик (Node.js/TypeScript) в офис

Санкт-Петербург, Московский проспект, 120Ас1

Метро: Московские ворота

Описание вакансии

Мы развиваем DotSpace — платформу для совместной работы на интерактивных онлайн-досках. Это большой живой продукт: realtime-коллаборация, работа с файлами, разноуровневые права доступа, история изменений, интеграции с корпоративной инфраструктурой, безопасность и высокая нагрузка.

Ищем backend-разработчика уровня Middle, способного выбирать решения для продуктовых задачи и реализовывать их.

Мы не ожидаем знания всего нашего стека, но ожидаем достаточную инженерную базу, чтобы незнакомая технология не становилась блокером.

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

Что предстоит делать:

  • Разрабатывать новые возможности backend на Node.js / TypeScript.
  • Добавлять и изменять REST API, бизнес-логику и работу с PostgreSQL.
  • Работать с моделями данных, миграциями, транзакциями и индексами.
  • Разбираться в существующем коде и аккуратно его развивать.
  • Исправлять ошибки и разбираться в причинах их возникновения.
  • Покрывать важную логику тестами.
  • Работать с realtime-функциональностью, Redis, очередями и фоновыми задачами по мере погружения в проект.
  • Участвовать в code review и обсуждении технических решений.
  • Самостоятельно вести понятные задачи от постановки до готового результата, синхронизируясь по спорным или архитектурно значимым решениям.

Что для нас важно технически

Ожидаем, что ты:

  • уверенно работаешь с JavaScript и TypeScript;
  • уверенно работаешь с Node.js и умеешь писать и отлаживать серверный код: понимаешь асинхронность, Promise, обработку ошибок, HTTP, middleware и работу event loop на практическом уровне;
  • умеешь проектировать и реализовывать REST API, понимаешь ответственность контроллеров, сервисов и других слоёв приложения;
  • работал с PostgreSQL в реальных задачах: использовал связи между таблицами, CTE, JOIN, индексы и транзакции, понимаешь, когда и зачем они нужны;
  • умеешь работать с базой данных из приложения и разбираться в проблемах на стыке кода и БД;
  • умеешь читать чужой код, находить нужный участок системы и разбираться в незнакомой кодовой базе;
  • умеешь самостоятельно разобраться, как реализовать поставленную задачу в рамках существующей системы: мы описываем ожидаемый результат и ограничения, но не разбиваем каждую задачу на пошаговую инструкцию с указанием конкретных файлов, методов и вызовов;
  • пользуешься Git в повседневной работе;
  • умеешь самостоятельно проверять и отлаживать свою работу до передачи задачи на review.

Опыт с Express и Sequelize будет особенно полезен.

Не требуется знать наизусть фазы event loop, определения паттернов или формулировки из книг.

Для нас важнее практический опыт: способность самостоятельно написать, проверить и отладить обычный серверный функционал, а также оставить после себя код, который следующий разработчик сможет понять и изменить.

Отдельно про нейросети:

Мы работаем с нейросетями и считаем их обычным инструментом современного разработчика.

Хороший результат для нас — когда разработчик может с помощью документации, существующего кода и ИИ:

  • разобраться в поставленной задаче;
  • найти нужную часть проекта;
  • предложить способ реализации;
  • написать код;
  • проверить граничные случаи;
  • написать или дополнить тесты;
  • разобраться с возникшей ошибкой;
  • объяснить, почему решение сделано именно так.

Но «нейросеть написала — я вставил» не считается решением задачи. Важно понимать получившийся код, уметь его проверить, заметить ошибку или неподходящее решение и в итоге отвечать за результат.

Будет плюсом:

Хорошо, если ты уже сталкивался с чем-то из этого:

  • принципами SOLID, DDD или слоистой архитектурой.
  • Redis;
  • Socket.IO / WebSocket;
  • S3-совместимыми хранилищами;
  • очередями и фоновыми задачами;
  • Kafka или другими брокерами сообщений;
  • JWT, аутентификацией и разграничением прав доступа;
  • unit- и integration-тестами;
  • Docker;
  • CI/CD;

Не требуется знать всё, но ожидаем практический опыт хотя бы с несколькими технологиями из списка и способность самостоятельно разобраться с остальными.

Как мы работаем:

Нам важна самостоятельность, но не работа в вакууме.

Если задача понятна — ожидаем, что ты сможешь взять её и двигать дальше без постоянного контроля каждого шага.

В общении ценим спокойный рабочий подход. Можно спорить с решением, задавать вопросы, предлагать альтернативы и аргументированно отстаивать свою позицию без спора ради спора.

О проекте и задачах:

Backend DotSpace — это не набор однотипных CRUD-методов.

В продукте есть:

  • совместное редактирование досок в реальном времени;
  • история и версии изменений;
  • конкурентное редактирование данных;
  • комментарии, чат и реакции;
  • работа с изображениями и документами;
  • приватное S3-хранилище;
  • роли и права доступа;
  • корпоративная аутентификация и MFA;
  • Redis и Socket.IO;
  • фоновые задачи;
  • PostgreSQL;
  • Kafka и межсервисные события;
  • аудит и мониторинг;
  • интеграции с корпоративными системами безопасности.

Поэтому здесь достаточно пространства, чтобы довольно быстро вырасти из Junior+ в уверенного Middle.

Что предлагаем:

  • Работа напрямую с техническим руководителем проекта.
  • Задачи на реальном сложном продукте, а не типовой CRUD.
  • Code review с объяснением решений, а не просто «переделай».
  • Возможность постепенно брать более сложные участки системы.
  • Возможность влиять на технические решения по мере роста.
  • Нормальное использование нейросетей в разработке вместо запретов на них.

Как проходит отбор:

Хотим сделать процесс без лишних кругов:

  1. Небольшое тестовое на подход к решению задач.
  2. Короткое знакомство и разговор о предыдущем опыте.
  3. Техническая беседа по реальным задачам backend-разработки.
  4. Обсуждение условий и финальное решение.

В сопроводительном письме можешь коротко написать:

какую backend-задачу тебе приходилось самостоятельно доводить до результата и как ты сегодня используешь нейросети при разработке.

Навыки
  • JavaScript
  • TypeScript
  • Node.js
  • Postgres
  • Express.js
  • Sequelize
  • PostgreSQL
  • Socket.IO
  • Git
  • SemVers
Посмотреть контакты работодателя

Адрес

Похожие вакансии

SellerGroup
  • Санкт-Петербург

  • до 100000 RUR

Рекомендуем
Evercode Lab
  • Санкт-Петербург

  • до 100000 RUR

Рекомендуем
Газпром нефть
  • Санкт-Петербург

  • до 100000 RUR

Рекомендуем
Санкт-Петербургский политехнический университет Петра Великого (ФГАОУ ВО СПбПУ)

Backend-разработчик

Санкт-Петербургский политехнический университет Петра Великого (ФГАОУ ВО СПбПУ)

  • Санкт-Петербург

  • до 100000 RUR

НИИ телевидения

Python Backend Developer

НИИ телевидения

  • Санкт-Петербург

  • до 100000 RUR

Санкт-Петербургский политехнический университет Петра Великого (ФГАОУ ВО СПбПУ)

Backend-разработчик в отдел разработки корпоративных систем

Санкт-Петербургский политехнический университет Петра Великого (ФГАОУ ВО СПбПУ)

  • Санкт-Петербург

  • до 100000 RUR

Крафт
  • Санкт-Петербург

  • от 115000 RUR

Крафт
  • Санкт-Петербург

  • от 115000 RUR

Группа компаний БТК

Грузчик в столовую

Группа компаний БТК

  • Санкт-Петербург

  • от 59319 RUR

Повар в офис

ГК Балтийская коммерция

  • Санкт-Петербург

  • от 90000 RUR

Астра Марин Софт

Junior Backend разработчик

Астра Марин Софт

  • Санкт-Петербург

  • до 90000 RUR

Рестопарк Fun City
  • Санкт-Петербург

  • от 120000 RUR

ИСТА
  • Санкт-Петербург

  • от 100000 RUR

Ресторан Итальянской кухни River

Повар в ресторан итальянской кухни "RIVER"

Ресторан Итальянской кухни River

  • Санкт-Петербург

  • от 5200 RUR

Такояки
  • Санкт-Петербург

  • до 4700 RUR

ГК АВТОграф
  • Санкт-Петербург

  • от 90000 RUR

Maximilian Brauhaus
  • Санкт-Петербург

  • от 80000 RUR

  • Санкт-Петербург

  • до 68000 RUR

Хотите оставить вакансию?

Заполните форму и найдите сотрудника всего за несколько минут.
Оставить вакансию