Research Engineer (Research) - Cape Town
Salary - ZAR £450 - £500K + Excellent Benefits
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.
Additional Resources are an Employment Business and an Employment Agency as defined within The Conduct of Employment Agencies & Employment Businesses Regulations 2003.
Research Engineer, Research, AI, Python, C, C++,, software, HPC, Docker, software, PyTorch, CUDA