写点什么

对话亚马逊一号员工 Shel Kaphan

  • 2016-11-21
  • 本文字数:7543 字

    阅读完需:约 25 分钟

Employee #1 是一个专注于分享科技公司早期员工背后故事的系列访谈。

Shel Kaphan 是亚马逊的一号员工。他目前正专注于个人兴趣,并且依然住在西雅图。

讨论话题:开始上网;亚马逊之前的创业公司;考察 Jeff Bezos;搬到西雅图;亚马逊的早期版本;通过网景的网站得到广泛认可;建立公司;改变角色;离开亚马逊之后的生活。

你可以订阅The Macro newsletter ,接收以后的采访对谈。


Craig:在去亚马逊工作之前,你在做些什么呢?

Shel:我从 1975 年开始当程序员。第一个真正意义上的编程工作是在一家 MIT 旗下的公司,叫信息国际(也叫 Triple-I),它位于洛杉矶,其实是在卡尔弗城。1975 年我在那当暑期工。当时还在上大学,已经是第二次上大学了,第一次我辍学了,但我竟然在 Triple-I 一待就是三年。1978 年,我决定完成学业,所以回到了加州大学圣克鲁斯分校,然后在搬到西雅图之前一直待在北加利福尼亚。

Craig:好的,那你最后为什么去西雅图了呢?

Shel:1994 年初,我正在一家叫 Kaleida Labs 的公司工作,它是一个苹果公司和 IBM 合资的企业。1994 年春天我离开了那儿。一个刚毕业的年轻人向我展示了 Mosaic 浏览器,在那时候看,完全是全新的东西。我第一次登入了阿帕网是在 1969 或者 1970 年,阿帕网也就是我们所知的互联网的前身。我一直有种感觉,它当中有些很酷的东西,由于某种原因,当时很少有人认为它有多么让人兴奋。但我的确无法想象它后来最终能变成什么样。

我看到 Mosaic 的时候,有些什么东西突然开窍了,我就知道互联网最终将会走向更广阔的受众。错过了一些我不怎么感兴趣的早期科技浪潮之后,我认为这波浪潮才是真正有趣的东西,并且我渴望拿它做点什么事情。我并不确切知道那是什么,但就是知道自己渴望被卷入其中。那时已经出现了一些新兴的网络相关的公司,它们雇佣了我认识的几个技术高手。网景公司成立了,我认识的一些人已经开始在那工作。但即使我当时能得到它的工作机会,它看起来也不太适合我。我希望去创业,更多地经历一家公司的早期阶段。

我当时和一个圣克鲁斯分校的朋友交流,我以前和他一起先后在 Frox 和 Xerox 工作过,他叫 Herb Jellinek。我们试着找出什么能吸引我们一起创业的点子,一个我们觉得有可能成功的点子。我们开始跟各自关系网络中的各种人交谈。Herb 当时在斯坦福大学读研究生,他的一个朋友去了纽约一家对冲基金工作,而刚好 Jeff Bezos 也在那儿。他帮我们认识了 Jeff,因为他知道 Jeff 正要离职,开始做一个网络相关的创业项目,这个项目是他为对冲基金那家公司分析过的。不管什么样的原因吧,那家对冲基金不想做这个,而 Jeff 想做。

Herb 跟 Jeff 谈了谈,然后 Jeff 飞来圣克鲁斯分校见我们。我们一起吃了早餐,然后 Jeff 告诉我们他要开一家线上书店的想法。我们甚至谈到了让公司驻扎圣克鲁斯的可能性。这是 1994 年的春天。Jeff 回到纽约并开始思考要把公司开在哪里。我们开始在圣克鲁斯找办公室,但他更多地了解邮购业务后,还是决定应该把公司开在一个人口少一点的州,或者不收取销售税的州比较合理。他把范围缩小到了内华达或者西雅图之类的地方。我知道自己是肯定不会搬到内华达州的。当最后决定在西雅图后,他花了整个夏天的时间劝我搬过去,因为我在圣克鲁斯住了将近 20 年了,我喜欢这座城市。

