We're looking for an awesome Tools Programmer to assist with the development of the various client-side tools to support our Content / Retail team as well as our Client Development team. You'll have knowledge of Unity and be able to build tools that worked more closely with Unity and our client code. You'll also help support Client Automation, when C# code is required.
- Work in an interdisciplinary team of artists, designers and engineers to design, and implement tooling to support and improve workflows.
- Proactively help to improve the existing tooling technology used to develop our games, whilst minimising technical debt and maintenance risks.
- Collect and interpret requirements for tools, translate these requirements into user-friendly interfaces with sensible workflows.
- Work within the constraints of our existing proprietary technology and develop new technology when necessary
- Promote and adhere to best-practice with regards to code quality and performance
- Collaborate with the Leads to plan and schedule tasks
- Keep up to date with the latest advances in engine and general programming techniques in the games and wider technology industries
- Help mentor and support more junior members of the team
- Collaborate with our QA teams to identify and fix bugs in a timely manner
- Write documentation to describe and explain how to use the tools created.
- 2+ years programming experience developing games, tools or similar products
- Strong practical experience of C#, and multithreaded programming techniques.
- Experience developing within game engines, such as Unity.
- Good working knowledge of commonly used algorithms and techniques
- Self-starter who is comfortable taking ownership of a task
- A passion for supporting and improving game development and content creation by building great tools.
- Excellent communication skills; you must be comfortable collaborating with colleagues from non-programing disciplines such as art and design
- A pragmatic, robust approach to solving technical and non-technical problems
- Ability and desire to learn and master new and unfamiliar technologies and code
- In depth knowledge of Unity with at least one shipped product using it
- Experience of developing software for Android and/or iOS
- Understanding of networking and experience of using HTTP/WebSockets.
- Experience in a Continuous Delivery environment, working on a live product
- Bachelor’s degree in Computer Science or related discipline
- Knowledge of Python and / or C++.