Deep Learning Research Engineer

Location:Greater London
Job Type:Full Time

Would you be excited to be part of an effort to build and deploy modern machine learning models that make it easier for millions of people to communicate? SwiftKey’s powerful inference engine, and the models it runs on, provide corrective and predictive input experiences from mobile apps and desktop experiences to the cloud. Our technology uses machine learning at its core, continually adapting to users to optimise their input experience.

We are looking for an applied researcher in deep learning, who is able to undertake short- and long-term projects to evaluate and develop machine learning models, with a view to bringing them from the whiteboard through to the device.

As part of a small team that works closely with production engineering teams, you'll work under the mentorship of your lead, to take on projects at a theoretical and experimental level, but with an appreciation of the engineering constraints that deployments may face. Your team might contribute towards any inference or prediction feature that helps SwiftKey and myriad Microsoft input systems; problems to-date have focussed on language modelling and interaction inference over spatial data. Our current deep learning stack includes PyTorch, Jupyter, CUDA and Docker.


You will.

  • Work as part of a small, collaborative research team
  • Design, experiment with & train machine learning models of natural language and user interaction
  • Collaborate with other engineering teams to optimise and productise your solutions
  • Continue to develop your knowledge through self-learning and mentorship


Required qualifications:

You must have.

  • Minimum 3 years' experience in research or software engineering roles
  • Experience or a demonstrated serious interest in deep learning and related topics
  • A principled approach to data-driven research

Preferred qualifications:

You might have.

  • Experience with NLP models
  • Ability to understand and reason about deep language models, amongst other model types, e.g. RNN (LSTM, GRU), CNN, RESNET, Seq2Seq, VAE, etc.
  • Experience with other (non-neural) machine-learning techniques
  • Experience with deep learning frameworks (e.g. PyTorch, TensorFlow)
  • Experience programming in C++ (or another systems language).
  • Model training experience with CUDA, Docker & Jupyter.

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.