科学探索|为什么科学界需要更多的研究型软件工程师?

2012年3月 , 一群志同道合的软件开发人员聚集在英国牛津大学 , 参加他们所谓的“Collaborations Workshop” 研讨会 。他们有一个共同的职业--开发软件以支持科学研究 , 但他们的职位不同 , 而且他们没有明确的职业道路 。与会者创造了一个术语来描述他们的工作路线:研究型软件工程师(RSE) 。

科学探索|为什么科学界需要更多的研究型软件工程师?
文章图片

十年后 , RSE协会在英国、欧洲大陆、澳大利亚和美国兴起 。在英国 , 至少有31所大学有自己的RSE小组 。谢菲尔德大学的RSE小组负责人、英国研究软件工程学会前任主席 Paul Richmond说 , 这表明这个职业的重要性在不断增加 。《自然》杂志采访人员Chris Woolston采访了Richmond , 了解了作为RSE的生活、软件在研究企业中的作用以及该领域在十周年之际的状况 。
《自然》:RSE是做什么的?
Richmond:从根本上说 , RSE通过开发软件来支持科学研究 。他们通常没有自己的研究问题--他们开发计算机工具来帮助其他人做很酷的事情 。他们可能为现有的软件增加功能 , 清除错误 , 或者从头开始建立一些东西 。但他们并不只是坐在电脑前写代码 。他们必须是良好的沟通者 , 能够将自己融入到一个团队中 。
《自然》:他们从事什么类型的项目?
Richmond:几乎所有的科学领域都是在软件上运行的 , 所以RSE可以发现自己在做几乎任何事情 。在我的职业生涯中 , 我从事过癌细胞成像和行人交通建模的软件 。作为一个博士后 , 我从事计算神经科学的工作 。我对这些特定的研究领域不是很了解 , 所以我与肿瘤学家或神经科学家或其他什么人密切合作 , 开发所需的软件 。
《自然》:为什么这么多大学都支持自己的RSE小组?
Richmond:一些处于学术梯队顶端的高权重研究人员有能力雇用自己的RSE 。该工程师可能致力于维护一个已经存在了10或20年的单一软件 。但是 , 大多数研究小组只是偶尔需要--或者能够负担得起--一个RSE 。如果他们的大学有一个RSE小组 , 他们可以雇用一名内部工程师 , 每周一天 , 或一次一个月 , 或任何他们需要的东西 。这样一来 , RSE小组就像一个核心设施 。大学试图确保该小组有一个稳定的工作流程 , 但这通常不是问题--不缺项目可做 。
《自然》:RSE还做什么?
Richmond:RSE工作的很大一部分是提高对高质量软件的重要性的认识 。RSE可能会培训一个博士后或研究生 , 让他们自己开发软件 。或者他们可以举办一个关于良好软件实践的研讨会 。从理论上讲 , 培训50个人可能比在一个项目上工作更有影响力 。在实践中 , 因为忙于支持研究 , RSE们往往很难抽出时间进行教学、指导和宣传 。
《自然》:主要研究者(PI)是否理解对RSE的需求?
Richmond:这是很复杂的 。在过去 , 研究人员并不总是被激励去使用或创造好的软件 。但这正在改变 。许多期刊现在要求作者发表代码 , 而且这些代码必须是FAIR:可查找、可访问、可互用和可复制的 。最后一个词非常重要:好的软件是研究可重现性的一个重要组成部分 。RSE向首席科学家解释说 , 他们需要可靠的代码 , 这样他们就不必在六个月后撤回他们的论文了 。
《自然》:谁应该考虑从事RSE工作?