保罗·里士满(Paul Richmond)在他的花园里为一幅肖像摆姿势

Paul Richmond是英国的一名研究软件工程师。图片来源:Shelley Richmond

2012年3月,一群志同道合的软件开发人员聚集在英国牛津大学,参加他们所谓的协作研讨会。他们有一个共同的职业——建立支持科学研究的代码——但职称不同。他们没有明确的职业道路。与会者创造了一个术语来描述他们的工作:研究软件工程师(RSE)。

十年后,RSE社团在英国、欧洲大陆、澳大利亚和美国如雨后春笋般涌现。在英国,至少有31所大学拥有他们自己的RSE小组,这是该专业日益重要的一个迹象,谢菲尔德大学RSE小组负责人、英国研究软件工程学会前主席保罗·里士满(Paul Richmond)说。自然与Richmond讨论了RSE的生活,软件在研究型企业中的角色,以及该领域在其成立十周年之际的现状。

rse做什么?

从根本上说,rse构建软件是为了支持科学研究。他们通常没有自己的研究问题——他们开发计算机工具来帮助其他人做很酷的事情。他们可能会为现有的软件添加功能,清除漏洞,或者从头开始构建一些东西。但他们不只是坐在电脑前写代码。他们必须善于沟通,能够融入团队。

他们在做什么类型的项目?

几乎每一个科学领域都是在软件上运行的,所以RSE可能会发现他们在做任何事情。在我的职业生涯中,我曾致力于癌细胞成像和行人交通建模的软件。作为博士后,我研究的是计算神经科学。我对这些特定的研究领域了解不多,所以我与肿瘤学家或神经科学家或其他任何人密切合作,开发所需的软件。

电脑屏幕上多色代码的特写

建筑代码只是研究软件工程师角色的一部分。图片来源:Norman Posselt/Getty

为什么这么多大学支持他们自己的RSE组织?

一些处于学术阶梯顶端的高级研究人员有能力雇佣自己的RSE。该工程师可能致力于维护一个已经存在了10年或20年的软件。但大多数研究小组只是偶尔需要或负担得起RSE。如果他们的大学有一个RSE小组,他们可以每周雇一天内部工程师,或者一次雇一个月,或者任何他们需要的。这样,RSE小组就像一个核心设施。这所大学试图确保团队工作流程的稳定,但这通常不是问题——这里不缺乏项目。

rse还能做什么?

这项工作的很大一部分是提高人们对高质量软件重要性的认识。RSE可能会培养博士后或研究生独立开发软件。或者他们可能会举办一个关于良好软件实践的研讨会。从理论上讲,培训50个人可能比只做一个项目更有影响力。在实践中,rse通常很难抽出时间进行教学、指导和宣传,因为他们忙于支持研究。

首席研究员(pi)了解rse的必要性吗?

这是混合。在过去,研究人员并不总是被激励去使用或创建好的软件。但这种情况正在改变。许多期刊现在要求作者发表代码,而且这些代码必须是公平的:可查找、可访问、可互操作和可重复。最后一个术语非常重要:好的软件是研究可重复性的关键组成部分。我们向pi解释,他们需要可靠的代码,这样他们就不必在六个月后撤回他们的论文。

谁应该考虑以RSE为职业?

许多rse最初是博士生或博士后,他们从事软件工作来支持自己的项目。他们意识到他们更喜欢这份工作的一部分,而不是实际的研究。rse当然有在工业界工作的技能,但他们在学术前沿科学的环境中茁壮成长。

大多数rse都有博士学位——我有计算机图形学博士学位——但这并不是必要的要求。一些rse最终走上终身教职的道路;我最近被提升为教授。还有许多人担任实验室技术人员或服务人员。我鼓励任何对研究感兴趣的有经验的开发人员将RSE作为自己的职业。我也希望看到更多来自弱势群体的人加入这一领域。我们需要更多的多样性。

你对有望参加RSE的学生有什么建议?

试着开发一款开源软件。如果可能的话,在合作环境中进行一些培训。如果您有问题,请与正在工作的RSE交谈。考虑加入一个协会。英国软件工程研究学会总是乐于为人们进入该领域或如何在求职申请中脱颖而出提供建议。在美国的人们可以联系到美国研究软件工程师协会。

如果你是博士生或博士后,给自己一个挑战:试着说服你的主管或PI,他们真的需要接受好的软件技术。如果你能改变他们的想法,这是一个很好的迹象,表明你有成功的激情和动力。

你对这个行业未来10年的发展有什么设想?

我想看到rse在学术环境中是平等的。软件贯穿整个研究过程,但教授们往往会获得大部分的认可和声望。软件的影响可以和某些研究论文一样大,有些甚至更大。如果rse能够得到他们应得的认可和奖励,那么他们的职业道路将会更加明显和有吸引力。