Senior
Full time
Relocate, Limassol

Scorewarrior is a game developer and publisher from Limassol, Cyprus. The company is focused on the 4X strategy genre with an ambitious goal to grow it’s hit game Total Battle to become the No.1 strategy game in the world.
Our mission: to unite and excite people all over the world.
We are developing a massively multiplayer project with a codebase exceeding 300k+ lines of C++. The project comprises various services operating in hundreds of instances (a sharded system for horizontal scaling). Our Core team provides fundamental modules and libraries to make life easier for our game teams. We strive for quality design that allows for the easy addition and development of new game mechanics.
If you are passionate about software design, love C++, and want to make an impact on backend service architecture, we look forward to hearing from you!
Feel every line of your code come together in thrilling battles and epic campaigns, engaging millions of players worldwide. You won't just be designing architecture — you'll be creating a living universe where each new game mechanic and improvement provides players with fresh strategies, the ability to conquer new lands, and the chance to experience genuine competition. Seeing millions of users interact with systems that you developed brings a real sense of pride.
We Use:
C++20, Clang, and CMake.
Boost — only in our library, not in game code.
PostgreSQL.
GitLab, TeamCity, and Ansible.
SonarQube, clang-tidy, and clang-format.
Onboarding and coding conventions.
Python for utilities.
OS: Ubuntu.
What are you working on?
- The name of the project(s): Total Battle
- At what stage of the project(s)? LiveOps
- Genres: Strategy
- Platforms: PC, Browser, Mobile, iOS, Android
Team size and structure?
Our team consists of 150+ passionate, talented, self-demanding, and constantly developing professionals who love making high-quality games.
For which tasks (responsibilities)?
Designing and continuously refining architecture: facilitating the establishment and growth of core libraries and services, as well as establishing and implementing common standards, templates, and development methodologies.
Developing and presenting architectural solutions using UML diagrams and RFC documents, promoting design patterns and methodologies within the team, and taking solutions right through their lifecycle.
Strategic planning: participating in forming a technical backlog and actively influencing the evolution of architecture alongside other tech leaders.
Lifecycle Management:
Managing the full lifecycle of architectural solutions — from formulating requirements and initiating proofs of concept, to industrial implementation and long-term support, accounting for risks and constraints in each phase.
Participating directly in the creation of proofs of concept.
Researching and testing new tools, libraries, and approaches for potential use.
Studying and optimizing existing code: identifying bottlenecks, reducing technical debt, initiating systematic refactorings and redesigns, and enhancing reliability and scalability.
Core Component Development and Optimization:
Creating and enhancing core libraries and services, focusing on the convenient integration and expandability of APIs for game mechanics, and ensuring methodological consistency.
Designing new solutions and game mechanics based on specific architectural features (a sharded distributed monolith).
Systematically enhancing performance via multithreading optimization and efficient memory management, ensuring application scalability and resilience.
Communication and Coordination:
Working with external teams: facilitating the collection and expert evaluation of requirements, constraints, and risks, assisting in Core solution integration, and looking for optimization opportunities.
Working with the Framework team: discussing new architectural proposals (RFC), jointly defining priorities and approaches to reducing tech debt, and ensuring the consistency and effective integration of solutions.
Initiating and conducting design sessions, proposing improvements and optimizations, validating ideas with the developers, and aligning decisions between teams.
Mentoring and training colleagues on the subjects of architecture and best practices, organizing internal workshops, and fostering technical growth within the team.
Quality Assurance:
Participating in creating unit and integration tests for key components.
Ensuring that solutions are transparent and high quality: conducting code reviews, architectural reviews, and regular audits, and evaluating conformity with common standards and templates.
Improving testing and monitoring tools (metrics, telemetry, and logging) and ensuring early problem detection.
Task Examples:
Designing a system for cross-realm raids.
Designing a system for effects and buffs used in the game's battle and point-of-interest mechanics.
Designing a system for in-game special offers and promotions.
Transfering game logic from the client to backend and ensuring that functional requirements and the UX are taken into consideration.
Designing an instance system that enables the implementation of mechanics that are different from those of the main game.
Designing a system for the distribution of in-game items.
Refining the HotReload system for seamlessly updating configs and functionality across various environments.
Our Technical Achievements:
A library/framework of ready-made solutions for creating game features.
ORM, allowing us to avoid having to write code for saving to the DB.
A code generator for binary RPC protocol and ORM.
Pub/sub event system for game clients.
Telemetry for real-time product state tracking (in Grafana).
An expression interpreter for game configuration flexibility.
What kind of professional are we looking for?
C++ (5+ years):
In-depth knowledge of C++17/C++20 and the standard library.
Proficiency with multithreading, STL, templates, and memory management principles.
Experience in backend development:
Proficiency with Linux (console, debugging, and profiling).
An understanding of network basics (TCP/IP, RPC, and HTTP) and horizontal scaling principles.
Expertise with relational databases (PostgreSQL) and NoSQL (Redis, Spanner, etc.).
Software Design:
Knowledge of design patterns (GOF, SOLID), UML diagrams, and architectural patterns.
The ability to design clear and expandable APIs and write maintainable code.
Experience creating architectural solutions and ensuring the quality thereof.
Leadership Skills:
Experience making architectural decisions and defending them before the team and technical management.
Mentoring skills: assisting less experienced colleagues and conducting internal workshops.
The ability to plan tasks, assess risks, and prioritize.
Other Technologies:
Python for utilities and automation.
Experience with MVC, MVP, and MVVM client architectures.
Experience of backend development in C# or Java.
Experience with DI containers.
Basic knowledge of CI/CD (GitLab, TeamCity, and Ansible).
Familiarity with clang-tidy, clang-format, and SonarQube (or their equivalents) would be an advantage.
Would Be a Plus:
Code samples on GitHub or project links.
Experience creating or refactoring large features/systems.
A personal interest in gamedev and an understanding of game mechanics.
Knowledge of the C++ Core Guidelines and other code quality standards.
A basic understanding of cloud technologies (Docker and Kubernetes).
What is important for us in a person?
Excellent communication skills, and the ability to work with cross-functional teams.
Flexibility, adaptability, and openness to rapid change.
Accountability, attention to detail, and a results-orientated approach.
Why do we enjoy working here?
The best team in the world!
Personal development opportunities paid for by the company: professional and language courses, books, etc.
Friendly monthly office parties and epic, annual offsite company birthday and Christmas parties.
What are the conditions and bonuses?
An excellent remuneration package, including a 13th salary.
Full-coverage relocation for you and your family to Cyprus (Limassol).
A modern and sunny office space close to the sea.
Private health insurance for you and your family members.
A monthly pre-school, school, and university allowance for employees' children.
Lunch compensation.
A sports and fitness allowance.
Bonuses for outstanding results, years worked, getting married, and the birth of a child.
The selection process
Screening Interview with Recruiter.
Technical Interview.
Meeting with the Team.