University of Cambridge

Job Opportunities


Research Assistant/Research Associate/SRA in Federated Learning (Open-source Flower Framework)(Fixed Term)

Research Assistant £27,116 - £31,406 or Research Associate £33,309 - £40,927 or Senior Research Associate £42,149 - £53,348

Fixed-term: The funds for this post are available for 18 months in the first instance, with the opportunity to renew, subject to the availability of funding.

Role Summary: We seek an independent detail-oriented individual with strong hands-on systems skills, and familiarity with machine learning, to participate in projects within an active research team of PhD students and other RAs (see team description below). The primary focus of this role will be on the topic of federated learning.

The core responsibility of this role will be to contribute our current on-going research projects related to federated learning, as well as bootstrapping new investigations within this area. We approach this work as a collaborative team exercise and so a team-centric style to research is expected from this role. Our lab is also actively developing and growing an exciting open-source framework for federated learning (called Flower -, as part of a wider community effort. Successful applicants will be expected to become active members of this initiative and engage in translating research outcomes into this framework, as well as extending the capabilities of Flower in novel directions that better facilitate the exploration of federate methods.

In keeping with the role of an RA, this position will have other satellite responsibilities. Hands-on assistance on one other smaller project within the lab will be expected, but this will be limited to around 1 day per week on average. Additionally, this individual will be expected to perform certain lab responsibilities such as providing forms of mentorship to PhD students (depending on prior experience), organizing select lab activities, maintaining select lab software and equipment, and assisting in preparing materials (like grant applications and presentations). Such activities will be appropriately scoped so that research remains the focus, but being part of the activities that keep the lab running is expected.

Research Team and Environment: Successful candidates for this position will join CaMLSys, the Cambridge Machine Learning Systems lab - a vibrant research lab (CaMLSys) led by Nicholas Lane and comprising 14 other PhD students and RAs ( We investigate a variety of open problems that sit at the intersection of machine learning and various forms of computational systems (viz. embedded, cloud, mobile). The scientific contributions of our lab often take one of two forms. First, the development of novel algorithmic and theoretically principled machine learning methods - especially those with applications to the modelling of data such as image, audio, spatial and inertial information. Second, the design and architecture of system software that treat machine learning computation as a first-class citizen - this often results in transformative increases in training and inference efficiency. Our unifying aim is to invent the next-generation of device- and cloud-based systems able to perceive, reason and react to complex real-world environments and users with high levels of precision and efficiency. We seek to achieve this impact through holistic full-stack approaches that encourage lab members with skills in algorithms, hardware, statistics, mathematics and software to work closely together to solve critical challenges in this area.

Click the 'Apply' button below to register an account with our recruitment system (if you have not already) and apply online.

Expected Qualifications:

  • PhD or MSc in computer science/software engineering or similar.
  • Strong programming experience in Python.
  • Good understanding of distributed systems and operating systems.
  • Basic understanding of machine learning and related libraries/frameworks such as NumPy, TensorFlow, and/or PyTorch.
  • Basic understanding of embedded systems development.
  • Good understanding of test-driven development and continuous integration.
  • Basic grasp of common Linux command line tools.
  • Prior experience in working in a research team.

Beneficial Qualifications:

  • Research experience in federated learning or related areas, ideally with a strong publication track record.
  • Experience with GPUs environments and systems for machine learning.
  • Experience in mobile programming (Kotlin/Java on Android, Swift/Objective-C on iOS).
  • Experience in cloud environments (AWS, Azure, GCP).
  • Understanding of common packaging formats (e.g., Python Wheels, Docker).
  • Prior experience with gRPC/ProtoBuf.

The funds are available for immediate start.

Appointment will be made at a level (either research assistant, research associate or senior research associate) depending on the qualification and experience of the candidate.

For informal enquiries, please contact Dr Nic Lane:

You will need to upload a full curriculum vitae (CV) and a 1-page covering letter outlining your relevant past experience, and include the contact details for 2 or 3 referees. If you upload any additional documents which have not been requested, we will not be able to consider these as part of your application.

Please quote reference NR27786 on your application and in any correspondence about this vacancy.

The University actively supports equality, diversity and inclusion and encourages applications from all sections of society.

The University has a responsibility to ensure that all employees are eligible to live and work in the UK.

Apply online