Machine Learning Research Engineer

Job Type:Full Time
Apply Now

Microsoft Research Cambridge is seeking applications for highly motivated and self-driven software engineers with an interest in any sub-area of machine learning to work on a variety of cutting-edge projects within the lab. The projects will span a wide variety of application areas from computer vision, natural language processing to systems, programming languages or healthcare. You will be interested in learning new technologies and have a passion for applying latest research to solve real-world problems to create lasting impact. You will enjoy working as part of a collaborative inter-disciplinary team and be willing to continuously update your knowledge and skills.

There is no closing deadline for this post. The post will be filled once suitable candidates are found so if you are interested please apply as soon as possible.

Role Type: Individual contributor


  • Design, implement and evaluate machine learning experiments
  • Work with an interdisciplinary team on applications of machine learning
  • Develop and apply state-of-the-art machine learning techniques to challenging real-world problems


Candidates must have:

  • A PhD degree and/or equivalent industry experience in a mathematical area (Engineering, Computer Science, Maths or Physics). Candidates expected to finish their PhD in 2019 will also be considered.
  • Strong interest and knowledge of an area of machine learning (one or more): CNNs, RNNs/LSTMs, GNNs, autoencoders, model-based/model-free reinforcement learning strategies, Bayesian inference, graphical modelling, nonlinear optimization, numerical simulation…
  • Strong software design and implementation skills (C/C++/C# and/or Python and/or functional languages e.g F#/OCaml/Haskell)
  • Experience of implementing machine learning techniques in one or more of
  • a deep learning framework like PyTorch, TensorFlow, Caffe,
  • reinforcement learning frameworks such as RLLib, Open AI Gym, or
  • probabilistic programming frameworks such as Infer.Net, Pyro, Stan or Edward
  • Ability to work collaboratively as part of a team

Desirable additional skills:

  • Ability to innovate and execute through publications, patents or product shipments in any one application area (Vision, Natural language/Time-series data, Graph data, Code understanding)
  • A few years of demonstrated real-world software development experience that has led to an area of specialization within engineering such as scaling, optimization, distributed systems design etc.

This may be through open-source contributions during PhD study.

  • Understanding of how to handle data and execute ML training and inference algorithms

Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances.

Benefits/perks listed below may vary depending on the nature of your employment with Microsoft and the country where you work.