最终,我还是决定搬过去了,因为这个项目里有足够多我想做的事。Herb,那个最近才搬到圣克鲁斯的家伙,却决定留在那儿。最开始,我对这个项目抱着点儿实验性的想法,我还保留着自己在圣克鲁斯的房子,并且仅仅搬走了生活必须的一小部分东西。

那时候我想:“好吧,我要把这个网站搭建起来,让它能运行一个书店,我以前没做过,但它听起来也不难。做完这件事之后,我不确定自己还会做什么。”在那个时间点,我只想着做一个书店而已。我想自己也许还能回圣克鲁斯,远程监测这个网站就行了。对这个生意将如何发展,以及 Jeff 是多么有野心这些事,我真是大错特错。我那时还不了解他。我们才遇到而已。

Craig:你们是怎么考察对方的?他是个技术人吗?你之前有跟很多企业家一起工作过吗?

Shel:我之前有在几家不同的创业公司做过。我们都给了对方一些推荐人作为参考。但我认为我的选择主要基于一种感觉,就是觉得他是个能做出点什么事情的人。我之前待的那么多家创业公司,它们都缺乏一种人,即拥有充足商业能力,理解如何筹集资金,还懂市场。它们总是基于那些很可能无法完善的技术做商业计划,这些技术极为有趣,但却没人愿意为它们掏钱。我喜欢 Jeff Bezos 这个想法,非常直接的稳固的商业想法。我喜欢自己能向那些普通消费者一样的人去解释,他们要为什么买单,这家公司又如何自负盈亏。

我一见到那家伙就很喜欢他。他的人格很有吸引力。我对这个项目非常兴奋,所以除了人以外的其他原因也就不那么重要了。那时,这个汇集了网络、超文本、图像和所有这一切的东西都聚在一起,第一次融入了网络。

我当时想要做一个在版书目录,或者类似这样的东西,而且是超文本的版本。甚至在遇到 Jeff 之前我就在考虑了。我并没从卖书的角度想,但确实在思考。比如“嘿,我讨厌去图书馆,快速翻阅那些卡片目录,再找到我要找的东西。”在世的人们恐怕没人记得那些卡片目录了。你确实必须得去翻那些装满了索引卡片的抽屉,去找你感兴趣的书。然后在图书馆里走来走去,搜寻那些书架,看你感兴趣的那本书是不是在附近。

我当时认为超文本的一项完美应用就是去解决这个问题。那时候还有其他几家在线书店在兴起。但没有人很好地抓到这个具体问题。所以我就想:“好吧,我的确很想做这个,而且这个项目是我去做的一个机会。”再加上,我刚毕业的时候曾经在一家卖书和其他东西的邮购公司里工作过,所以现在觉得自己好像回到了本行,这也感觉非常好。

Craig:你们开始创业之初,首先要做的事情是什么?

Shel:嗯,其实除了美国国家超级应用计算中心 NCSA 一个很小的库的原始资料之外,没什么可用的东西来建一个稍微有些交互的网站。我开始建立机器设备、数据系统,还加入了一些开发环境。那时候可没有什么云服务之类的东西可用。全都是自己建,自己运行。Web 工具、开发环境和库的资源都非常稀少。必须把它们汇集起来。那时候的 Web 还非常静态,大概就像是一些页面的集合。

HTTP 服务有 hook 来运行脚本,我们就倚仗着它了,因为所有的页面都必须是动态生成的。那时候真的没什么现成的东西来建应用。换句话说,你要卖不同的东西给不同的人,就必须跟进着他的动态,因为他们把物品添加到购物车里,还要去走下订单的流程之类的。我们必须弄清楚这一切并学会怎么实现。

Craig:你是怎么检修故障的?现在我会经常用 Stack Overflow。你遇见一个找不到的 bug 会怎么做?

