Node.js-разработчик (gaming)

Местоположение и тип занятости

Москва · Полный рабочий день · Можно удаленно

Компания

Экосистема игровых сервисов

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

Overgear — это международная торговая платформа в сфере игровых услуг.

Какие проблемы мы решаем?

С одной стороны, есть pro-игроки, которые довольно долго и хорошо играют в те или иные онлайн игры, и теперь хотели бы монетизировать свой скилл. С другой стороны, есть люди, которые любят игры, им скорее всего от 25 до 35 лет, в основном из Европы и Америки, у которых не так много свободного времени для того, чтобы заниматься монотонными вещами в игре, или им нужна помощь с прохождением сложных моментов.

Здесь появляемся мы в виде платформы, на которых одни находят других — помогаем клиенту найти исполнителя на свою задачу. Также выступаем в роле гаранта, проверяя качество выполнения услуги.

Мы используем две модели:

  1. Типичный маркетплейс, где исполнители размещают услуги, а клиенты с помощью фильтров находят нужного для себя исполнителя.
  2. Формат убера или магазина. Клиент просто выбирает услугу, покупает её у нас, а мы в свою очередь подбираем для него исполнителя, гарантируя повышенное качество сервиса.

Мы не смотрим на себя как на компанию одного продукта. Сейчас мы прорабатываем запуск и других околоигровых сервисов. Один из них — коучинг в играх, другой — поиск тиммейтов.

На данный момент мы покрываем услуги в дисциплинах WoW, Destiny, PoE, а наш ежемесячный оборот превышает 1 000 000 $.

Как все начиналось?

Активная разработка велась с 2018 года, изначально как MVP. В середине 2019 года стало понятно, что идея работает, и появились крупные партнёры. Со второй половины 2019 начался бурный рост клиентской базы. С конца 2019 года началась формироваться новая команда разработки с целью развития приложения в надежный, масштабируемый и поддерживаемый сервис. В конце весны 2020 вышли на окупаемость. 2020 год — можно назвать годом стабилизации и адаптации под большой рост пользователей.

2021 будет связан со значительными изменениями инфраструктуры и архитектуры приложения для масштабируемости и повышения качества.

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

Что и как мы используем в разработке?

На бэкенде есть монолит и несколько сервисов. В целом стремимся к микросервисной архитектуре и от монолита планомерно отказываемся.

Монолит реализован на NodeJS, Koa, использует RethinkDB. Новые сервисы пишем на NestJS в связке с MongoDB. Для ряда сервисов планируем использовать PostgreSQL. В качестве коммуникаций между сервисами используем REST и RabbitMQ. Для кэша Redis. Для сборки, разворачивания, оркестрации: Jenkins, Docker, Kubernetes, Rancher. Для мониторинга, алертов, логов используем Datadog для прода, для остального Grafana, Loki, Prometheus. Для трекинга ошибок - Sentry.

На фронте React, Redux, TypeScript. Для стилизации используем Styled components в связке со Styled system. С дизайнером взаимодействуем через Figma. Свой UI-Kit держим в Storybook. Тесты на Jest.

Наши приоритетные задачи

На бэкенде — это проработка и реализация архитектуры с учётом больших нагрузок, надёжности, масштабируемости разработки. Разбираем монолит на микросервисы и разрабатываем много новых фич. В качестве примера: система рекомендаций услуг, автоматический подбор исполнителей с учётом значительного количество критериев, чат боты для взаимодействия с исполнителями и клиентами.

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


Чем предстоит заниматься:

  • проектирование архитектуры приложений. Сейчас это международный сервис по обучению и помощи в онлайн-играх, но это только начало;
  • разработка сервисов на NodeJS. В основном используем NestJS — но есть и Koa;
  • проектирование структур БД. Используем RethinkDB и MongoDB — от первой планируем отказаться. Для ряда задач возможно подключим PostgreSQL, также есть Redis;
  • проектирование и разработка взаимодействия с frontend-частью. В основном это Socket.IO и REST, пробуем GraphQL;
  • написание UNIT-тестов;
  • написание технической документации;
  • участие в проведении собеседований.

Требования:

  • 3+ года написания JS-приложений (2+ года с использованием ExpressJS/Koa2/NestJS);
  • SQL/NoSQL базы данных(MongoDB/RethinkDB/PostregreSQL);
  • опыт покрытия своего кода тестами;
  • TypeScript;
  • безопасность приложения и основные типы уязвимостей.

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

  • опыт разработки реалтайм-приложений (Socket.IO/WebSockets);
  • Docker;
  • GraphQL (Apollo Server v2). Знание основных проблем и принципов их решения;
  • Redis/RabbitMQ;
  • английский уровня Upper-Intermediate;
  • активный Github/Gitlab профиль.

Примеры задач:

  • Чат, в котором происходит вся коммуникация на платформе: покупателей с продавцами, поддержки со всеми пользователями, менеджеров компании с пользователями;
  • сервисы работы с продуктами(услугами и товарами). Возможность задания опций, вариантов и категорий товаров;
  • сервисы работы с заказами. Жизненный цикл заказа;
  • сервис работы с выплатами;
  • Discord-бот, который тесно интегрирован с платформой, автоматизирует работу менеджеров и доставляет уведомления пользователям.

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

  • тихий, комфортный офис в новом комплексе «Фили Град» (модное место, где можно прямо в комплексе снять квартиру и ходить на работу в соседний дом);
  • ДМС, оформление по ТК;
  • рост вместе с проектом, бонусы за высокие результаты и особо приятные бонусы за сверхрезультаты;
  • необычные задачи и работа над живым продуктом, которым пользуются здесь и сейчас, с возможностью пообщаться напрямую с пользователями;
  • уникальная теплая ламповая атмосфера с игрой в покер / стикеры по пятницам.

Бонусы

Про внутренние процессы и культуру :)

Мы работаем по скраму, в двухнедельных спринтах. Релизимся 2-3 раза в спринт, но стремимся к тому, чтобы это делать чаще. Развиваем автоматизацию. Большинству из команды разработки удобно работать из офиса (Москва, БЦ Фили-Град), но все процессы отлажены для эффективной удаленной коммуникации.

Сейчас в команде пять разработчиков, в планах на год — вырасти вдвое. Развиваем направление QA внутри, а роль PO на данный момент выполняет CEO.

Открыто делимся опытом с рынком и продолжаем прокачивать экспертизу через внешних экспертов. У тебя тоже будет возможность выступать на конференциях, выбирать темы для внутренних митапов или найти себе ментора.

Ваш отклик

Авторизуйтесь
Откликаться на вакансии могут только зарегистрированные пользователи.