T

Senior/Staff Backend Engineer

Thatgamecompany
18 days ago
Full-time
Remote
Worldwide
Remote Engineering
Senior/Staff Backend Engineer

Remote US & Canada

For β€œSky: Children of the Light”, thatgamecompany has developed a real-time, multiplayer game server system capable of handling a massive amount of concurrent users. Providing a reliable and low latency experience for our players is a priority. We build, test, and maintain systems for account and login, resource scaling, seamless matchmaking, and live updates. We need your help developing and scaling these mission critical systems so that we can continue providing impactful multiplayer experiences to people around the globe.

On any given day at TGC, you might:

- Design and implement large-scale, highly available backend microservices that serve millions of concurrent players. Aim for zero downtime.

- Monitor system health and quickly respond to any failures or glitches to deliver a smooth online experience to players worldwide.

- Improve quality through code reviews, expanded test coverage, technical post-mortems, improved documentation.

- Encourage collaboration and domain knowledge sharing; reducing bus factor is a feature.

- Work and iterate very closely with members of our (distributed, remote) Gameplay, Engine, and Ops teams.

- Design testable, flexible features & systems that can withstand frequent changes to functional and performance requirements (this is a live game with a lot of new content, nothing is static!)

- Deliver! More specifically, strike a deliberate balance between speed and quality.

Must have:

- 8+ years experience working on the back-end for an MMO or high-volume, distributed, low-latency web services (relaxed slightly for Senior level).

- Fluency in both a functional language such as Erlang/Elixir and a multi-paradigm language such as Go. You realize languages are just tools and you are already fluent in at least these two types. (relaxed slightly for Senior level).

- Have strong opinions on the different approaches to managing network communication, resource scaling, automated deployment, security, reliability, and data tracking/analysis

- Be familiar with (and have passion for) creating unit tests, stress tests, and integration tests. We are behind the curve with automated testing and aim to get ahead of it.

- Be proficient with Linux, container-native development, CI/CD, GitOps, and debugging in network environments.

- Have a thorough understanding of the tradeoffs involved in building highly available, at-scale backend systems, caching strategies, and distributed systems.

Nice to have:

- (Shareable) hobby projects relevant to the role, eg: a game engine, a networking app, a multiplayer game using an existing engine.

- Experience with Kubernetes, Helm, and Docker.

- Experience with UDP, bit-level serialization, delta compression, and other techniques for developing efficient network code for real time games

- Our custom game engine is written in C++; the more familiarity you have with performant C++, the better.

- Have experience w