• 他会造特斯拉,他会造SpaceX,他还会撸代码!
  • 发布于 2个月前
  • 245 热度
    0 评论
作为一个企业家,马斯克毫无疑问是成功的。但程序员出身的他,编程水平如何呢?也许我们可以试着借助2015年出版的名为《ElonMusk: Tesla, SpaceX, and the Quest for a Fantastic Future》的传记来看出些端倪来。

计算机从娃娃抓起
不知道你是否知道一款古老的游戏,名叫“Blastar”(一个太空小游戏),上图就是“Blastar”的界面,用现在的标准来看这款游戏真的是十分粗糙的,但是这款游戏是马斯克在12岁(1983年)的作品,要知道他10岁那年才买了第一台电脑,用3天自学了6个月的课程,而且那时候既没有趁手的编译器和调试器,也没有Google和Stack Overflow用来协助查询资料。

下图是“Blastar”的源代码。如果你想再感受一下马斯克在83年开发的游戏,可以访问这个网址:http://blastar-1984.appspot.com,这是一位Google工程师用Html5重现的游戏。

后来马斯克把这款软件用500美元的价格出售给一家名叫《PCand Office Technology》的杂志,赚了人生第一桶金。

吾家有“猿”初长成
许多人也许不知道,马斯克曾经在RocketScience Games(一家视频游戏开发公司)当过程序员。

当时的同事对他的编程水平评价相当高。当时的管理人员,后来的苹果QuickTime的首席工程师BruceLeak回忆马斯克说:“他好像有着无穷的精力,当其他人不知道对硬件或者其他东西一筹莫展的时候,但是他(马斯克)借助电脑黑客的经历很快会想出办法。”

接下来,马斯克叫上弟弟金巴尔·马斯克一起开始开发一个叫Zip2的项目,主要是为新闻提供在线的城市导航与指南信息。在创业初期,马斯克必须亲自负责所有的开发工作。马斯克从加州湾区(BayArea)用低廉的价格获得包含公司名和地址的公司列表数据库的授权,又从Navteq公司(一家综合电子地图信息领域的领先供应商)获得免费的技术,然后把两个系统的数据库整合到一起使整个Zip2系统运行起来。

传记中提到据当时的工作人员回忆,马斯克几乎没有离开过办公室,常常是睡在简陋的办公室里的。而按照马斯克自己述说的的:在Zip2的时候,我们有很多优秀的工程师,但是我做的比他们都要好很多,我的工作就是看代码然后修复他们该死的代码。这大概是一种傲视群雄的感觉的吧。

据说下图是1999年的时候网站的样子,又是非常简陋吧!

你觉得当时马斯克用什么语言来开发呢?也许前台用HTML和JavaScript(1995年由著名的网景公司开发),后台用C吧。

1999年,康柏(Compaq)的AltaVista部门以3.07亿美元现金和3400万美元股票期权收购了Zip2。

出任CEO,迎娶白富美
卖掉Zip2后,握有大笔现金的马斯克又创办了一家提供在线金融服务公司X.com。不久后X.com与经营PayPal的Confinity公司合并。在2001年,合并后的公司更名为PayPal。2002年10月,全球最大拍卖网站eBay以15亿美元收购PayPal。此时的31岁的马斯克选择套现1.8亿美元走人。

他在传记里如是说:我们在MicrosoftC++中编写前端代码而不是Linux。原因是微软和PC的编程工具实际上是非常强大的。你可以更快地编程,你可以在PCC++世界中更快地获得功能。所有的Xbox游戏都是用微软C++编写的。它们是非常复杂的,很难做的事情,这些伟大的工具是由于游戏产业而发展起来的。在游戏行业中,有比其他任何地方都更聪明的程序员。今天会发现。微软拥有巨大的支持库。所以你可以得到一个可以做任何事情的DLL,但是你无法得到可以做任何事情的Linux库。

回想起来,我应该推迟品牌转型,我应该花更多的时间和Max在技术上让它更加令人舒服。因为就像Max的Linux系统一样。创建的代码叫做Max代码。Max对Max代码有很强的亲和力。但是它使得开发新功能变得非常困难。如果你看看今天的PayPal没有开发任何新功能的部分原因是,维护旧系统是非常困难的。

这也许是后来SpaceX的火箭和宇宙飞船上面全部使用了C++的原因吧。

走上人生巅峰
离开PayPal后,着迷外太空探索的马斯克联合一些NASA火箭专家创办了SpaceX。2004年,正当SpaceX攻坚期间,马斯克又看上了电动汽车,个人投资创办了Tesla。2006年马斯克又投资表弟成立公司SolarCity(目前全美国最大的太阳能发电公司,Tesla子公司)。虽然由于多线开战和一些意外,出现了严重的资金流的问题。但马斯克挺了过来,现在SpaceX,Tesla和SolarCity都走上了正轨。

传记中还提到:标准的SpaceX公司的面试问题需要写500行以上的代码,所有潜在的员工都要在面试结束后再处理一项任务,甚至为马斯克写一篇关于他们为什么想在Spacex公司工作的文章。对解决问题的、在面试中表现得很聪明的,写一篇好文章的人的奖励是与马斯克的会面。他可能会问一个问题,或者问几个问题。他倾向于不关心这个人是否得到了答案,而不是他们如何描述这个问题以及他们解决问题的方法。有没有觉得我们之前讨论过的面试官很类似!

回归到最初的问题
我们回到关于马斯克在编程方面是不是很厉害的讨论,希望上述的描述是一个能有一个自己的判断,事实上并没有有效的方法来衡量他目前的编码能力,也许只有他亲密同事才能准确地评论。

我们注意到传记也曾提到,由于马斯克是自学成才的编程者,他的能力不像那些新员工那样是经过学校的训练的。当他们看了一眼Zip2的代码,就开始重写绝大多数的代码,马斯克对于他们多数的变更十分气愤,但是事实上部分马斯克之前实现的功能计算机专业出身的人只需要一小段代码就可以实现。有时候马斯克已经陷入了典型的自学编程者的陷阱,就是由于一些神秘的原因,喜欢写大段的代码。从马斯克的传记的这一点来看,马斯克可以称得上是一个出色的程序员,但还算不上是顶尖的。

总而言之,生命不息,代码不止。

用户评论