Difference between Research Scientist vs Engineer

회사에 Research Engineer로 지원하는것과 Research Scientist로 지원하는건 무슨 차이일까? 지금 속한 그룹에서 따로 position을 명시해주지 않아서 둘의 차이가 정확히 무엇인지 궁금했는데, 구글링을 하다 Quora에 같은 질문을 보게됐다.

  • Question
Is being a "research engineer" different from being a "researcher"?
  • Answer
Eric Jang
Research scientist at Google Brain 4y

I can only answer this question in the context of AI research 
in an non-academic setting (e.g. Google, Facebook, Twitter, OpenAI), 
and these are my own opinions (not those of my employer). 
Please do not extrapolate to other scientific fields or academia!

Sort of. The expectation in the industry is that research engineers 
don’t have as much research qualifications (in particular, a PhD), 
so they work on more software infrastructure to support researchers. 
At a big tech lab, they might provide know-how on scaling up 
a research scientist’s code to huge scale, or write custom code 
to speed up the inner loop of simulations.

However, in some teams (Google Brain and other research teams 
within Google Inc. is a notable example), 
the distinction between research engineers and research scientists 
is virtually non-existent in day-to-day work.

A few reasons why I think it’s good to not distinguish 
too much between research engineers and scientists:

Researchers need to be good engineers to know how to make 
big impacts (deep learning is an engineering-heavy discipline) 
and research engineers need to understand the researcher mindset 
to know what kinds of tools are valuable, 
what the right design abstractions are for code.

Anyone with creativity can do research.

For a long time, CS research was thought as a very analytical 
and mathematical discipline. However, empirical science is 
providing most of the rapid progress in AI research, 
even though not all techniques are mathematically justified yet. 
Research engineers tend to be very good at empirical science; 
if debugging a home-grown operating system for a college class 
isn’t empirical science, I don’t know what is.

These labels limit problem solving creativity and really serve 
no useful purpose, 
so it’s better to just let people work on what they find interesting.

It’s very much the same way for many quantitative finance companies 
and hedge funds. 
If you consistently find alpha (the equivalent of a “good idea” in research),
they’ll let you do research.

4년전 글이긴 하지만 내가 회사에서 느낀 바와 비슷한 것 같다.

요약하자면 Research Scientist는 기존에 있던 알고리즘을 개선하기 위해 이런 저런 아이디어를 구현하는 실험적인 일들을 하는게 주된 일이고, Research Engineer는 이렇게 실험된 code 들을 scailing up, pipelining 해서 real-word problem에 적용하는 등의 일을 주로 한다고 보면 될 것 같다.

솔직히 Research Scientist가 좀 더 선진 연구를 하다보니 PhD 분들이 많고, 더 lab level의 실험을 하는 것이 맞다. 하지만 Google, FB, MS 등 대부분의 빅 테크 컴퍼니나 유명 금융권 기업들에서는 이렇게 급(?)을 나눠서 서로 자신의 업무만 하지는 않는다고 한다. 즉 research engineer여도 좋은 아이디어가 있다면 연구를 해도되고 반대로 research scientist 도 실험실에서만 그치지 않고 실제 유저들에게 엄청난 파급력의 실험 결과를 보여주기 위해서 engineering도 하는 등 서로의 일을 이해하는 것이 본인의 역량을 강화하는데 많은 도움이 된다는 것.

그러니까 내가 연구보다는 개발이 혹은 개발보다는 연구가 더 좋다고 해도 next level로 가기 위해선 둘 다 잘 해야된다는 것이니, 취향에 맞춰 개발이나 scale-up이 좋다면 engineer처럼 일하되 선진 연구를 follow-up하는것도 게을리 하지 말고 그 반대도 마찬가지이니 신경쓰지말고 할 일 하면 된다.

p.s.) 개인적으로 2023년 현재 LLM이 매우 큰 주목을 받으며, algorithm이나 architecture적으로 큰 contribution을 한다기 보다는, training efficiency나 inference method를 개선하는 등의 engineering이 더 중요해지고 있는 것 같다.