thatgamecompany is best recognized for creating award-winning, enriching, and meaningful game titles such as Journey, Flower, and flOw. Our most recent game, Sky, is our most complex undertaking to date. It is a social network built around the values inherited from a powerful humanistic story. It is a live experience continuously evolving inside a global online theme park.
We are seeking passionate engineers to join us building various backend core technology as platforms, including but not limited to:
- Micro services running on container orchestration for rapid iteration of in-game social features
- An innovative, data-driven, real-time, and seamless match-making system
- A realtime, low-latency and multi-regional music jam service
- A data visualization service to aggregate and present massive amount of player behaviors in 3D space
These services and platforms will be the core technology powering our current and future game titles, and eventually made available to external customers. We believe these solutions will fundamentally transform the future of multiplayer social games. We are also live-operating Sky: Children of Light with millions of active users generating terabytes of data per day.
As a Backend Engineer, you will serve a pivotal role to help architect large-scale and highly available backend systems, explore match-making solutions, implement micro services that can accelerate the iterations of social-gaming ideas, and embrace dev-ops responsibilities to serve millions of players.
On any given day at thatgamecompany, you might:
- Design and implement large-scale, highly available backend systems that serve thousands to millions of concurrent players and aim for zero downtime.
- Embrace modern technology of container and cluster management to make our backend stack more elastic and robust, and the deployment process more agile and reliable.
- Design and improve the architecture of our real-time match-making system, as well as the peripheral data pipeline that enables global data-driven match-making at large scale.
- Monitor the backend health and respond to any failures or glitches in order to deliver a smooth online experience to players all over the world; keep improving dev-ops tools to make the job more automatic and error-proof.
We expect you to:
- Have thorough understanding of scalable and highly available backend systems; be familiar with open-source distributed system tech stacks, including but not limited to scalable databases, caching strategy, distributed transactions and dev-ops tools.
- Be able to extract useful information from different sources of logs, find correlations between multiple layers of systems and diagnose failures, suspicious behaviors and performance bottleneck from bottom to top.
- Be comfortable to work with Linux ecosystem; be fluent in Linux or macOS bash CLI tools and Python scripting.
- Have deep knowledge of at least one of Go, Erlang or C++.
- Have deep knowledge of at least one SQL or NoSQL databases.
- Have deep knowledge of at least one distributed message queue systems.
- Eager to learn any new technology and always open to jump out of your comfort zone.
Any of the following would be highly preferred, but most of all, we value engineers who are eager to learn new ways to deliver value to players:
- Deep understanding of Go or Erlang.
- Managed and maintained production environment on AWS or GCP.
- Deployed services in Kubernetes with CI/CD tools.
- Experienced in schema design and performance tweaking of MongoDB and Redis.
- Experienced in building systems that involve eventually or strongly consistent distributed transactions.