发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

在象牙塔里写代码:高学位、低收入,软件还必须“高质量”

  • 2022-06-05
  • 本文字数:2665 字

    阅读完需:约 9 分钟

在象牙塔里写代码:高学位、低收入,软件还必须“高质量”

整理|燕珊


2012 年 3 月,一群志同道合的软件开发者聚集在牛津大学并参加了一个研讨会,这群开发者的职业的共同之处是:通过写代码/开发软件来支持科学研究。但他们的职位各有不同,而且没有清晰的职业道路,于是这群人创造了一个术语来描述自己的工作:研究软件工程师(research software engineer,以下简称“RSE”)。


十年后的今天,RSE 社区已经遍布英国、欧洲、澳大利亚和美国。谢菲尔德大学 RSE 小组负责人、英国研究软件工程协会前任主席 Paul Richmond 在接受《自然》杂志网站采访时指出,尤其在英国,至少有 31 家大学拥有自己的 RSE 小组,这表明这一工作的重要性日益增加。


但从现实的角度看,在互联网高速发展的时代,作为 RSE 在学术界能赚到的钱,也往往不如在科技大厂里做一名码农来得多。《自然》的这篇内容也因此在 Hacker News 上炸出了好多 RSE 们现身说法。

RSE 是做什么的?

本质上,RSE 做的事情就是建立软件来支持科学研究。但他们通常没有自己的研究问题——他们是通过开发软件工具来帮助其他人做很酷的事情。因此,他们每个人做的事情并不绝对,比如为现有的软件增加功能,解决 bug,又或者从头开始建立一些东西。但他们并不只是坐在电脑前写代码,写代码只是 RSE 角色的一部分,他们必须是良好的沟通者,能够将自己融入到一个团队中。


按照 Richmond 的说法,几乎每一个科学领域都需要运行软件,因此 RSE 会发现自己几乎可以从事任何工作。在 Richmond 的职业生涯中,他一直致力于开发用于成像癌细胞和模拟行人交通的软件。作为博士后,他其实从事的是计算神经科学的工作。“我对这些特定的研究领域了解不多,因此我需要与肿瘤学家或神经科学家或任何人密切合作以开发所需的软件。”


最初许多 RSE 都是博士生或博士后,他们从事软件工作以支持自己的项目。但他们意识到,比起实际的研究工作,他们更喜欢这部分工作。因此,RSE 肯定具备在工业界工作的技能,但他们选择了在学术界的前沿科学环境中茁壮成长。


“当然,博士学位不是必要的。”Richmond 说,“我鼓励任何对研究感兴趣的有经验的开发人员考虑将 RSE 作为一个职业。”

缺乏相应的认可和奖励

RSE 工作的一个重点是开发高质量的软件。但 Richmond 坦言,在过去,研究人员并不被激励去使用或创造好的软件。好消息是,这个情况正在发生变化。“许多期刊现在要求研究人员公开软件代码,而且需要遵循 FAIR 原则:可查找、可访问、可互操作和可复用。最后一个词非常重要:好的软件是研究‘可复用’的一个重要组成部分。”


Richmond 强调,他希望可以看到 RSE 在学术环境中是平等的。软件贯穿整个研究过程,但教授往往才是获得大部分认可和声望的那个群体。实际上软件可以产生与某些研究论文一样大的影响,甚至是更重要的角色。如果 RSE 能够获得他们应得的认可和奖励,那么 RSE 这个职业将会更有吸引力。


Richmond 的这些话透露了 RSE 职业存在认可和奖励不足的现实问题。而在技术论坛上,不少人随之对学术界展开抱怨。


一名自称在生物科学领域有 10 年以上经验的研究工具开发者分享道,自己的实验室制造了最先进的显微镜、硬件和图像分析软件,他也觉得学术界的工作确实很棒,能与来自世界各地的非常有趣的人一起工作,对项目也拥有完全的创意控制权。但在薪酬、期望和福利方面,永远不会得到像软件行业那样的高回报,当超过 30 岁时,可能仍在支付进入这个领域所需的学生贷款,而且仍然住在同一个糟糕的公寓里。“学术界,至少在生物科学领域,仍然是一座象牙塔。”


