Company | Scorewarrior |
Job title | Senior Backend C++ Developer (Framework) |
Job location | Limassol, Lemesos, Cyprus |
Type | Full Time |
Responsibilities:
- Interacting with the game development team: analyzing problems, gathering requirements, and developing solutions.
- Developing modular and flexible solutions for game mechanics and convenient APIs in our libraries for game backend services.
- Refactoring legacy code: transitioning from god objects and dependency-hell into a modular architecture following best practices.
- Researching and implementing new approaches to accelerate game feature development (e.g., finding high-level abstractions, implementing a scripting language).
- Extending object-relational mapping (ORM) capabilities for more flexible database storage.
- Improving network code efficiency and asynchronous I/O operations.
- Optimizing CPU/MEM resource usage
- Optimizing interaction with databases and third-party services
- Creating and maintaining developers’ documentation
Requirements & 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 in 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.