当前位置:首页|资讯|ChatGPT

加州理工学院:科学家为什么需要软件工程师

作者:发糖术神张叶发布时间:2024-06-05

本文转载自Caltech News,由ChatGPT翻译,图片来源于网络

在2024QS世界大学排名中,加州理工学院荣获第15

原文发布于2023年11月21日,原标题“Software in Science

谁不是每天花数小时在他们的“手机”上进行屏幕时间——这个设备可以发起或接收电话,但主要作为一个小型门户,连接他们的电子邮件、短信和一系列信息和娱乐的网络?

对于普通人来说,软件的一个关键特点就是它的隐形性。它在背景中默默运行,很少被感知到(至少直到它停止按预期功能工作为止)。然而,对于科学家来说,背景通常是前景。毕竟,正是科学家们首次开发了计算软件,以以前只能想象的准确和速度执行例行任务。

如今,或许令人惊讶的是,科学家们仍在编写他们自己的代码。由于要求科学家编写、维护和优化他们研究所需的代码越来越低效,科学家们需要翻译人员:那些既能理解科学又在编程语言上最为熟练的人。

(针对科研任务设计开发的软件与大家平时用到的软件可能有很大的不同,科研软件往往UI更“硬”,功能上注重特定任务的实现。很多科研人员不得不自己尝试编制软件)


加州理工学院的施密特学院提供了一个巧妙的干预措施来解决这个困境:最近的计算机科学毕业生受邀到加州理工学院,在科学实验室中嵌入一两年并接受指导;与此同时,他们将软件工程的最佳实践带到他们所在的研究小组中——希望能激励所有团队成员在编写代码时变得更好。

让我们来认识一下霍华德·德尚,他是施密特学者,哈维默德学院的最新毕业生,目前在物理学助理教授卡特琳娜·查齐奥安努的实验室中快乐地工作。该实验室分析来自激光干涉引力波观测器(LIGO)的数据。德尚表示:“施密特学院吸引了我,因为它迎合了我最大的两个兴趣——科学和软件。它承诺满足这两个需求,并实现了这一承诺。”

自2022年以来,德尚一直在重写BayesWave的代码,这是一个用于处理LIGO位于华盛顿汉福德和路易斯安那州利文斯顿的探测器数据的程序。德尚解释说:“当引力波通过它们时,这些探测器的长度会发生变化,按照广义相对论所描述的方式,它们会扭曲时空。”德尚解释道:“这些变化非常微小——探测器的长度为几公里,在引力波的影响下,长度变化不到一个原子的宽度——因此科学家和工程师们在数据中清除噪声方面付出了巨大的努力。”

2019年夏季,有四名“施密特学者”前来加州理工学院与平克斯顿合作。平克斯顿是一位加州理工学院校友,自2005年以来一直在该学院教授计算机科学。根据计划,2020年将有另外12名施密特学者加入最初的四名学者。格尼斯邀请了戴夫·朗普(Dave Rumph)加入团队。朗普之前在施乐公司的帕洛奥图研究中心担任软件工程师,他参与了首台彩色激光打印机的开发等多项成就。

很快就显而易见,加州理工学院的计算机科学毕业生无法填补所有施密特学院的职位。“加州理工学院的很多本科生毕业后都愿意去其他地方发展,”平克斯顿说,“而且他们收到了很有吸引力的行业工作机会。”

幸运的是,解决这一困境的方法就在东边25英里处的哈维默德学院,加州理工学院校友凯瑟琳·布里登(Katherine Breeden)是哈维默德学院的计算机科学助理教授,她早期加入了施密特学院的指导委员会,并在招募最近的哈维默德学院毕业生参与加州理工学院的项目中发挥了重要作用。哈维默德学院的计算机科学毕业生在工业界有丰富的就业机会,但对于他们来说,加州理工学院以及在如此丰富多样的研究实验室中工作的机会都是新的。现在,加州理工学院和哈维默德学院的毕业生都填补了每一届施密特学者的名额。

(哈维·穆德学院Harvey Mudd College,是美国顶级文理工程学院之一,创办于1955年12月,是一所涉及科学、工程、数学领域的私立精英学院。学院只提供高质量的精英本科教育,“小常春藤”之一)


科学家为什么需要软件工程师

