Job title: Research Software Engineer


Location: Cambridge, UK

We are looking for a motivated Research Software Engineer to join our machine learning and data mining research team. You will work closely with our leading research scientists and product managers to turn advanced machine learning techniques or algorithms into live demonstrations and/or deployable products. offers endless data-rich application scenarios in a range of areas, including e-commence, supply-chain, logistics, big data, cloud computing, IoT, marketing, and automation, to inspire our research on machine learning and data mining. We have an open publication policy and our researchers have strong publication records in leading journals and at top conferences, such as ICML, NIPS, AAAI, IJCAI, KDD, ICDM, WSDM, SIGIR, CIKM, WWW, ACL, EMNLP, CVPR, and ICCV.

As a Research Software Engineer at JDyou will work with the team to develop innovative solutions for a diverse range of real-world, large-scale problems. He/she You will have the flexibility to switch from one project to another as our research focus shifts and evolves.


• Work and collaborate closely with Research Scientists on cutting-edge research projects in machine learning and artificial intelligence including, but not limited to, reinforcement learning, computer vision, NLP, data mining, and automation;
• Bring new research ideas to life by implementing algorithms, running large-scale experiments, evaluating performances, architecting software libraries and APIs, and building software prototypes;
• Optimise effectiveness and efficiency of your programs;
• Report and present software development status and results clearly;
• Manage priorities, deadlines, and deliverables;
• Be able to adapt to changes and manage setbacks.

Basic Qualifications

• BSc/BEng (Hons) in Computer Science or a related technical field. Applicants without the usual academic qualifications may also be considered if they have highly significant software development experience;
• Strong programming skills in Python;
• Strong knowledge of algorithm analysis and design;
• Knowledge of probability, statistics, linear algebra, and calculus;
• Exposure to machine learning or other areas of artificial intelligence;
• Being open-minded, versatile, and passionate about addressing new challenges;
• Experience with agile software development methodologies.

Preferred Qualifications

• MSc/MEng/MRes/MPhil/PhD in Computer Science or a related technical field;
• Working knowledge of C/C++ and a deep learning framework such as TensorFlow or PyTorch;
• Experience with at least one software product;
• Experience with manging software development teams;
• Experience with computer system administration and network security;
• Active contribution to open source software projects on Github etc.

Apply for this Job

* Required
When autocomplete results are available use up and down arrows to review
+ Add Another Education