科技公司Research team下SDE的职责范围?

avatar 415101
ripxd
1617
1
大家好,关于在科技公司Research Lab(或者research组)做SDE开发我有几个问题想请教下各位前辈。如果有任何信息错误或者不对的地方麻烦大家直接指出,因为我经验不足所以理解可能会有偏差, 多谢 !:)
注: 纯Research Lab是指类似: FAIR, G Brain, OpenAI, DeepMind, MSR, Amazon AI, MILA, Salesforce lab...

- research lab 的工程师职责究竟包括哪些?
根据我过去(十分有限)的经历,和朋友同学交流还有和导师/senior sde讨论得到的信息,我的个人理解是: 对于junior SDE来说可能还是coding为主,很多时候sde也会参加research scientists的讨论或者literature review, 甚至一些有strong math/cs/stats背景的SDE会参与到模型/算法的开发,但是工程师主要的职责还是成功开发出一个workable/production ready的产品。

这个产品的定义会跟随组的变化有一定改变,比如说DM的Xland,AlphaFold, AlphaGo就属于既可以用来参加比赛/会议做demo,又可以作为开源代码提交顶会期刊的产品;有的team除了投research期刊外需要做一些demo 给管理层展示,并且会在公司内做一些实验用产品做测试,这时候也需要Research team内的SDE与其他team对接。除此以外,research team内所有的工程相关设施,比如infra, services, tools, data pipeline(如有)也需要SDE参与。

不知以上描述是否准确?

- research lab 的工程师必需掌握的技能点?

1. 熟练掌握一到两种研究组内/业界常用编程语言,可能是C++/Python。
2. 对如pytorch/tensorflow框架的理解,必须能读懂代码,会熟练查阅文档。
3. 至少本科生级别的math/stats/ml知识;
4. ..?

- 如何处理不清晰的research相关的工作内容?
我不太了解的点在于,因为不像公司内的产品/infra/..组有一个明确的工作scope或明确的数据指标(比如说MAU/DAU,内部工具或系统的效率提升),或者有PM等职位帮助确定每个quater的roadmap,很多时候research team在做重复性的试错/学习/文献阅读, engineer的职责范围也变得模糊了起来,我不知道在很多时候研究内容有很多ambiguity的组内,sde如何能够主动确定自己的工作范围,或者说,如何确定自己在做on the track的工作?

- 和在学术界做research的不同?

大概就是这四点问题,谢谢大家!
  • 4
1条回复