Software developer (Storage R&D)

Framestore is a global leader in visual effects and computer graphics, having won every major industry award; including an Oscar and BAFTA for the film ‘Gravity’.
Our Systems Development team builds system-level software for the large Linux systems we use globally: compute clusters, storage and file systems, system monitoring, as well as the Linux OS used on over 1,500 workstations by our artists and technicians.
Think you would enjoy working on this small and innovative team? We are looking for a great software developer to join us.

The role

We handle a lot of data. Our ‘hot’ storage directly serves our compute clusters and workstations. The workload can be quite different to other industries because of the mix of interactive and batch computation on the same data sets. But what we do have in common is  heavy, random I/O on petabytes of data.

This is where our own developers come in. We modified a FreeBSD kernel NFS server with detailed load balancing to allow us to safely drive our systems even harder. We implemented our own monitoring based on deep packet inspection; one of the pieces of software we have presented at a peer-reviewed conference. More recently we designed a decentralised file system for some specific use cases (you could say it is based on ‘blockchain’, but we’d be unlikely to use buzzwords; we’re focused on the algorithms and data structures that make it work.)

You’ll be working on these projects, and a crucial part of spec’ing new ones that originate from the demands of hot storage. Over time, we think you’ll find the related areas of our large compute clusters and substantial inventory of Linux workstations interesting, too.

Requirements

  • Degree in Computer Science, Software Engineering or related field

  • Several years experience of software development in a Linux or other Unix-like environment, in C or C++

  • Experience in collaborating on software projects, including the use of source control (eg. Git) and reviewing patches

And at least some of the following:

  • Knowledge of POSIX filesystem APIs, and perhaps NFS protocol

  • Understanding of fundamental data structures and their performance characteristics

  • Experience with distributed systems; TCP/IP networking, event-driven architectures

  • Experience with higher-level languages and when to use them; Python, bash/sh

  • Awareness of developments in the field of storage

A passion and interest in film and computer graphics is welcomed! But prior experience is not necessary.

More about us

Our team environment is friendly and welcoming, with regular working hours. We don’t work on call; we’re privileged to be fronted by our support engineers around the globe. This means we have to produce good quality software and advocate it; good communication skills are part of our positive culture of open discussion on designs and code review.



 //

Want to apply later?

Type your email address below to receive a reminder

Apply to Job // Postuler pour le poste

Error // ErreurRequired field // Champ requis
Error // ErreurRequired field // Champ requis
Error // ErreurRequired field // Champ requis
Error // Erreur
Error // Erreur
insert_drive_file
insert_drive_file
Error // Erreur
Error // ErreurRequired field // Champ requis
Error // ErreurRequired field // Champ requis
Error // ErreurRequired field // Champ requis
Error // ErreurRequired field // Champ requis
Error // Erreur
Error // ErreurRequired field // Champ requis
Error // ErreurRequired field // Champ requis