[D] Research Engineer FAQ
Excerpt from a post by Aki Matsukawa who worked at deepmind, google, and twitter before as an RSWE:
What does a research engineer do?
Responsibilities of a research engineer can differ quite a lot by company, and even by team within the same company. But generally, doing effective research means taking advantage of the work that others have done, be it algorithm implementations, model checkpoints, or evaluation tools. In order for this to happen at scale, a level of software engineering discipline is necessary. I define the primary goal of a research engineer as enabling, contributing to, and accelerating ML research by bringing engineering expertise to the projects. Some examples of a research engineer’s responsibilities are:
Implementing algorithms and related baselines under a common API to allow for rapid experimentation.
Setting up distributed training.
Creating evaluation tools in Jupyter notebooks.
Often, a research engineer also makes contributions to the research itself, especially using insights and intuitions derived from implementing and iterating on experiments.