Shel:熬夜啊。

Craig:[笑] 有道理。

Shel:我记得当时并没有寻求多少外部援助。在某个时间点上,我们决定从太阳微系统公司(Sun Microsystem)的服务转向迪吉多(Digital)的服务。我那时候本来是更熟悉太阳微系统的机器,所以当拿到迪吉多的机器并且出现了一些问题的时候,Jeff 就找到一位华盛顿大学的教授,帮我们解决一些内核的协调问题,这些我就不太熟悉。

其他的工作就是像往常一样地调试了。从技术上来说,亚马逊的确是从一开始就很直接地搭建好了。虽然我们也有特定的 bug,但它相对来说比较直接。

Craig:你是不是也为了库存管理做软件呢?

Shel:我到那之后一个月,我们雇了一个叫 Paul Davis 的家伙,他是华盛顿大学计算机科学系的员工,他真是个很棒的黑客。他和我一起工作配合得非常好。我主要专注于网站和面向客户的东西,他就专注于货运、收货、库存和信用卡账户这些事,但我们都会把控整体代码。他只在这工作了大概一年零三个月。他离开的时候,在招到其他人之前,就只有我一个人做了好几个月。那段时间,我必须及时地做完所有这些事。我记得自己一周工作七天,连续了三个月,还并非每天仅八小时工作时间。然后我们就开始招了几个其他的人,来负责代码的特定方面。

Craig:你还记得那时候每个月会收到多少需求吗?

Shel:数量是不记得了,但以今天的标准来看,还只是个小数字。这就是说,我们的业务其实是连续六个季度,每季度业绩翻倍。在我们使用上迪吉多的服务之前,整个业务都在几个小型的太阳微系统的台式机上。那就是全部。我们在硬件上预算不多,当时是竭尽全力尝试在几台小机器上得到我们想要的一切。在添加所需的硬件方面,我们似乎总是有点跟不上趋势。

Craig:这件事有没有让你们栽过跟头呢?

Shel:有,当然了。我们总是把硬件的功能逼迫到极限。由于这样或那样的原因,我总是没法说服 Jeff 在分配资源的事情上,理清架构问题,更从容地扩张。总是有太多面向客户的功能要开发。

有几次,几台硬件设备都要崩溃了,有可能失去数据库,当然,某些备份也不起作用。但不知怎么的我们还是挺了过来。

Craig:那时候你们有做什么数据分析吗?

Shel:没有,最开始是没有。我想大概是到 1997 年春天或者夏天时候,才有了第一个人来开始这方面的工作。一开始,我们还保留了服务器日志,想着这些是很有趣的分析材料,但也没有马上开始数据分析。

Craig:等到有足够的额外金钱和时间的时候才开始。

Shel:没错,或许是等我们有了一千个额外程序员或者什么的时候。

Craig:就是这样。那你有没有和 Jeff 一起做过产品呢?这艘船他是如何掌舵的?

Shel:那段时间亚马逊还只是个书店,所以在我看来没有什么需要掌舵之类的事要做。也就是说,我并不知道 Jeff 那时候可能在做些什么我根本没有意识到的事情。如果回想起来,我甚至都不能清晰地想出他到底做了些什么。他并不解决任何具体的技术问题。就我所知,我们也从没写过什么商业计划书。

Craig:[笑] 那他是忙着进书吗?

Shel:他也没做。好吧,在非常非常早期,我们还没雇人对接出版方的时候他可能是做过。一开始我们大多数情况只是和分销商接触。但我们想构建一个大型的目录,所以也必须直接对接那些不愿意被分销商代理的出版方。这让我们得到了上百万本书,那时候这个数目可是不小。

Craig:人们是怎么发现你们做的事情的?

