聚焦大模型浪潮下软件工程的创新洞见与实践 |QCon主题演讲大咖来袭 了解详情
写点什么

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:544423

评论

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

软件测试 | Bug的定位方法

测吧(北京)科技有限公司

测试

软件测试 | 什么是CSS

测吧(北京)科技有限公司

测试

文件同步是什么?解析6个最佳的文件同步应用软件

镭速

SpringBoot动态配置文件及项目打包部署

微枫Micromaple

maven Profile springboot 部署 项目上线

渲染速度慢,使用云渲染会快多少?

Renderbus瑞云渲染农场

云渲染 渲染慢怎么办?

基于图的下一代入侵检测系统

NebulaGraph

图数据库 安全检测 入侵检测

Nacos 配置管理最佳实践

阿里巴巴云原生

阿里云 开源 云原生 nacos

软件测试 | 什么是HTML?

测吧(北京)科技有限公司

测试

现货合约量化交易系统开发机器人策略

薇電13242772558

量化

软件测试 | web端常见bug解析

测吧(北京)科技有限公司

测试

API Explorer 进阶之路 | 一篇文章快速入门!

华为云PaaS服务小智

云原生微服务应用平台 EDAS 2022 年度报告

阿里巴巴云原生

阿里云 微服务 云原生

CleanMyMac X2023电脑最新版本更新内容

茶色酒

CleanMyMac X CleanMyMac X2023

软件测试 | 软件缺陷分为哪几种

测吧(北京)科技有限公司

测试

docker setup mysql

平凡人生

MySQL

推进行业生态发展完善,中国信通院第八批RPA评测工作正式启动

王吉伟频道

RPA 机器人流程自动化 中国信通院 RPA评测 RPA产业推进方阵

Relocating the Docker root directory

平凡人生

Docker

软件测试 | JavaScript如何使用

测吧(北京)科技有限公司

测试

RocketMQ 集成生态再升级:轻松构建云上数据管道

阿里巴巴云原生

阿里云 RocketMQ 云原生

软件测试 | 测试环境搭建

测吧(北京)科技有限公司

测试

设计原则 — O 开放封闭原则

Lemoon Can

设计原则 开放封闭原则

解读 Java 云原生实践中的内存问题

阿里巴巴云原生

Java 阿里云 云原生

ChatGPT真的可以取代基础工作岗位吗?

老张

人工智能 产业发展 ChatGPT

为什么在容器中 1 号进程挂不上 arthas?

阿里巴巴云原生

Java 阿里云 容器 云原生

核心应用实现云原生改造升级,波司登数字化战略加速落地

阿里巴巴云原生

阿里云 云原生

大数据学习培训机构该怎么选择

小谷哥

腾讯连续四次上榜福布斯2023全球区块链50强

科技热闻

第四届OpenI/O启智开发者大会即将在深圳启动

OpenI启智社区

人工智能 开源 开发者大会 OpenI启智社区

ONES 支持多项信创适配,打造自主可控的国产化平台

万事ONES

Higress + Nacos 微服务网关最佳实践

阿里巴巴云原生

阿里云 云原生 nacos Higress

突破边界:“超融合+”带来的商业化精益之路

脑极体

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