Engineer, Network Programmer (Mobile)

Shanghai
Engineering

Our Purpose

Improbable believes in a future where new, virtual worlds will augment human experience and become as meaningful, lasting and rich as the physical world. We call this the Multiversal Self and believe games are the basis of the future virtual worlds. 

Developers face a variety of risks in game development – from game design to production speed to launch scale. With SpatialOS, we aim to offer the next generation game development technology that helps reduce those risks and enables innovation that is vital to the future of games.

We believe China is leading the world in gaming, and that the next generation of game worlds will be developed by the prosperous Chinese Game Development Community. We are looking for talented individuals to join our Shanghai Office, our core hub and headquarters for APAC Operations. 

Your Mission

Evolve the SpatialOS networking framework used by our Unreal and Unity GDKs to deliver the best possible mobile gaming experience.This work will include tuning our network code for low-latency 5G networks to support the next generation of Action MMOs as well as working with development partners to ensure the reliability of our client-to-cloud communications. To that end, we are building a team at our Shanghai location with expertise in network programming on mobile platforms to provide a performant mobile integration and the best possible developer experience. We’re seeking talented engineers who’ve shipped products on Android and IOS platforms and understand the technical challenges faced by game developers. As a Network Programmer in the Mobile Team at Improbable, you’ll be responsible for designing, building, and supporting the networking technologies our customers use in their games. This includes ensuring the highest quality experience on IOS and Android mobile devices. The Mobile team guarantees SpatialOS GDKs are compatible with supported versions of Android and IOS and addresses any technical issues such as: performance, library compatibility, Unreal and Unity Engine integration. The Mobile team aims to provide best-in-class developer experiences and support of emerging mobile technologies like 5G.

Responsibilities

  • Develop and support SpatialOS networking for Android and IOS
  • Perform evaluation of network performance and reliability on mobile devices
  • Coordinate with global development teams to identify and provide features based on market requirements
  • Deep-dive on network stacks and protocol layers to ensure best possible player experience
  • Work with new technologies like 5G and mobile carriers to provide best-in-class mobile networking experience

Competencies

  • Experience shipping product for Android or IOS
  • Knowledge of TCP, UDP, IP, Network Protocol Programming, Packet Encryption, TLS, DNS
  • C/C++, Android NDK and/or Objective-C/C++, IOS
  • Knowledge of Network Programming on multiple platforms, Linux, Windows, Android, IOS
  • Strong technical programming skills utilizing a variety of different coding languages and tools

Experience of the following would be advantageous

  • Experience with KCP, Reliable-UDP, Unreal networking
  • Experience with networking stack for multiplayer games
  • Experience Implementing a Network Protocol
  • Experience with mobile specific networking issues
  • Experience of testing and debugging mobile networking
  • Knowledge of NAT, NAT-PMP, UPnP, IGD, STUN

Equal Opportunity

The best ideas are often the least expected and require new ways of thinking; that’s why our teams at Improbable are made up of an incredible range of talented people. Improbable is proud to be an equal opportunity employer. We do not discriminate based on race, ethnicity, colour, ancestry, national origin, religion, sex, sexual orientation, gender identity, age, disability, veteran status, genetic information, marital status or any other legally protected status.