This job listing expired on Jan 9, 2025
Tweet

Established in 2008, Ubisoft Chengdu has since grown into a robust production center contributing to Ubisoft’s biggest brands across numerous platforms. Located in China, the world's biggest gaming market, the studio is uniquely positioned to master production on both AAA and free-to-play titles, build strong bridges to promote Chinese culture to Western audiences, and offer memorable and meaningful gaming experiences to players around the world.

The studio continues to build upon its commitment to excellence in game production and live operations, with a strong track record of development on Assassin’s Creed, For Honor, Immortals Fenyx Rising, Mario Rabbids: Sparks of Hope, Rainbow 6 and Skull and Bones. Notably, we also led production on Immortals Fenyx Rising: Myths of the Eastern Realm, a full-fledged, standalone DLC based on Chinese myths, as well as casual titles such as Rabbids: Party of Legends and UNO which were released to worldwide audiences.

At Chengdu studio, we embrace diversity in all forms, and we are committed to providing a fair and inclusive working environment for our employees, which now comprises over 470 talents hailing from 10 nationalities. Our strength lies in our diverse and passionate people, and together, we explore the unknown and create the best games for fans of all ages.

Job Description

About the role

As a network programmer, you will be responsible for selecting appropriate network function design solutions for different game projects, and effectively use the middleware provided by Ubisoft's middle platform combined with independent development to implement the game's network-related functions. Your solution needs to support game clients to access background services in a fast, efficient and stable manner. At the same time, it is necessary to consider cross-platform play, multi-platform support, high concurrency and other key requirements. In addition, in your daily work, you need to independently drive function design, execution, troubleshooting and promote optimization. During the development process, your work will revolve around answering some basic questions: Do players respond promptly in multiplayer mode? Does the degree of network latency meet players' expectations for the game? Can the player experience be improved? Always start from the perspective of player experience and deliver high-quality code.

What you will do

  • Gradually familiarize yourself with and master the network technology stack of Ubisoft's middle platform, and use it for daily development

  • Work closely with game designers to clarify and confirm design requirements involving network/server/operation and maintenance tools.

  • Provide network communication solutions for the development of new game functions according to the requirements of game designers.

  • Design and implement required game-specific servers according to the needs of game designers.

  • Work closely with game client programmers to integrate network functions into the game to achieve functions such as seeking team formation, network communication, state synchronization or frame synchronization.

  • Work closely with technical operations and IT teams to assist in the continuous release and maintenance of network services on the cloud.

  • Debug network functions and solve network performance bottlenecks, perform corresponding stress tests on developed network services and make improvements and optimizations.

  • Be able to notify management in advance when task progress is behind schedule and propose solutions.

Qualifications

  • More than 6 years of relevant programming experience.

  • Proficient in C++, proficient in multi-threaded programming, familiar with database programming, familiar with Socket programming. Have excellent network programming knowledge.

  • Familiar with and apply various network protocols, such as TCP, UDP, QUIC, HTTP and other basic protocols.

  • Proficient in at least one WebAPI development technology stack, regardless of language

  • Familiar with network diagnostic software, at least one network sniffing software, such as Wire Shark, CharlesProxy

  • Understand databases, experience with MySQL, MongoDB, Tcaplus or Redis databases is preferred

  • Proficient in virtual machine related technologies, familiar with Linux and Windows cross-platform network programming

  • Understand the network object synchronization mechanism in online games

  • Have software engineering practice knowledge and knowledge of agile software development

  • Able to analyze and evaluate development risks and provide solutions

  • Able to write and debug programs using object-oriented or procedural programming thinking

  • Good communication skills in Chinese and English, competent for daily work English communication

  • Passionate about playing games and making games

  • Understand and use Python, lua, go or other scripting languages

  • Familiar with Kubernetes, Prometheus, kong, locusts

Additional Information

Ubisoft CSR commitment

Making a long-lasting positive impact for our players, our teams, our partners and our planet.

In Ubisoft, we are working to enrich players’ lives through unique and memorable gaming experiences and by improving the positive impacts of our games. To get there, we are creating a safer, more inclusive work environment, we are giving back to the communities where Ubisoft operates by working with local non-profit partners and by working to reduce the environmental impact of our business.