有人直言,“在学术界工作的一个严重现实是,你基本上是以较低的报酬为业界工作,而他们有一天会转过身来,拍拍你的肩膀,然后以数百万美元的价格出售你的工作。”“说实话,你越是接近应用领域,情况就越糟糕。在那里,你已经跨越了你的更‘纯粹’(和收入较少)的同行所认为的‘科学界限’,但实际上做出的东西将使人们的生活更美好。由于这也更靠近能看到你的工作是如何使别人发财的地方,就会很难让人不想跳槽,去成为另一头赚得盆满钵满的人。说实话,这是个令人不安的情况。”


也有人认为是关于地位的问题,“RSE 总是被认为不如研究人员(研究科学家),他们据称提出了“大创意”,而 RSE 只是执行被告知要做的事情。实际上,这条线要模糊得多。没有想法的实施就没有创新和迭代,RSE 工作同样重要。但除非这种观点改变,否则没有人愿意成为 RSE。”

RSE 职业发展还任重道远

“离开学术界后,我工作量变少,得到的报酬更高。在一个人屈服之前,理想主义可以持续很长时间。”


不少观点均指出,从职业道路选择和竞争性薪酬的角度来看,RSE 这个职业很难有好的前景。“如果你拥有材料科学、物理学、化学、生物学等方面的博士学位……并且对 Python(或类似)有相当的了解,也许可以花一年的时间做博士后。在那一年之后,认真考虑转到一家科技公司。”


但也有人对学术界始终抱有憧憬:“我放弃了对对抗性算法和生成对抗性网络的研究生研究,因为我意识到我可以得到 6 位数的报酬来制作商业软件并利用空闲时间做任何我想做的事情。像许多其他潜在的有前途的学术软件工程师一样,我有一个家庭要抚养,我要过上自己的生活。科学确实需要更多的研究软件工程师,但在科学能够支付软件工程师至少基本的最低收入之前,这种情况不会改变。当这种情况发生变化时,我会考虑从我离开的地方再度开始。


另一方面,有观点不认为科学家需要研究软件工程师。“PI(首席研究员)通常喜欢承担项目中的任何角色,包括软件设计。他们不喜欢交出事情并让人们构建现代的最佳实践软件。你开始谈论源代码控制、包管理器、工业中使用的一种他们甚至从未听说过也不太关心学习的语言等等,然后你就会被问到‘为什么你不能直接用 Python 或 C 编写,因为这是我唯一熟悉的两件事,然后将其压缩并放在 USB 驱动器上’。”


学术界还是工业界,这个问题始终没有固定答案。不少人指责学术界普遍存在资金不足且官僚作风的问题,一位自称在学术界和工业界都待过的 PI(首席研究员)直言,前者可以通过拨款申请来解决,后者必须被容忍,直到政治家/活动家解决它。他进一步解释道:学术界的钱和奖励在大多数情况下不受 PI 的控制(例如在德国,这是政府层面的决定,每个人的报酬都是一样的),所以他们往往有两种选择:与普通人共事或找到既聪明且有理想主义的人......


同时,该 PI 在评论区顺带发布了一则 RSE 招聘,寻找愿意与之一起使用最佳实践(尤其是使用 Rust)构建研究软件(本地和 AWS 云)的人。一位用户随之留言打趣道,这很可能就是当前难以招到 RSE 的最佳证据。


参考链接:

https://www.nature.com/articles/d41586-022-01516-2


https://news.ycombinator.com/item?id=31577376

2022-06-05 18:183765
用户头像
罗燕珊 InfoQ中文站编辑

