Job Description
As an Online Programmer, your main missions will include:
- Work as a key part of an agile development team, and assist the lead with planning and review of features and mentoring less experienced programmers,
- Assist with investigation, design and implementation of class-leading online features,
- Implement innovative solutions to feature requests, considering performance, maintainability and appropriate resource usage,
- Optimize systems for optimal CPU, memory and network usage,
- Participate in defining coding practices, perform code reviews, and ensure coding standards are followed,
- Collaborate with stakeholders to gather and analyze technical constraints and design solutions,
- Demonstrate an understanding of load and feature testing, write test code, and develop test frameworks and processes,
- Stay up to date with state-of-the-art technology and promote its use within the studio,
- Integrate large-scale modules or components while minimizing the impact on the rest of the programming team,
- Contribute and, on occasion, lead cross-studio collaborative communications in conjunction with the Lead Programmer.
Qualifications
Skills and Knowledge:
- Excellent C# programming skills (C/C++ is a big plus) with excellent knowledge of Object Oriented development and design patterns,
- Experience in Unity3D is a big plus,
- Proven ability to debug networked/asynchronous systems,
- Proven ability to debug defects of a reasonable complexity, including memory related issues, multi-threading, and assembly level debugging,
- Significant knowledge of Operating System principles, Algorithms, Data Structures and patterns, and their application,
- Knowledge in solving typical online issues related to latency and bandwidth utilization,
- In-depth knowledge of different software development methods such as Test-Driven Development, Unit Testing, Agile…ect
- Excellent interpersonal and communication skills,
- Excellent oral and written communication skills in English
- Ability to mentor others.
Relevant Expérience :
- Bachelor’s degree in computer science or computer engineering or equivalent experience,
- 6 years commercial software development experience. Involvement in multiple published games in a programming capacity are a plus,
- Experience working with at least one modern console platform is an advantage,
- Experience with profiling tools,
- Experience working in a multi-site collaboration environment is a plus.