Backend Developer C++ (GameDev)
FC
( сайт не указан )
Аккаунт зарегистрирован с email *@fusioncore.ru
Опыт работы от 1 года до 3х лет
FUSION CORE — компания разработчик браузерных и мобильных игр, основанная в 2015 году командой с многолетним опытом в игровой индустрии. Главным фокусом компании является разработка и развитие больших MMO игр в жанре 4x strategy, которые доступны игрокам по всему миру.
У нас проект с кодовой базой ~370k SLOC, состоит из нескольких сервисов работающих в нескольких сотнях экземпляров. Игровые сервисы представляют из себя распределенную систему с горизонтальным масштабированием по шардам.
Ищем С++ разработчика, которому нравится заниматься проектированием фичей и писать простой код и работать в команде.
Потребуется продумывать структуру и API фичей, рефакторить фичи с плохой реализациией, развивать код фреймворка, писать новые сервисы, делать код-ревью и обмениваться опытом с командой, часто работать совместно с архитектором. Важно быть командным игроком, много вопросов решаются общением.
На эту роль хочется человека для которого GRASP, GOF, SOLID, DRY, KISS и подобное - известные термины, с любым, даже минимальным, опытом их применения.
Среди наших достижений есть такие как:
- Генератор кода для протокола и ORM по описанной схеме.
- UnitOfWork, отслеживающий изменение в контейнерах для того, чтобы сохранить дифф изменений в БД или откатить их в случае ошибки.
- Эвентовая система (pub/sub) для игровых клиентов.
- Система телеметрии, выводящая метрики в Grafana.
- Интерпретатор выражений
- И многое другое...
Примеры задач, в которых тебе нужно будет принять участие:
- Есть ряд игровых фичей с плохим дизайном - нужно будет продумать новый и переделать их.
- Есть парочка старых небольших сервисов - нужно редизайнить и переписать.
- Хотим вндерить в код структурное логирование
- Хотим внедрить conan.io
- Необходимо переделать систему авторизации
- Необходимо модернизировать некоторые части фреймворка
У нас НЕ требуется разрабатывать низкоуровневые вещи вроде:
- Аллокаторы, свой memcpy, свои lock-free и подобное.
- Контейнеры, которые "эффективнее" тех, что есть в существующих библиотеках.
- Сетевой код над epoll / io_uring.
В подобных случаях, чаще всего нас устраивают существующие библиотеки.
Для работы понадобится:
- Общительность для работы в команде.
- Любовь к проектированию и любой практический опыт в этом.
- Опыт работы на С++ и stl более 3х лет.
- Знания примитивов синхронизации.
- Пониманиие сетевых основ (tcp, http)
- Готовность изучить python для утилит
Совершенно не обязательно, но любой пункт будет плюсом:
- Наличие кода, который вы можете показать.
- Знание основных идей C++ Core Guidelines, стремление следовать им.
- Опыт работы с базами данных (SQL, NoSQL).
- Знакомство с протоколами REST, gRPC, Apache Thrift и подобными.
- Знакомство с PofEAA (Martin Fowler).
- Знание архитектур построения бекенда (3 layers, Onion и.т.д).
- Знание других ЯП высокого уровня (для кругозора).
Мы используем:
- С++20, CMake, clang-11.
- Под капотом фреймворка: boost asio / beast, rapidjson, hyperscan, openssl.
- БД: PostgreSQL.
- OS: Linux Ubuntu.
- GitLab, TeamCity, Ansible.
- SonarQube, clang-tidy, clang-format.
- Python 3 для утилит.
- IDE: CLion, PyCharm, DataGrip.
- Имеется соглашение по написанию кода.
Мы предлагаем:
- Комфортный офис в шаговой доступности от м. Сокол (на данный момент работаем удаленно);
- Классный коллектив и неформальная обстановка;
- Нетривиальные задачи в успешном проекте;
- Кофе, фрукты, снеки и игровая приставка в зоне отдыха, а также ежемесячные корпоративные вечеринки и компенсацию питания;
- Возможность профессионального обучения (книги, курсы, конференции, митапы) за счет компании;
- 100% компенсация заработной платы на время больничного;
- Расширенный пакет ДМС со стоматологией через 3 месяца после прохождения испытательного срока;
- Официальное оформление по ТК РФ;
- График работы: 10:00 - 19:00.
Если вы крутой специалист не из Москвы, мы готовы помочь с переездом и компенсацией стоимости аренды жилья на первые два месяца и оплату билетов.
