This job might no longer be available.
Lead Backend Engineer - Shanghai
1 year ago
thatgamecompany designs and develops artistically crafted, broadly accessible video games that push the boundaries of interactive entertainment. We respect our players and want to contribute meaningful, enriching experiences that touch and inspire them.
We seek talent that values integrity and personal growth within an environment of intense collaboration and experimentation.
Our mission - create timeless entertainment that makes a positive change to the human psyche worldwide. If you’ve been wanting to have a positive impact on people's lives and the creative challenges associated with doing something different and unique, then come help us shine brighter together.
thatgamecompany is looking for a lead backend engineer to help build an R&D team in China. The new team will help the company with a long-term tech stack, including backend infrastructure, multi-tenant platforms and microservices, data warehouse, and data pipeline.
Location: Shanghai
On any given day at thatgamecompany, you might:
- Lead the engineering work in your expertise areas. Share knowledge with other team members, set up best engineering practices, and control code quality through reviews. Lead the team to implement large-scale, highly available backend systems that serve thousands to millions of concurrent players and aim for zero downtime.
- Closely collaborate with game designers. Understand our current and long-term requirements for building innovative social games; abstract and design extensible multi-tenant platforms; evaluate the feasibility; and lead the team to implement and deploy microservices.
- 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 make social experiments easily, and new hires can ramp up quickly.
- 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 deep passion and thoughts for video games; be a gamer and think on behalf of players.
- Be comfortable taking risks and accomplish engineering achievements that no one else has done.
- Be very strong on identifying and solving problems on your own.
- Enjoy working with fast-moving and rapidly-growing small teams.
Required Skills
- Fluent in spoken English for professional communications.
- 5 years or more of experience in production-ready backend architecture design and feature development.
- 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.
- Have deep knowledge of at least one of Go, Erlang, or C++. Familiar with its low-level characteristics, popular frameworks, and testing solutions. Capable to create production-ready services from scratch.
- Proficient in MongoDB or PostgreSQL. Experienced in feature development and optimization in production with these databases.
- Proficient in Kafka and using it to solve data consistency problems in large-scale microservices.
- Familiar with Redis and its data structures.
- Familiar with Linux ecosystem and common command-line tools.
- Experienced in managing production environments on AWS or GCP and using CI/CD tools to deploy services on Kubernetes.
- 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.
- Eager to learn any new technology and always open to jumping out of your comfort zone.
thatgamecompany希望寻找一名资深后端专家来协助组建及带领其在中国的后端研发团队。该团队将协助公司进行长线技术储备,包括服务器端基础设施、能够用于多款游戏的平台及微服务、海量数据仓库及配套数据管线等。
岗位职责
你将在日常工作中涉及到:
- 指导团队技术方向,指导技术选型,开展代码质量控制,带领团队实现可靠、可维护、大规模、高可用的社交游戏后端系统,承载百万级玩家同时在线。
- 与游戏设计团队紧密合作,根据当下及未来的社交游戏需求,抽象并设计各类可扩展的后端平台,评估可行性并带领团队实现和部署。
- 使用前沿的容器及集群管理技术,使我们的后台系统更加稳定、易于伸缩,减少故障响应时间和人工运维成本。
- 改善和维护我们日常的后端开发环境,以便让不同岗位的开发者都能够参与后端工作(例如快速简便地实现一些线上社交试验),并让新员工能够更快地上手工作。
- 日常监控服务器的运行情况,并对任何系统抖动和事故做出快速反应,以保证我们全球的玩家都能有平稳舒适的游戏体验。同时,不断改进我们的内部运维工具,使得这些日常维护工作能够更加安全和自动化。
我们希望你:
- 热爱电子游戏并对其有深刻理解和思考。作为一名游戏玩家,从玩家的角度考虑问题。
- 敢于挑战困难、承担风险,实现别人从未做过的工程成就。
- 具有极强的自主发现问题及解决问题的能力。
- 能够适应快节奏、快速扩张的小团队。
基本技能要求
- 熟练的英语口语交流能力,能够用英语进行专业技术讨论。
- 五年以上后端开发经验和生产环境部署经验。
- 对可扩展、高可用的后端系统有深刻的理解。熟悉常见的开源后端组件,包括但不限于高并发数据库、缓存、分布式事务解决方案及运维工具等。
- 精通Go、Erlang或C++之一,熟悉其底层语言特性、常用框架、常见设计模式及单元测试方案。
- 精通至少一个SQL或NoSQL数据库,在Schema Design及性能调优方面具有丰富经验,处理过数据库在大规模生产环境部署时可能产生的各种问题。
- 精通Kafka,熟悉常见的基于队列和最终一致性的微服务模式。
- 熟悉Redis及其数据结构,能通过Redis实现常见的缓存及数据存储场景。
- 熟悉Linux生态系统。熟练掌握Linux或macOS的常用命令行工具。
- 具有在生产环境管理AWS或GCP公有云,以及使用自动化运维工具(CI/CD)部署Kubernetes服务的经验。
- 善于从海量系统日志中提取有用信息,以及在后端系统各层级的数据及指标中寻找相关性,以便准确排查故障、识别可疑行为、定位性能瓶颈。
- 热衷于学习新技术,对不同观点持开放态度并能跳出自己的舒适区。
进阶技能要求
我们非常看重以下技能。但是最重要的是你愿意学习新知识并不断为玩家贡献价值。
- 同时精通Go和Erlang。
- 精通PostgreSQL,MongoDB或Redis集群。
- 有设计大规模微服务架构的经验,熟悉如何处理分布式事务及类似问题,能够从产品和技术的方面在数据可靠性、性能、开发成本及运营成本间做出合理的取舍。
Create Your Profile — Game companies can contact you with their relevant job openings.