- Формат работы: офис, Кипр, Лимассол
- Уровень: Lead
- Отдел: Engineering
Наша команда ищет Tech Lead с глубокими знаниями C++ и сильным архитектурным видением, который возьмёт на себя техническое лидерство в развитии новых игровых возможностей для крупного многопользовательского проекта с долгосрочным геймплеем.
О продуктеМы развиваем MMO 4X стратегию с глубокой политической системой и активным взаимодействием игроков. Игрок улучшает свой город, заключает союзы, сражается с монстрами и противниками. Игра активно развивается, и мы регулярно внедряем новые механики.
Кодовая база — около 300k строк кода, множество сервисов, работающих в сотнях инстансов. Архитектура построена как шардированная система для горизонтального масштабирования.
Основная задача команды — создание технического дизайна, который обеспечивает качество, гибкость и простоту разработки игровых механик.
Задачи:- Выявление и устранение проблем, снижающих эффективность разработки или ведущих к низкому качеству решений.
- Взаимодействие с Framework и Core командами для решения возникающих вопросов и контроль последующей доработки.
- Проведение технических ревью решений, разрабатываемых внутри команды.
- Создание предварительного технического дизайна, декомпозиция фич на задачи и обучение команды этим навыкам.
- Участие в найме разработчиков: оценка кандидатов, проведение технических интервью.
- Выполнение задач по проектированию, разработке или устранению технического долга в оставшееся от обязанностей техлида время.
Требования:- 6+ лет опыта коммерческой разработки ПО, включая 4+ года в backend-инженерии.
- Отличное знание современного C++ (C++17/20) и STL, уверенное владение шаблонами (включая вариадические и concepts), понимание RAII.
- Подтверждённый опыт разработки и вывода в прод средних и крупных компонентов/систем (до ~3 месяцев разработки), в том числе с участием нескольких команд.
- Умение ставить измеримые цели по улучшению процессов и стабильно достигать их.
- Опыт создания предварительных технических дизайнов и декомпозиции задач.
- Системный подход к выявлению, приоритизации и устранению технического долга.
- Опыт менторинга: проведение регулярных 1:1, создание персональных планов развития.
Будет плюсом:- Примеры кода.
- Знание других высокоуровневых языков.
- Практический опыт применения Domain-Driven Design.
- Опыт работы с Akka.NET, Microsoft Orleans или другими actor-based фреймворками.
Мы используем:- C++20, Clang, CMake
- Boost (только библиотека, не в игровом коде)
- PostgreSQL
- GitLab, TeamCity, Ansible
- SonarQube, Clang-Tidy, Clang-Format
- Python (утилиты)
- Linux
Наши технические разработки- Собственная библиотека/фреймворк для создания игровых фич
- ORM для работы с БД без ручного написания запросов
- Генератор кода для бинарного RPC протокола и ORM
- Pub/Sub система событий для игровых клиентов
- Телеметрия с отображением статуса продукта в реальном времени (Grafana)
- Интерпретатор выражений для гибкой конфигурации игры
- HotReload окружение — ежедневные обновления игры
- Синхронный и асинхронный сетевой дизайн
- Внутренняя система событий
- Система транзакционных и персистентных сообщений
- R-tree карта мира