写点什么

SpaceX 软件团队 Reddit 答网友问:应用级程序用 C++ 编写,测试用 Python

  • 2020-06-19
  • 本文字数:2052 字

    阅读完需:约 7 分钟

SpaceX软件团队Reddit答网友问:应用级程序用C++编写,测试用Python

美国当地时间 5 月 30 日,由埃隆·马斯克创办的航天公司 SpaceX 执行的载人航天发射任务在肯尼迪航天中心圆满完成,猎鹰 9 号火箭成功将载人飞船“Dragon”以及参与两名宇航员送上了太空,至此,马斯克距离他的火星梦又进了一步。


近日,负责开发和部署 Dragon 软件的六名技术人员在 Reddit 举行了一场以“Dragon 有问必答”为主题的线上问答会,Reddit 用户可以就自己感兴趣的任何问题向技术人员提问,他们也会耐心地进行解答。参与问答的团队成员各有分工,有人负责技术管理,有人负责软件开发,有人负责网络安全问题,他们也就网友关心的如何能进入 SpaceX 公司工作给出了一些建议。


这六位技术人员分别是:


  • Jeff Dexter——负责运行飞行软件和网络安全;

  • Josh Sulkin —— Crew Dragon 软件设计负责人

  • Wendy Shimata ——管理 Dragon 软件团队,并负责 Dragon 的容错和安全工作

  • John Dietrick —— 领导了 Demo-2 的软件开发工作

  • Sofian Hnaide——负责 Demo-2 上 Crew Displays 软件工作

  • Matt Monson——曾在 Dragon 上工作现在负责 Starlink 软件

本科学历是最基本条件

在问答中,一位被猜测是高中生的 Reddit 用户问道:“如果我将来想去 SpaceX 从事软件工作,应该具备什么条件?”


SpaceX 负责飞行软件和网络安全的 Jeff Dexter 回答道:“获得计算机科学学位或类似学位”,他表示,对学历有要求是为了“确保你真正了解必备的技术常识”。


他解释说:“在 SpaceX 上表现出色的工程师对他们的代码、网络、Linux 和硬件等如何工作一丝不苟”。另外,SpaceX 许多公开的工程和软件岗位的基本要求都是学士学位及以上。


除了学历很重要以外,团队还提到通过参与一些项目或实习工作获得相应的工作经验也十分重要。Dexter 建议说:“通过在 SpaceX 里接触一些业余项目或实习获得现实世界中的构建事物和解决难题的经验,对以后进入 SpaceX 也很有帮助”。 例如,Demo-2 软件开发工作负责人 John Dietrick 在 Reddit 上说,“视频游戏开发与我们的工作之间有不少交集,这两个领域中,有很多类似的数学难题和以性能为中心的问题。”


学历很重要,但并不是全部。曾在 Dragon 任职,现在负责领导 Starlink 软件的 Matt Monson 表示,“团队中的成员拥有着不同的文化、教育背景,但没有多少人拥有航空背景,不同的观点可以帮助我们从不同的角度看待问题,并且通常可以帮助我们看到我们原本不会看到的解决方案。”


Monson 总结道:“我们欢迎的成员要具备两个基本条件:才能(潜力)和正确的态度(渴望自我完善,为团队服务而不是自私)。

Reddit 上热门评论

在此问答环节中,涉及了很多 SpaceX 的技术栈是什么、应用的编程语言是什么以及在飞行过程中如何执行错误检测和纠正等网友们关注的问题,以下是 Reddit 上热度较高的一些评论及技术团队的回答:



Crew Dragon 软件设计负责人 Josh 回答了网友们关心的开发 F9 和 Dragon 软件最常用的编程语言是什么?是 C 还是 C ++?



Josh 回答称:“所有应用程序级自主软件都是用 C ++编写的。尽管我们希望编程尽可能简单些,但通常,我们在使用面向对象的编程技术时会选择使用 C++。



针对 Dragon 上是否使用了开源库的问题,Josh 回答称:


我们确实使用了开源代码库,主要是标准 C ++库,还有一些其他库。但是,我们仅使用极高质量的开源代码库,并且在解决实际问题时会选择开发自己的库,以便我们可以自己控制代码质量。


网友也对在飞行过程中如何执行错误检测和纠正这一问题比较感兴趣,而 Josh 给出的回答是:


我们在飞船上部署了多台冗余计算机,并对其输出进行投票,这样就可以处理计算机中由辐射引起的错误。通过使用多个不同的传感器来处理传感器中的错误。而数据传输中的错误则通过使用附加到有效负载的错误检测或错误纠正代码来处理。


