Software Engineer (Research)

Software Engineer (Research)

Montreal, Quebec  - Permanent

Job Description

Our client's research team focuses on Machine Learning, Artificial intelligence and Neuroscience, including but not limited to deep neural models, reinforcement learning algorithms and biologically inspired models with the overall goal of building powerful general-purpose learning algorithms.

The research team develops powerful general-purpose learning algorithms, with a special focus on deep reinforcement learning. Software Engineers bring varied specializations into projects across the research team.

Software Engineers in research will work directly on developing research prototypes, creating common tools that enable the wider research team to create such prototypes rapidly, as well as perform rigorous experimentation at scale.

You will:

•Provide software design and programming support to research projects
•Report and present software developments including status and results clearly.
•Architect and implement software libraries for research prototypes across the range of DeepMind research projects.
•Join collaborative research projects that have built momentum and are looking to scale and enhance work
•Collaborate with other researchers and engineers to implement and evaluate algorithms. Lead the build/scale aspects of research and be the ‘go-to’ expert on this within the research stream.
•Identify and solve for varied problems within research work
•Research products instead of prototypes - helping to drive the focus on scalability/useability in the wider organisation
•Challenge researchers/collaborators to push to maintain robust engineering practices across research teams

Must Have Skills:

- Computer Science or similar degree.
- Expert knowledge in at least one of:
-- multi-threaded design
-- parallel/distributed computing
-- numerical methods
-- compilers
-- data visualization
Passion for AI/ML
ML experience not necessary
Good knowledge of either C++ or Python.

Nice to Have Skills:

- Prior experience working in a research environment
- Experience implementing and evaluating ML algorithms
- Some knowledge of Reinforcement Learning a plus but not essential
- Specialism and considerable knowledge in one of the following areas is highly beneficial:
-- Parallel Computing
-- Distributed Systems
-- Compilers
-- Visualization
-- Security
-- Numerical Methods


Starting: ASAP