Shel:嗯,那时还没有 Google。别人或许有其他看法,但是我认为,首先,那时候并没有这么多有趣的网站。第二,那时候有一对夫妇,Eric 和 Susan Benson,他们在网景公司工作。当时我已经跟 Eric 在三个不同的地方共事过了。1995 年春天,我有一个软启动创业项目,叫“朋友和家庭”。他们俩是最初尝试这个服务的人中的两个。后来我们就把这两个人都聘请来亚马逊了。Susan 原来是在网景的网站当编辑。我去年才知道的这事儿的,但当亚马逊正式开始运营,正是她把亚马逊放在了网景网站的“新鲜事”和“酷玩”栏目里的。她把我们纳入了那些清单。然后因为亚马逊的名字首字母是“A”,所以它排在了那些清单的顶部,那么多人都看到了它。我认为,这是一个对亚马逊来说超级重要的连接点。如果没有这层私人的联系,这事儿也可能会发生,但是谁知道呢,或许就不会。

Craig:真是太棒了。你们有一开始就向全美 50 个州送货吗?

Shel:是的,还包括几个国外地区。在很早的时候我们就有不少的国际订单。

Craig:在什么样的节点上,你开始意识到“或许用不着保留自己在圣克鲁斯的住处了,我可以去亚马逊那里住了”?

Shel:我想是在两年左右吧。远程管理那所房子开始变得挺烦人的,虽然那时候是我一个朋友在那住着。我还是得对房子负责。那时我还想,即使搬回去,可能我也不会去住在那里了。它并不是个多么不错的房子。我下了决心摆脱它,这能让我的生活更简单点。

那时候我们也开始扩展不同的产品区域,在其他几个国家设立了站点。德国和英国是最初的两个。我们开始盈利了。当时的盈利额大概也就相当于上市了吧,那是 1997 年春天的时候。

Craig:哇,我都没意识到那么快。花了三年?

Shel:是的,大概是两年半。

Craig:上市期间你在公司里是什么角色呢?

Shel:我承担的角色一直都主要是技术类,外加一些技术管理职责。那时我是开发部的 VP,负责写软件,保证系统上线并正常运行。有一个受雇接替我的人是在上市前一两个月才来的。还有一个是那年 9 月份来的。在这之前,这个小小的技术团队一直是为我工作,我自己主要也是编程,外加系统管理、网络架构之类的事情。我会把磁盘驱动器放进机箱,给整个办公楼建个以太网电缆什么的。

Craig:不像人们想象中的那种光鲜的创业生活啊。

Shel:是啊。那些日子是所有带着光环的创业之前的事情,如果你要去创业,并不会预期着有什么光鲜之处。需要非常努力地工作,或许还能成功,但也许就不会。

Craig:现在的亚马逊里还有什么你在时候的痕迹吗?

Shel:直到最近,或者几年之前,我还能说有。但现在我看不到还有什么痕迹了。似乎没什么是从那时候起一直存留下来的了。

Craig:连设计模式都不同了吗?比如购物车的设计。

Shel:我记得这点也没有从其他网站借鉴。虽然看起来像是说,一旦你开始想这个问题,不言而喻地它就具备了它应该有的样子。你不会希望人们每挑选一样东西就要结账一次。必须让他们逛完整个网站,挑好了所有感兴趣的物品,把它们放在某个地方,才能转过头来在某个时间一起运送走。我记得当时为这个流程做了很多网站架构的工作。要在文字上表明,如果你晚点改变主意了,随时能从购物车里拿出某件物品。这样人们就不会觉得自己挑了太多东西。

回到那个年代,没有人习惯于当一个网上购物的消费者。你必须小心翼翼地让人们感到舒适,让他们知道自己的动作行为都是可逆的。在早期,虽然我主要做技术工作,但网站的外观和很多文字呈现的东西还是我来做。我很注意让这些东西对于我理解的互联网用户来说是可接受的。

Craig:真是厉害。你为一种完全不同层次的知识做了设计。放在今天来说,你可以胜任多得多的职位。

