Senior Backend C++ Developer (Framework)
- On-site
- Limassol, Lemesos, Cyprus
- IT
Job description
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 team consists of 150+ passionate, talented, self-demanding, and constantly developing professionals who love making high-quality games.
Our mission: to unite and excite people all over the world.
If you are passionate about system architecture, skilled in backend development, and enjoy creating APIs and tools for other developers, we have an offer for you!
We are looking for a Senior C++ Developer to join the team working on the Game Backend Framework and SDK — an internal solution that simplifies the creation of game mechanics.
Our game project contains around 500k lines of code, where a unified game world is sharded across hundreds of service instances. We're constantly developing new game mechanics, and the project is continuing to grow. Our main goal is to guarantee future scalability, flexibility, quality, and simplicity in developing new game features.
Here's what lies in store:
- Interacting with the game development team: analyzing problems, gathering requirements, and developing solutions.
- Researching, designing, implementing, optimizing, and maintaining the SDK.
- Monitoring SDK performance and improving it based on key metrics.
- Creating and maintaining developer documentation.
Task examples:
- Developing modular and flexible solutions for game mechanics and a simple API in our libraries for the game's backend services.
- Researching and implementing new approaches to accelerate the development of game features (for example, introducing a scripting language).
- Solving problems related to excessive coupling and insufficient code coherence.
- Enhancing ORM capabilities for more flexible database storage.
- Improving the efficiency of network code and asynchronous I/O operations.
- Optimizing CPU/MEM resource usage.
Examples of our developments:
- Custom request handlers, timers, and background tasks.
- A Unit of Work for ensuring atomicity of entity changes, with the ability to rollback or commit changes in memory and to save to the database.
- ORM — working with data from code without having to write SQL queries.
- A code generator for binary RPC, ORM, and other automations.
- A pub/sub event system for game clients and interaction between features.
- A Message System for data exchange between game features (including S2S).
- An expression interpreter to facilitate game configuration by game designers.
- A real-time telemetry system.
Job requirements
Key skills:
- C++ (5+ years): Solid knowledge of the 17+ standard and popular libraries.
- Software Design: The ability to write simple and maintainable code, knowledge of principles and design patterns, and familiarity with common architectures.
- API Development: The ability to design intuitive and extensible solutions for developers.
- Backend: Confident knowledge of server technologies and how to work with Linux.
- Multithreading Experience: Experience working with threads, preventing race conditions, deadlocks, and lock contention. An understanding of coroutines.
- Networking: Knowledge of IP, TCP, and UDP; experience with TCP, HTTP, REST/RPC, and asynchronous APIs.
- Databases: Experience with relational and NoSQL databases, caching, and cache invalidation.
- Python: Knowledge thereof or a willingness to learn quickly for the purposes of utility creation and code generation.
- C#: Knowledge thereof or a willingness to learn for the purposes of supporting C# SDK versions.
- Testing: Experience of writing unit and integration tests.
The following would also be to your advantage:
- A portfolio of code you can show us.
- An understanding of the gaming industry and related terminology.
- Game development experience.
- Basic knowledge of Cloud and CI/CD.
- Knowledge of other programming languages.
We use:
- C++20, Clang, and CMake.
- Boost, ASIO, and libfmt.
- PostgreSQL, Redis, and Google Spanner.
- GitLab, TeamCity, and Ansible.
- SonarQube, Clang-Tidy, and Clang-Format.
- Python for utilities and code generator.
- C# ASP.Net for one of the services.
- OS: Ubuntu.
What we offer and our benefits:
- The best team in the world!
- 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 school allowance for your children at pre-school and school-age.
- Lunch compensation.
- Personal development opportunities paid for by the company: professional and language courses, books, etc.
- Bonuses for outstanding results, years worked, getting married, and the birth of a child.
- Friendly monthly office parties and epic, annual offsite company birthday and Christmas parties.
or
All done!
Your application has been successfully submitted!