- full-time research position, based in London, UK (not remote)
- focus on Deep Learning and NLP for Software Development
- Ph.D. level position or equivalent industry experience
- VC-backed technical founders from Google, Oxford and Palantir
- strong engineering team behind you to productise your ideas
- dedicated infrastructure and hardware for fast experimentation
- flexible hours; working in your own style
- mentorship from academics and industry professionals
- generous salary and considerable equity
About the company
Software engineers are only human, and machines are very unforgiving. We leverage modern NLP and Machine Learning techniques to address the cognitive limitations that make software so difficult to understand, produce and maintain.
Our first product augments human developers with AI to simplify and automate the code review process, enabling engineers to fix problems before shipping code to production.
Code as Natural Language:
Some NLP techniques are readily applicable to source code, for instance embeddings and auto-encoders. However, code differs from natural language in multiple ways. In particular, code is not designed to be read or compiled from left to right, and we need to take variables, references and dependencies into account. This requires revisiting and adapting some classic approaches.
Deep Learning for Graphs:
Because of the deeply-linked nature of code, we often need to deal with complex graph structures, whereas traditional Deep Learning techniques have typically dealt with regularly structured data (e.g. 1D chains, 2D or 3D grids). Deep Learning for Graphs is a booming research field in its own right, but it is relatively new and many research questions are still unanswered. We are looking in particular at addressing performance issues and improving the reasoning power of those models in the context of inductive graph problems.
Generative Models and Reinforcement
One of our short-term milestones is to train algorithms to spot issues in existing code, but our long-term objective is to generate code. Generating code is particularly challenging because of the logical constraints that make code valid or invalid. We are exploring adversarial generative techniques, teaching machines simultaneously to generate and repair code. We also look into leveraging deep reinforcement learning to train models to repair code after generation.
Explainability and Formal Methods
While our core research focus is on Machine Learning we also want to provide our users with clear explanations for each suggestion that we make on their code. Part of the solution is to leverage modern XAI techniques (e.g. displaying the weights of an attention model), but we believe that logical reasoning is an important and complementary part the solution. We are therefore looking into ways to integrate reasoners (e.g. Datalog engines and SMT solvers) into our AI stack.
Why we do research
Research scientists at Prodo are in charge of figuring out what is technically possible or impossible, thus having a direct impact on business strategy.
We read a lot of papers to always remain at the cutting edge of our field and also do a fair amount of prototyping (typically with PyTorch) to experiment and validate new ideas. We work closely with product engineers, advising them on how to best implement different ML features.
We encourage sharing positive and negative results with the broader research community and attending relevant conferences. We value inter-personal skills and proactively share our findings on a daily or weekly basis.
How we don’t forget to have fun
We are lucky to be working in a brand new field with plenty of room for innovation. In fact, we guarantee that you will never run out of exciting ideas to explore. But besides optimising only for the sheer joy of intellectual stimulation, we also made sure to build an inclusive environment, where we all feel safe to be ourselves, learn from our mistakes, experiment with crazy ideas, and also play hard at regular intervals.
Our spacious office is full of entertainments (a foosball table, a music room, a kitchen full of healthy nibbles, and an adorable puppy) and we also organise a wide range of offsite activities, from mini-golf to escape rooms. We also play board games and have long walks in the country side when we need a break from the high pace of East London.
Our research team currently includes 3 full-time scientists with PhDs from Oxford and Cambridge, supported actively by 3 senior scientific advisors from EPFL, Oxford and Twitter (see team). We are currently looking for 2 more full-time research scientists.
How to apply
Did this sound intriguing? Please email us at firstname.lastname@example.org with "Research Scientist" in the subject line, a CV, and a little about you to start a discussion.
Let us know if you're already in London, or your current location if you plan on relocating, and whether you'd need a visa to work in the UK.
Lost? Head back to the home page.