Shel:是啊,的确。那个时候是电子商务的萌芽期,有完整的数据库可以用来在互联网上发展商业。至少我是这么称呼它。很多上网的人似乎会说:“我们不确定能在这上面做生意。你最好别做得太过头,最好还是雅致一点啊。”

来讲几个例子,就可以证明那时候的社区整体氛围谴责那些公然做生意的人。当时有几个律师为他们帮客户获得绿卡的服务做广告,他们竟然通过大量发送垃圾邮件的方法来做。这件事造成了不小的轰动。如果是现在来看,这事就很可笑,因为类似的事情天天都在发生。

当 cookies 作为一项功能开始在网络浏览器中出现,很多人才真正开始在意自己的隐私,所以他们就会关掉 cookies。我们就必须找出方法绕过这个功能。当时有些人用的是仅有文字的浏览器,加上他们用拨号上网,发送图片对这些人来说就不是个好办法。

Craig:等等,早期的亚马逊可以用仅有文字的版本?

Shel:是的,我们还测试过。对我们来说,即使对那些没有高速带宽连接的人,或者没有最新最棒的计算机的人,让他们也能用亚马逊是非常重要的事。

Craig:你最后总共在亚马逊工作了多久呢?

Shel:五年。

Craig:你离开的时候,它还依然是个书店吗?它那时候是什么样的?

Shel:嗯,他们把业务拓展到了几个其他的产品领域,但还没有电子产品。电子书还没出现,他们也没开发任何的硬件产品,计算服务还没有开放。它当时做的还是典型的零售生意,虽然已经确实地拓展到了其他产品领域和其他国家。

也是上市那段时间前后,那种“希望去某个公司上班”的人改变了亚马逊很多。有一大堆拿着 MBA 文凭之类的人进入了公司。在我看来,它已经是个大公司了。

Craig:你其实经历了所有这些技术的转型。你对人们开始建立一个什么东西之初该如何为技术估值有什么看法吗?

Shel:在当下这个节点,我不知道。这是一个很大的话题。对我自己来说,当我看着现在的这些技术,我认为它要么是连接人群,要么是隔离人群。鉴于此,我倾向于对什么值得努力去做下道德判断。

你在路上走,想要叫住人行道中央的某个人,必须挥动双手才能让那些盯着各自手机,走向不同方向的人看到你。然后你会听到人们像机器人一样讲话,这样才能让他们的语音助手理解自己的意思。而现在,他们像一群乌合之众一样在公园里拿着手机跑,试图在面前的手机上抓住假想中的动物。我认为这些都不是积极正面的技术开发。

我认为技术要扮演一个角色,但目前并没看到它被适当地认真开发。但这就是我们身处的经济环境。它非常非常让人上瘾,即使抱怨它的人也要受制于它。

Craig:的确是的。你现在看到亚马逊在哪些方面衰落了吗?

Shel:我认为他们现在做的事大多属于隔离人群那一类。买什么都那么方便,你甚至用不着起床料理生活起居。对我来说,这就太过了。在所有主流的线上业务里,我认为他们没能拓展出除了早期的顾客评论以外的什么东西。

Craig:你和 Jeff 还有密切联系吗?

Shel:没有。自从他把我从原来的职位上替换下来,我被派到 CTO 什么的职位上,名义上负责架构,但实际上只是个看起来权力大但没什么用的职位,我拿到那个项目的时候,它就已经完成 95%了。他们告诉我这就是我的职位,只要我想要它就可以一直待在那儿,就是这样。我也没有任何可用的资源去做我感兴趣的事,我只有我自己。所以我会说,我和 Jeff 当时关系并不好。

Craig:现在回想起来,对 Jeff 和亚马逊这些年的业务展开,你有什么感受呢?

Shel:他绝对是个智慧过人的商人。如果我当时对亚马逊想要变成怎么样一个公司有哪怕一点点粗浅的理解,既包括它的成功又包括它的一些业务实践,我或许都会在最开始就更谨慎地处理我自己和它的关系。我可能也就会断定它并不是我想要做的事。

