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

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

《自然》:RSE是做什么的?

Richmond:从根本上说,RSE通过开发软件来支持科学研究。他们通常没有自己的研究问题–他们开发计算机工具来帮助其他人做很酷的事情。他们可能为现有的软件增加功能,清除错误,或者从头开始建立一些东西。但他们并不只是坐在电脑前写代码。他们必须是良好的沟通者,能够将自己融入到一个团队中。

《自然》:他们从事什么类型的项目?

Richmond:几乎所有的科学领域都是在软件上运行的,所以RSE可以发现自己在做几乎任何事情。在我的职业生涯中,我从事过癌细胞成像和行人交通建模的软件。作为一个博士后,我从事计算神经科学的工作。我对这些特定的研究领域不是很了解,所以我与肿瘤学家或神经科学家或其他什么人密切合作,开发所需的软件。

《自然》:为什么这么多大学都支持自己的RSE小组?

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

《自然》:RSE还做什么?

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

《自然》:主要研究者(PI)是否理解对RSE的需求?

《自然》:谁应该考虑从事RSE工作?

Richmond:许多RSE开始时是博士生或博士后,从事软件工作以支持他们自己的项目。他们意识到,比起实际的研究工作,他们更喜欢这部分工作。RSEs当然有在工业界工作的技能,但他们在学术界的前沿科学环境中茁壮成长。

大多数RSE拥有博士学位—我有计算机图形学博士学位—但这不一定是一个要求。一些RSEs最终走上了终身职位;我最近被提升为教授。其他许多人作为实验室技术人员或服务人员工作。我会鼓励任何对研究感兴趣的有经验的开发人员考虑将RSE作为一个职业。我还希望看到更多来自代表性不足的群体的人加入这个领域。我们需要更多的多样性来发展。

《自然》:你对有希望成为RSE的人有什么建议?

Richmond:可以尝试开发一个开源软件。如果可能的话,在一个合作的环境中做一些培训。如果有问题,可以和正在工作的RSE交谈。考虑加入一个协会。英国研究性软件工程协会很乐意为人们提供有关进入该领域或如何在工作申请中脱颖而出的建议。在美国的人可以联系美国研究软件工程师协会。

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

《自然》:你对这个行业在未来10年的发展有何设想?

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

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年5月1日
下一篇 2022年5月1日

相关推荐