Zwift is a company focused on providing a smooth gaming experience for its customers across various platforms. As a Senior Software Engineer, Game Systems, you will design and implement game features, optimize performance, and collaborate with cross-functional teams to enhance the gaming experience.
Responsibilities:
- Design and implement game features and systems in C++ for all Zwift platforms (iOS, Windows, Android, Mac, Apple TV), ensuring optimal performance and maintainability
- Collaborate with cross-functional teams, including game engineers, backend engineers, product managers, and UX designers to design, plan, test, and deliver high-quality features
- Optimize game performance through profiling, instrumentation, and improvements in CPU utilization, memory usage, and startup times
- Build tools and frameworks to improve development workflows and empower other other engineers
- Debug and resolve complex issues across a diverse set of devices and platforms, improving reliability and stability
- Contribute to code reviews, design discussions, and team planning processes
- Ensure code quality through automated testing (e.g., unit testing, integration testing, and similar)
- Advocate for and implement engineering best practices like automated testing, Continuous Integration / Continuous Deployment (CI/CD), reusability, and maintainability
Requirements:
- Bachelor's degree in Computer Science, Software Engineering, or similar discipline
- 5+ years of relevant engineering experience
- Strong expertise in C++ development, including experience with native libraries and performance optimization
- Familiarity with multi-threading, memory management, and software design patterns
- Proven experience delivering production-quality features with appropriate levels of testing and instrumentation
- Familiar with Git and version control workflows
- Experience with CI/CD and automated testing frameworks
- Strong problem-solving skills and able to work and collaborate effectively in remote, distributed teams
- Experience working on game engines (Unity, Unreal, or custom-built) and their integration with native platforms
- Familiarity with multiplayer game systems and latency-sensitive applications
- Experience in experimentation and feature flag systems (e.g. Amplitude, Optimizely, Firebase, or similar)
- Experience with Java and modern Android development practices
- Solid understanding of Android app architecture, the JNI, and native-to-Java bridging
- Interest in building solutions that support our engaged Zwift Community of cyclists, runners, and fitness enthusiasts