Game Server Programmer
On-siteTokyo, Tokyo, Japan
Tokyo, Tokyo, JapanOn-siteFull TimeEnterprise
Full TimeEnterprise
Job Summary
Review code from peers to ensure quality expectations are met, then focus on network-related systems, multiplayer features, and peripheral components like lobbies and matchmaking. Design, test, and debug own code without assistance while analyzing network traffic to solve issues. Make server builds, optimize performance, and take ownership of large areas of the codebase. Break down complex features into engineering tasks, coordinate with non-engineering teams, and mentor engineers on best practices.
Required Qualifications
- Reside in Japan during employment
- University degree in Engineering, Computer Science, or related discipline
- 3+ years of professional software engineering experience
- 2+ years of professional experience developing game servers
- Solid software engineering abilities
- Strong experience with C++ and C#
- Good experience in a variety of programming languages used to create peripheral server-side systems
- Comfortable with source code management systems (Git, SVN, Perforce, etc.)
- At least conversational Japanese proficiency - JLPT N3 or above
- English proficiency (ability to read, write, and discuss technical matters)
- Experience in one or multiple of the following: Multiplayer integration with Unreal Engine and/or proprietary game engines
- Experience in one or multiple of the following: Creation and deployment of server builds for Unreal Engine and/or proprietary game engines
- Experience in one or multiple of the following: Networking and network protocols
- Experience in one or multiple of the following: Knowledge of and ability to create network protocols used for multiplayer games
- Experience in one or multiple of the following: Development and integration of custom peripheral server-side systems (lobby, matchmaking, ranking, etc.)
- Ability to write clean, readable, performant code and design the architecture around it
- Excellent debugging and optimization skills
- Excellent written and verbal communication
- Knowledge of existing optimization techniques
- Focus on performance and performance analysis
- Strong math skills
- Willingness to work as part of a team and contribute to technical discussions
- Eager to both provide and receive constructive feedback for continual growth
- Strong software development skills, design theory, and development processes
- Strong personal time management
- Experience implementing real-time networking in games
- Knowledge of all the quirks of low-level networking
- Live and breathe C++
- Not afraid to deep-dive into any network protocol implementation
- Implemented fair share of lobby and matchmaking systems
- Implement multiplayer and networked features
- Make server builds of the game
- Create standalone peripheral systems (lobby, matchmaking, etc.)
- Design, test, and debug own code without assistance from other engineers
- Capable of analyzing network traffic as part of problem-solving and debugging
- Break down large features into engineering tasks and work with other engineers to complete them
- Decipher and understand complex systems
- Mentor engineers in engine development best practices
- Develop system with a strong focus on optimization and performance
- Confidently communicate with all members of the company
- Estimate own tasks and deliver them in a timely manner
- Write clear, maintainable code that passes review by other senior engineers
- Raise all blockers when they arise to the project lead
- Test and document provided solutions to allow other developers to review and learn
- Implement and uphold software engineering best practices for the full software development life cycle
- Take ownership of large areas of the code base and large complex features
- Take ownership of mission-critical areas of the codebase
- Coordinate with members outside of the engineering team to deliver features in a timely manner
- Determine large feature feasibility and propose solutions
- Provide solid programming expertise to deliver large features and architecture suggestions
- Provide code review analysis that uses all relevant experience to foresee problems with design and implementation
- Ability to review code from other engineers and ensure they meet quality expectations
- Work on network-related systems
- Work on the game itself, ensuring a smooth multiplayer experience
- Focus on peripheral systems used to support the gaming experience, like lobbies, matchmaking, and ranking systems
- Work on network optimization
- Help and support server-build deployments
- Work on low-level parts of game engines affecting the quality of the multiplayer experience
- Work 8 hours per day from Monday to Friday with core hours between 11:00 and 16:00 (excluding a 1-hour break)
- May require you to work onsite on specific occasions when using highly specialized equipment
Desired Qualifications
- Experience with some of the following languages: Go, Java, shell scripting (Bash, PowerShell, etc.)
- Experience with other game engines such as Unreal, Unity, open source engines, or others
- At least 3 years of experience in the video game industry
- Worked on at least 1 released game
Hiring someone like this?
Get your role in front of qualified candidates on Sorce.