thatgamecompany

Backend Engineer

thatgamecompany

full-time

Posted on:

Origin:  • 🇨🇳 China

Visit company website
AI Apply
Manual Apply

Job Level

Junior

Tech Stack

AWSErlangGoGoogle Cloud PlatformKubernetesLinuxMacOSMongoDBNoSQLPythonRedisSQL

About the role

  • Design and implement large-scale, highly available backend systems that serve thousands to millions of concurrent players and aim for zero downtime.
  • Embrace modern container and cluster management technology to make our backend stack more elastic and robust.
  • Improve and maintain an agile and reliable development environment for the backend stack, so that people with different skillsets in the company can do social experiments easily, and new hires can ramp up quickly.
  • Monitor the backend health and respond to any failures or glitches to deliver a smooth online experience to players worldwide; keep improving dev-ops tools to make the job more automatic and error-proof.
  • Assist long-term technical roadmap for server-side infrastructure, multi-game platforms & microservices, large-scale data warehouses and pipelines (Chinese description).
  • 设计并实现大规模、高可用的后端系统,承载百万级玩家同时在线,并努力接近零故障时间。
  • 使用前沿的容器及集群管理技术,使我们的后台系统更加稳定并易于伸缩。
  • 改善和维护我们的日常后端开发环境,以便让不同岗位的开发者都能够参与后端工作,并让新员工能够更快地上手工作。
  • 日常监控服务器的运行情况,并对任何系统抖动和事故做出快速反应,以保证全球玩家平稳舒适的游戏体验。

Requirements

  • 1 year or more experience in backend development and deployment in a production environment.
  • Have a 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 bottlenecks from bottom to top.
  • Be comfortable working with the Linux ecosystem; be fluent in Linux or macOS bash CLI tools and Python scripting.
  • Have deep knowledge of at least one of Golang, Erlang, or C++.
  • Have deep knowledge of at least one SQL or NoSQL database.
  • Have deep knowledge of at least one distributed message queue system.
  • Eager to learn any new technology and always open to jumping out of your comfort zone. Capable of understanding English documentation. Fluent in written English for technical communications in chat tools. Be able to speak English for daily life.
  • Deep understanding of Golang and Erlang (preferred).
  • Managed and maintained production environment on AWS or GCP. Deployed services in Kubernetes with CI/CD tools (preferred).
  • Experienced in schema design and performance tweaking of MongoDB and Redis. Experienced in building systems that involve eventually or strongly consistent distributed transactions (preferred).
  • 热爱电子游戏并对其有深刻理解和思考。作为一名游戏玩家,从玩家的角度考虑问题。
  • 能够适应快节奏、快速扩张的小团队。
  • 一年以上后端开发经验和生产环境部署经验。
  • 熟悉Linux生态系统,熟练掌握Linux或macOS常用命令行工具,能够编写Python脚本。
  • 精通至少其中一门语言:Golang, Erlang或C++。
  • 精通至少一种SQL或NoSQL数据库。
  • 精通至少一个分布式队列系统。
  • 在MongoDB及Redis集群的模式设计及性能调优方面有经验(优先)。