We are looking for a Senior System Programmer to join the core team working on our in-house engine Snowdrop™. The role is focused on maintaining and extending our core systems, with specific focus on the node graph system, one of the fundamental components of the engine. The node graph system is used to drive a variety of subsystems (animations, particle systems, AI behavior graphs, shaders, etc.). This is a chance to be a part of the development of Snowdrop, an engine that is used in multiple Ubisoft titles. You will work in close collaboration with other programmers, designers, artists and testers to craft high quality, scalable solutions where performance, memory, scalability, and load times are taken into account. Aside from the interesting engineering challenges in this job, it is very rewarding to see the results of the large and talented content creation team using the system to create magical moments and features in the games we make.
This is a permanent position based in Malmö, Sweden, and requires working onsite. We kindly ask you to apply with your CV and message to the hiring manager / cover letter in English. Applications will be reviewed whilst the job-ad is posted.
- Improving runtime performance and memory utilization of core runtime systems. This includes both high-level algorithmic improvements and low-level improvements.
- Working with editor and runtime representations to facilitate better artist workflows. For example, graph diff/merge.
- Being involved in work on related tooling both for artists and developers.
- Identifying new features and improvements to the core systems, based on needs in different disciplines.
- Writing high performance code in C++
You as a person
We are looking for a person with communication and interpersonal skills as well as a major technology focused mindset. It is important that you are an analytical person with focus on long-term solutions for the engine. You need to have a strong sense of ownership and responsibility, as you will be the main owner of the Node Graph system.
Besides the above, we are looking for someone with experiences within the following areas:
- Professional programming experience with C++ and experience working within in the industry with Game Engines
- Professional experience building and maintaining Node Graphs and designing efficient systems
- Ability to accurately estimate task duration
- Experience with multithreaded development
- Experience of High performance programming (algorithms, data structures, memory patterns, file formats)
Good to know
As we aim to build a team who continuously push the boundaries of what’s possible within platform and service development (and because we love to learn and grow from the people around us), we might ask you to do a practical test as a part of the recruitment process.
We look forward to receiving your application and learning more about you. In the meantime, please have a look at the videos posted below.