Our client is looking for an experienced Network Programmer to join their award winning team in Dundee. You will have the opportunity to join an expanding team to work on an ambitious and highly creative new project.
This is an exciting opportunity to work on a unique and ambitious new multiplayer project in Scotland’s world renowned gaming industry. As a network programmer, you will be required to autonomously develop network related functions assigned by the lead programmer. You will implement scale-able networking features and tools that will allow players to communicate with the server on a large scale.
You are entrusted with developing the game’s low-level network features, the multiplayer engine, and optimizing network performance.
Day to Day:
- Develop library for game features that require network communication.
- Develop server APIs and features for an online multi-player game.
- Create tools to stress testing servers in a lab environment.
- Work closely with gameplay programmers to integrate network library into the game
- Debug problems related to network library and multi-thread programming
- Work closely with game designers and technical leads to clarify network/server design requirements.
- Able to take responsibility of tasks and break them down into a manageable workload.
- Communicate the progress of your work to your peers and leads.
- Correct defects discovered by QC or your customers in a timely fashion.
To do the Day to Day you need:
- 2+ Years’ experience in a similar programming role for games or software development.
- Must be proficient in Unity, C# and knowledge of multi-threaded programming
- Knowledge of various network protocols such TCP, UDP and HTTP.
- Experience of various Networking tools such as Unity Networking or AWS Gamelift
- Knowledge of relational database, experience with Mysql is a plus.
- Knowledge of peer-to-peer and client/server multiplayer architectures.
- Understand software engineering practices.
- Able to analyse and evaluate risks while proposing solutions.
- Able to program and debug complex applications using object-oriented or procedural programming.
- Commitment to personal and peer development and sharing best practices.
- Ability to work independently or as a team player.
- Knowledge of bug tracking, sprint planning, and wiki software.