Similar Jobs

save these job details
email this to a friend
print these job details

Research Engineer - Research

Cape Town, London
Only English Required
Job Ref:
If you already have an account then please login

Choose from Google Drive

Job Description
Research Engineer (Research) - Cape Town
Salary - ZAR £450 - £500K + Excellent Benefits

The client:

Our client is an EMEA leader in decision-making AI products for the Enterprise, with headquarters in London, and offices in Paris, Cape Town. With expertise in both machine intelligence research and practical business deployments, Leveraging its extensive know-how in GPU-accelerated computing, deep learning and reinforcement learning, the company has built products and solutions that tackle the most complex challenges across a range of industries. The firm's hands-on approach to research, combined with a broad spectrum of clients, ensures an exciting and rewarding environment to work and thrive in.


The company is looking for a new Research Engineer in Reinforcement Learning to join the expanding research team in Cape Town. The team's research focus is on multi-agent reinforcement learning. Research efforts are towards developing novel algorithms and improving the state-of-the-art in performance and interpretability of multi-agent systems. In the Research team, the focus of a Research Engineer is to participate in the research effort by assisting Research Scientists. Their goal is to develop and implement novel ideas while building effective, modular and sustainable software solutions.

The core tasks Research Engineers are responsible for include: developing prototype applications, providing software design and programming support to research projects, as well as implementing and maintaining software libraries.

In this role at you will report to Dr Arnu Pretorius, the research team lead in Cape Town. Given the current state of the pandemic, all work will be fully remote. However, relocation may be required once the situation improves.


- Implement novel algorithms and research ideas as directed by research scientists and team leads in accordance with the team's research agenda and goals. This will primarily be in the area of multi-agent reinforcement learning, but could include related algorithms/ideas spanning larger fields such as machine learning, deep learning and reinforcement learning in general.
- Contribute to the design, project planning and implementation of a core research library and environment test suite for multi-agent reinforcement learning.
- Design and implement algorithms in such a way to best leverage modern hardware and distributed computing systems (CPUs, GPUs, TPUs, Cloud, etc.).
- Report and present experimental results and research findings clearly and efficiently, both internally and externally, verbally and in writing.
- Contribute to the team's publication efforts, which could include the development of model diagrams, producing high quality plots of experimental results, assisting in writing up experimental details and results, e.g. explaining model architectures, hyperparameter configurations/tuning and training procedures.
- When required, bridge the gap between the research and product teams by integrating new fundamental research into applied projects. This could include collaborating with the Engineering team to design and run experiments, including designing and evaluating new algorithms as well as implementing known algorithms at scale across distributed computing infrastructure and assist in deploying models in production.
- Upon request, collaborate with the business development team in their pre-sales activities, including but not limited to presenting the company to new prospective clients, writing decks and proposals, participating in calls and meetings, and representing the company at conferences/events.


- M.S./Ph.D. degree in Computer Science, Operational Research, Reinforcement learning or related field.
- Experience in developing and debugging in C/C++, Python or similar languages.
- Experience using deep learning frameworks such as PyTorch, Tensorflow and/or Jax.
- Experience with distributed systems, HPC, compilers, and/or CUDA programming.
- Research and software engineer experience demonstrated via an internship, contributions to open source, work experience or coding competitions.
- Proven ability to contribute to research communities and/or efforts, including publishing scientific papers at conferences (JMLR, ICLR, NeurIPS, ICML, GECCO, etc.).
- Work permit for South Africa.


- Competitive salary.
- Working in small, diverse teams where you can make an impact.
- Varied challenges across industries .
- Cooperation across European and African offices
- Annual offsite events.
- Flexible working hours.

Important Information: We endeavour to process your personal data in a fair and transparent manner. In applying for this role, Additional Resources will be acting in your best interest and may contact you in relation to the role, either by email, phone or text message. For more information see our Privacy Policy on our website. It is important you are aware of your individual rights and the provisions the company has put in place to protect your data. If you would like further information on the policy or GDPR please contact us.

Additional Resources are an Employment Business and an Employment Agency as defined within The Conduct of Employment Agencies & Employment Businesses Regulations 2003.
You have already viewed this job - view again?
Research Engineer, Research, AI, Python, C, C++,, software, HPC, Docker, software, PyTorch, CUDA

View these similar jobs:

View all similar job matches
The CV Doctor