毫无争议,当今科学界的重要性离不开软件。正如环境科学与工程的西奈德(Tapio Schneider)教授和JPL高级研究科学家所指出的:“在某些领域,整个科学工作流程都可以自动化。材料设计就是其中之一。通常,你构思一个材料,合成或组装它,并在实验室中对其进行特性表征和测试。反复进行。过去所有这些工作都是手动完成的,但现在你可以通过人工智能与自动化实验室将其中很多甚至全部工作自动化。”

面对如此复杂的过程,科学家必须编写软件,或者至少对软件的优点和局限有深入的了解,然后成功地与实验室中的其他人交流。正如施奈德所说:“人工智能和计算机是新的微积分。类似微积分和统计学是科学家和工程师教育的基本组成部分一样,学习人工智能原理和应用同样重要。”或者如格尼斯所说:“我们在科学中所做的一切都依赖于非常好的软件。”

当然,科学家在为自己的项目开发软件工程方面发挥着作用,而且,格尼斯说:“通常这些进展非常出色。”但是,可预见的是,存在一些限制。在掌握科学理论和方法的基础上学习软件工程是一项巨大的挑战。Chatziioannou评论道:“这不是你可以在一个月内学会的东西。这是一项庞大的技能。”

除了技能问题,事实上,像加州理工学院这样的研究型大学的大多数实验室都有故意保持较高的人员更替率:他们的主要目标之一是培养新兴科学家,他们通常只在实验室待三到五年。戴维·范·瓦伦(David Van Valen,博士)是生物学和生物工程的助理教授,也是遗产医学研究所的研究员,迄今为止,他的实验室接待过三名施密特学者。他说,科学家编写软件面临的最大障碍之一是“你有一个需要分析的科学问题,所以你只做了足够解决这一个问题的工作,然后负责的学生毕业了。每个人,每个新问题,都需要重新发明轮子。”

即使没有实验室人员的变动,为特定目的编写的软件也往往无法长久使用。Pinkston解释说:“软件不是一个稳定的东西。它存在于一个不断变化的环境中。操作系统变化,库得到更新,硬件变化。结果是,两年后那些完美运行的代码变得无用。”格尼斯说,要么软件停止工作,“要么它非常复杂,但无法修改以完成科学所需的最新和最伟大的任务。”

拉姆夫说:“如果软件是模块化的,更像一个工具箱,如果有良好的文档和可扩展性,并且有测试确保它正常运行,那么他们就不必浪费那么多时间。”正是这些“软件工程最佳实践”,正如行业中所知的那样,是施密特学院所教授的内容。

(Donnie Pinkston为施密特学者教授软件工程训练营)


施密特学院为年轻的软件工程师提供了什么

在运营的前四年中,施密特学院成功招募了所有在加州理工学院的可用职位上所需的学者,但这并非一项轻松的任务。格尼斯说:“软件工程师在商业、大型科技公司和政府等领域有很多机会。每个人都想要这些人才。我们想做的是将其中一些人才,至少是暂时,引导到研究型大学。”

布里登表示同意。“很多新职位都涉及到安全和人工智能等领域,”她说。“这些人显然很想招募我们的学生,但计算机科学还有很多其他有趣的事情可做。”在招募施密特学院学生时,布里登告诉他们:“如果你对Kindle软件进行微调,会影响到1000万用户,你的影响力就很大。这是衡量你影响力的一种方式。但是在科学软件方面,你可能正在从事一些更具定制性的工作。也许全世界只有一百名研究人员从事这个特定领域的工作,比如宇宙学。你可以开发一种完全改变他们工作流程的工具,对科学发现的速度或他们工作的可复制性产生巨大影响。对于二十多岁的人来说,能够做到这一点是令人惊叹的。”施奈德甚至说:“施密特学者正在创造科学的未来。他们正在引领一种在几十年后将变得普遍的科学方法。”

施密特学院已经成为一个活生生的模型,展示了优秀的软件如何改变和加速科学。拉姆夫和格尼斯表示,虽然目前还有其他努力在大学环境中将软件工程师参与科学研究,但施密特学院是其中最早的之一,并且在使研究人员和新兴软件工程师受益方面具有独特性。“这是加州理工学院和施密特未来启动的一个非常独特的实验,”布里登说。“我不知道还有哪所大学开展了这样的项目,而加州理工学院已经进行了四年了。”

阅读原文:https://www.caltech.edu/about/news/software-in-science


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1