在机器学习无处不在的当下,SpaceX 是否在其软件中使用了 AI 技术这一话题也成为网友的关注点,就此问题,Dietrick 给出的回答令人有些意想不到,他表示:“Daragon 未使用任何 AI。”不过,Josh 也补充道,Dragon 确实使用了一些计算机视觉来进行导航。



此外,网友也比较关心 SpaceX 的技术栈是什么?它们主要是开源还是内部框架?这一问题 Sofian 给出了回答,他称:“我们使用 C 和 C++来制作飞行软件,HTML、JavaScript 和 CSS 用于显示,python 用于测试。”


在被问到所使用的 Linux 发行版是什么时,Dietrick 表示,“我们不使用任何现成的发行版,我们有自己的发行版。”



在提及如何测试软件时,Dietrick 回答称:“我们会用我们能想到的所有方法进行测试。单元测试、基于容器技术的集成测试(你可以在自己的机器上运行这些测试,并进行完整的物理模拟),以及在真实飞行硬件上进行的完整的“HITL”测试(同样是在完整的模拟下进行)。将飞行软件与模拟器匹配起来是我们最强大的工具,尤其是在真实硬件上运行时。我们可以模拟整个任务,甚至许多详细的故障场景,这些只需把飞行器硬件放在实验室桌子上就能完成。



欲了解更多详细技术信息,请查阅:


https://www.reddit.com/r/spacex/comments/gxb7j1/we_are_the_spacex_software_team_ask_us_anything/


2020-06-19 13:544799

评论

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

音乐NFT开发的测试

北京木奇移动技术有限公司

软件外包公司 音乐NFT 体育NFT

性能测试丨分布式性能监控系统 SkyWalking

测试人

软件测试

Windows Server 2025 中文版、英文版下载 (2025 年 1 月更新)

sysin

windows

人工智能丨Midscene:让UI自动化测试变得更简单

测试人

人工智能 软件测试

Windows 11 23H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 1 月更新)

sysin

windows

你的LLM评估方法过时了吗?这三个范式转变不容错过

Baihai IDP

程序员 AI LLM LLM评估范式

Svelte 最新中文文档翻译(5)—— 基础标记

冴羽

JavaScript vue.js 前端 Svelte SvelteKit

性能测试丨JVM 性能数据采集

测试人

软件测试

构建1688自动代采系统:PHP开发实战指南

代码忍者

1688代采

AI 发展是否正在放缓?AI 发展将驶向何方?

Baihai IDP

程序员 AI 白海科技 LLMs

火语言RPA--超级鹰打码

火语言RPA

分布式系统学习10:分布式事务

卷福同学

分布式事务 分布式系统

“AI拜年”火遍朋友圈,营销的终局是拼技术

Alter

解决Python处理大规模数据的性能瓶颈,人大教师向你推荐这四种工具!

ModelWhale

Python 智能体 大模型 加速包

《CPython Internals》阅读笔记:p356-p359

codists

CPython Internals

Windows 10 version 22H2 中文版、英文版下载 (2025 年 1 月更新)

sysin

windows

音乐NFT开发中的主要技术难点

北京木奇移动技术有限公司

软件外包公司 音乐NFT 体育NFT

火山引擎「车鱼视听」“汽水音乐”蔚来车端首发,带来更多车载音乐体验选择

极客天地

性能测试丨Nginx 性能数据监控

测试人

软件测试

1688 买家订单,订单物流,订单回传接口系列(1688 寻源通 API)

tbapi

1688API 1688订单接口 1688订单物流接口 1688寻原通

数字藏品(NFT)开发的智能合约

北京木奇移动技术有限公司

软件外包公司 音乐NFT 体育NFT

数字藏品NFT的开发框架

北京木奇移动技术有限公司

软件外包公司 音乐NFT 体育NFT

电商平台爬虫技术深度剖析:实战心得与技巧汇总

代码忍者

大模型选择指南:功能、参数和优化

JustYan

人工智能 大模型 生成式AI

《CPython Internals》阅读笔记:p360-p377

codists

CPython Internals

性能测试丨内存火焰图 Flame Graphs

测试人

软件测试

音乐NFT的上线流程

北京木奇移动技术有限公司

软件外包公司 音乐NFT 体育NFT

Windows 11 24H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 1 月更新)

sysin

windows

Windows Server 2022 中文版、英文版下载 (2025 年 1 月更新)

sysin

windows

深度解析:利用商品详情 API 接口实现数据获取与应用

科普小能手

数据挖掘 淘宝 电商 API 接口 跨境电商运营

SpaceX软件团队Reddit答网友问:应用级程序用C++编写,测试用Python_开源_李冬梅_InfoQ精选文章