发布了 413 篇内容, 共 239.0 次阅读, 收获喜欢 756 次。

关注

评论

发布
暂无评论
发现更多内容

AntDB数据库携超融合流式实时数仓亮相第25届中国高速公路信息技术化大会

亚信AntDB数据库

AntDB AntDB数据库 企业号 4 月 PK 榜

MobTech MobLink|无码邀请是怎么处理的

MobTech袤博科技

架构训练营模块二作业

请叫我馒头哥丶

架构实战营

为何说低代码平台会提升软件开发效率?

这我可不懂

软件开发 低代码 JNPF

喜讯!天翼云荣获国际AI顶会ABAW季军

天翼云开发者社区

联合解决方案|亚信科技AntDB携手蓝凌软件,助推企业数字化办公转型升级

亚信AntDB数据库

AntDB AntDB数据库 企业号 4 月 PK 榜

安全可信| 天翼云算力调度平台通过信通院首批可信算力云服务评估!

天翼云开发者社区

大咖说丨云计算:数字世界的“中枢神经”

天翼云开发者社区

明道云技术路径选择及与LCDP的比较

明道云

Springfox与SpringDoc——swagger如何选择(SpringDoc入门)

天翼云开发者社区

5月上海线下 · CSM认证周末班【提前报名特惠】“全球金牌课程”CST导师亲授

ShineScrum捷行

Excelize 入选 2022 中国开源创新大赛优秀项目

xuri

golang 开源 Go 语言 Excelize OOXML

不动产行业国产化加速,明源云上榜《中国信创500强》

科技热闻

如何通过Java代码将添加页码到PDF文档?

在下毛毛雨

Java PDF 添加页码

SketchUp Pro(草图大师2023)中文版 Mac/win

魔仙苹果mac堡

SketchUp Pro 2023 SketchUp Pro中文版 草图大师2023下载

GaussDB(DWS)云原生数仓技术解析

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

软件测试/测试开发丨通用 api 封装实战,带你深入理解 PO

测试人

软件测试 自动化测试 测试开发

智改数转:这个制造业的必答题该如何作答?

加入高科技仿生人

低代码 数字化 制造业 智能化 智改数转

软件测试/测试开发丨如何高效使用 Requests 做接口自动化测试

测试人

软件测试 自动化测试 接口测试 测试开发 requests

Ample Sound Ample Bass Upright III Mac(虚拟立式低音乐器)

魔仙苹果mac堡

从“卖船”到提供建造“航母” 的基础设施,用友BIP有底气

用友BIP

最新版本 Stable Diffusion 开源 AI 绘画工具之使用篇

极客飞兔

人工智能 图文生成 AI绘画 Stable Diffusion

重磅消息 | 2023年腾讯云从业者课程全面升级

科技热闻

基于SpringBoot实现单元测试的多种情境/方法(二)

天翼云开发者社区

保证高效写入查询的情况下,如何实现 CPU 资源和磁盘 IO 的最低开销?

TDengine

大数据 tdengine 数据处理 时序数据库 资源消耗

分布式政企应用如何快速实现云原生的微服务架构改造

华为云开源

微服务 云原生

软件测试/测试开发丨两个步骤轻松搞定测试环境问题

测试人

软件测试 自动化测试 测试开发

社区分享 | Orillusion 引擎入门系列 —— 如何创建一个简单的 3D 示例

Orillusion

WebGL 元宇宙 web3d #WebGPU #开源

算云融合促发展,天翼云以领先云网算力助推数字中国建设!

天翼云开发者社区

5月在线 · A-CSM认证周末班【提前报名特惠】“敏捷教练必修课程”CST导师亲授

ShineScrum捷行

5月上海线下 · CSPO认证周末班【提前报名特惠】“价值交付课程”CST导师亲授

ShineScrum捷行

在象牙塔里写代码:高学位、低收入,软件还必须“高质量”_文化 & 方法_罗燕珊_InfoQ精选文章