Описание
Многопользовательская социальная игра-знакомства в реальном времени. Работает с 2017 года, стабильно приносит выручку и продолжает расти. Распространяется через ВКонтакте, Одноклассники и другие соцсети: около 150 000 MAU, в пике до 1200 человек онлайн. До сих пор разработкой и поддержкой игры занимался один человек — основатель проекта. Он остаётся в команде, помогает разобраться в коде и участвует в технических решениях, но постепенно переключается на развитие продукта.
Задачи
•Разрабатывать новые функции и сервисы на TypeScript. Первая задача — создание отдельного сервиса игровых ботов.
•Поддерживать существующий код, устранять критичные проблемы и постепенно сокращать технический долг.
•Восстановить схему базы данных, внедрить тестирование ключевых компонентов.
•Поэтапно переносить проект на Node.js и React. Игровое ядро — в последнюю очередь.
•Развивать продукт: задачи охватывают весь цикл разработки, от серверной логики до интерфейса пользователя.
•Участвовать в архитектурных решениях и подготовке проекта к масштабированию.
Требования
•Уверенное владение TypeScript, Node.js и React.
•Практический опыт работы с MySQL и Redis.
•Умение читать и аккуратно дорабатывать PHP-код. Писать на нём с нуля не потребуется.
•Опыт работы с legacy и поэтапными миграциями.
•Самостоятельность и умение разбираться в существующих технических решениях, прежде чем их менять. Проекту не нужен разработчик, который захочет сразу всё переписать. За неочевидными решениями в коде стоят годы работы с живым трафиком.
Будет плюсом:
•WebSocket, Centrifugo, долгоживущие процессы
•Опыт платёжных интеграций
•Знание Go
•Опыт игровой или realtime-разработки, мобильной вёрстки
Условия
•Стабильный продукт с реальной выручкой и активной аудиторией.
•Современный стек и возможность самостоятельно провести техническую миграцию.
•Влияние на архитектуру и развитие продукта.
•Прямое взаимодействие с основателем проекта.
•Понятные технические приоритеты и готовый план развития.
•Перспективы масштабирования, расширения команды и выхода на международные рынки.
•Полная занятость, удалённо из любой точки мира.
•Зарплата обсуждается индивидуально с учётом опыта и квалификации.