我从亚马逊的从业经历里学到的,就是尽量去想象一个项目或公司,它超出你想象地成功的时候会是什么样的。这不大可能成真,但它还是可能的。你必须考虑当它发生的时候周围的环境会变成什么样,还有其中的人会发生什么样的改变。当我最开始加入 Jeff 去创办亚马逊的时候,我甚至不允许自己搬到那里去。我为好多家创业公司工作过,对我来说去想象它大获成功后怎么样似乎会带来厄运。那就是我的心态。就像是,我希望它成功,是个中等体量的成功。或许它能赚足够的钱让我们去养老呢。你其实并不想去想象一种超出自己想象的巨大成功。如果它成功了,你就必须开始思考,我在其中扮演了什么角色呢?这是我真的想要做的吗?

我想说,在我所有的工作里,从我开始编程以来,也包括我离开亚马逊以后,在亚马逊的那最初几年,对我来说是人生的一个高点。我真的真的很喜欢这样。这种喜爱大多并不是因为工作的技术性,而是因为在这么多小规模的公司工作过,它们并没成功,或者是在错误的时间点做的错误的事。但从最开始就成为这些鼓舞人心的事的一部分,并且带来让人吃惊的增长曲线,成为让它发生的团队的一分子,这本身带给我巨大的满足感。我回顾过往,依然把开始那几年的经历看做真正让人兴奋的最好的时光。


感谢陈兴璐对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-11-21 16:1412749

评论

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

架构师训练营第 2 周课后练习

菜青虫

极客大学架构师训练营

软考资料学习库

玄兴梦影

作业一:

丁乐洪

CAP 原理

黄立

CAP

架构师训练营第 1 期 week6 总结

张建亮

极客大学架构师训练营

写时复制集合 —— CopyOnWriteArrayList

程序员小航

Java 源码 并发 源码阅读 JUC

钻石与小度:智能语音助手背后的“马斯洛需求模型”

脑极体

Mysql中,这21个写SQL的好习惯,你值得拥有呀

捡田螺的小男孩

MySQL sql SQL优化 sql习惯

Mac常见问题解决方案与使用技巧

jiangling500

Mac

架构师训练营第 1 期 week6

张建亮

极客大学架构师训练营

架构训练营第二周学习小结

李日盛

使用抓包工具fiddler和apipost进行接口测试

测试人生路

测试工具 fiddler

第2周 框架设计-作业

SuGeek

架构师训练营第六周作业

我是谁

极客大学架构师训练营

成为架构师 - 架构师训练营第 02 周

陈永龙Vincent

三分钟带你分清Mysql 和Oracle之间的误区

华为云开发者联盟

MySQL 数据库 oracle 安全 关系型数据库

前端组件化

韩向民

新手初学Java性能之 垃圾收集器

Java架构师迁哥

cglib 入门前篇

Rayjun

Java cglib

阿里内部首发Spring Cloud全套微服务架构笔记,速拿去怼面试官!

Java架构追梦

Java 编程 面试 微服务 SpringCloud

打破内卷化,AppGallery Connect的全生命周期赋能方案

脑极体

最实用的无线PORTAL测试案例

测试 无线网络 网络

jdk 源码系列之HashMap

sinsy

源码 jdk HashMap底层原理

深入浅出System.gc() 源码解读

AI乔治

Java 架构

架构师训练营第 1 期第 6 周作业

owl

极客大学架构师训练营

第六周 Doris临时故障时序图

Geek_fabd84

DDIA 读书笔记(3)数据编码与演化

莫黎

第二周-作业

ray-arch

极客大学架构师训练营

架构师训练营第 2 周学习总结

菜青虫

极客大学架构师训练营

二、ood原则

Geek_28b526

架构师训练营第二周作业

李日盛

架构

对话亚马逊一号员工Shel Kaphan_亚马逊云科技_Craig Cannon_InfoQ精选文章