We're looking for a self-driven Tools Programmer to work collaboratively with our Development teams. The core of the role is creating and supporting tools that will be used throughout development to improve workflows and save people time.
The successful candidate will be able to design, implement and debug features within the tools they are working on, potentially working across multiple games and platforms simultaneously. They will have extensive experience developing efficient, re-usable tools in collaboration with a multi-discipline team. Strong communicative skills, both visual and verbal, are key to this role.
If you are passionate about improving workflows and empowering artists and designers, we'd love for you to join our team as Tools Programmer!
What Will You Be Doing?
Who Are We Looking For?
- Collaborating with the development team to understand user requirements and write concise specifications.
- Implementing new in-house tools and maintaining or upgrading existing tools to improve workflows.
- Writing stable, readable and modular C++ code that makes best use of Unreal Engine and its game framework.
- Proactively contributing new ideas to our development team and driving forwards the platform on which we develop our games.
- Participating in the design of game features, augmenting them with supporting tools and technologies.
- Undertaking research and self-teaching new technologies and middleware.
- Experience in tools programming - A proven ability to design, document, implement and maintain re-usable, efficient assets and tools in collaboration with development teams inside a large code base.
- Experience in debugging and data optimisation - Extensive experience with code and data optimization and an expert at debugging complex stability issues.
- C++ programming - Writing readable, safe and performant code. Utilising design patterns and software engineering.
- 3D maths and data structures - An understanding of 3D maths and data structures, along with performance-minded development and optimisation skills.
- Collaborative - An empathetic individual who can collaborate with a multi-discipline team, empowering artists and exchanging ideas/technical plans with the design team.
- Self-learning and mentoring - Someone with a desire to research, learn, and improve their own knowledge, and pass that knowledge on to others.
- Communication skills - Excellent verbal and written communication skills with an ability to communicate your work to both technical and non-technical people to help them overcome issues.
Bonus If You Have:
- Proven experience developing high-quality features/tools for published PC, console or mobile titles in a professional team or studio environment.
- Experience working professionally with Unreal Engine 4.
Why Join nDreams?
- Experience developing Virtual Reality apps for mobile, console or PC.
- Experience in build systems such as: TeamCity, Jenkins, CircleCI or similar, continuous integration, automation
- Experience working on Windows Batch and Python scripting
- Skilled with source control systems such as: Perforce
The team at nDreams encourages an open, creative and diverse culture. As part of our growing studio you'll be empowered to explore your ideas and put your own stamp on the titles you work on.
We offer some great perks, including flexible core hours, share options, 20 days holiday (increasing yearly to a maximum of 25 days), two duvet days, a day off to celebrate your birthday and various monthly socials (including Breakfast Butty Monday and Free Drink Friday)! Our welcoming, open plan office has some great facilities with a cycle station, showers and more all on site.Interested?
The position will be remote working for an initial period and based in our modern studio in Farnborough, UK, within easy commuting distance from London and Guildford. Salary is competitive and dependent on your experience.