本文出自 8/23 哪上班主办的「比代码更重要的事」程序员大会现场演讲
江宏
AVOS Cloud CEO&Co-founder,耶鲁大学 PhD
我其实没有什么成功的经验可以分享,只讲一讲过去个人职业选择方面相关的一些历史。我相信这里很多人都会上知乎,上面有很多关于职业选择的问题,比如说我是应该留学还是应该呆在国内,我是进创业公司还是大公司,我是应该去百度还是腾讯,其实这些问题对每个人都有不同的答案,只有自己给自己的答案是最好的,之所以有那么多的问题,因为有很多人没有花足够的时间了解自己,所以古希腊的哲人会说「人生最困难的一件事是了解自己」。
我本科毕业之后去了耶鲁大学学习,一段时间之后我看到别的的同学似乎都有着非常明确的兴趣和方向,很多人开始对某一个课题做深入的研究。而我好像对各个领域都很感兴趣,当时我们系有四大方向:科学计算、人工智能、程序设计语言、还有计算理论。我除了对科学计算以外的所有东西都非常感兴趣,所以我有一次发邮件给我的导师,我提到我一个很大的问题是不够专注,因为我现在还不知道我博士论文往哪个方面深入下去。后来我的导师给我回信说「我不觉得这是一个很大的问题,事实上很多人的问题是他们专注的太早」。后来回想起这句话觉得非常有道理。
我很小的时候开始学习计算机编程,我高中和大学的时候,很多同学羡慕我,因为我很早就找到了自己的兴趣,很早知道自己将来做什么,但这其实未必是一件好事。因为很多人花时间扩展知识面的同时,我把很多的时间花在某一个方面。我后来发现自己的知识结构有所欠缺的时候,需要花更多的努力去弥补,应该说在每个阶段应该做适合于那个阶段的事情,没有必要急着让自己进入下一阶段。
后来在耶鲁的五年大部分时间是很闲适的,对什么感兴趣就看那方面的书,做一些研究,看一些论文。每周只跟我的导师见一次面,在耶鲁的一个咖啡馆,两个人在那儿喝咖啡,讨论一些这一周以来比较有意思的一些问题,有的时候觉得需要在纸上做一些推导进行一些证明,就会密密麻麻地写在咖啡馆的餐巾纸,然后带回去。
后来我快毕业的时候,决定要回国,有两方面的原因,一个是家庭方面,因为我希望离父母家人近一点,另外当时觉得待在美国很无聊。我后来比较喜欢跟人打一个比方,如果在美国任何一个城市的一个十字路口,拍一张照片,十年以后回到那里还是一模一样,看不到任何变化。但是中国的变化很快,我个人更愿意生活这样的地方。所以我初步决定回国,但是不知道干什么。毕业以前的一个暑假我回国做了三个月的实习,实习完之后有点更迷茫,因为那段时间里没有在国内找到自己想要做的事。后来就回了耶鲁,收到了一个在 Google 的朋友的邮件向我索取简历,后来我知道谷歌的员工每推荐成功一个工程师会有四千美元的奖励。几周之后我通过了面试,拿到了 Google 的 offer,就决定去 Google 了。
Google 是一家有着很好文化的公司,我在知乎回答过两个问题,一个是 在谷歌工作是怎样的一番体验?,另外一个是 为什么从谷歌离职? 如果大家到 google.com ,可以找到一个介绍企业文化页面是「Ten things we know to be true」,其中可能最有名的一条是「You can make money without doing evil.」,也就是通常说的「Don’t Be Evil」。这句话被写到了 Google IPO 提交的 S-1 文件中。很多互联网公司说要向谷歌学习文化,但很少有人真正学到的,我觉得文化应该是定义一个企业的东西,它应该会影响到企业的商业行为,影响到这个企业里面每一个人的工作方式和价值观。所以免费午餐、在办公室养狗养猫、放台球桌和桌面足球,这些都是好的福利,但不是文化。往头上浇冰水也不是文化。
虽然 Google 很好,但我在 Google 的时候已经有一万六千名员工,我在那么大的公司很难有归属感。Google 有很多非常优秀的人才,但是和其他大公司一样也有很多可以说在混日子的人 --- 据我所知,在 Google 很少有因为 performance 原因解雇人的。而 Google 内部团队之间也有很大的差别,我自己在工作中需要跟很多团队打交道。在一个公司中,个体的差异非常大。
另外大家可能觉得 Google 里面有很多非常新奇的项目,像自动驾驶汽车等等。其实这些只是一小部分。并且在我那个时候还没有这些项目,那时的新项目是 Chrome 和 Android。大部分支撑整个企业、能产生利润的项目:像搜索、广告等都是有很长历史的老项目。我所在团队负责的项目差不多有十年的历史,最早是一个 Python 程序,后来用 C 重写,再后来变成一个 C++ 的项目,最后我们为了让对 C++ 不是很熟的人可以加新功能而嵌入了 Python 解释器。当时 GCC 编译不了那个项目,会因为内存不够而崩溃,所以我们用的是修改过的 GCC。我们用全公司最好的 workstation 编译项目需要 30-40 分钟,后来使用分布式编译缩短到 5-10 分钟,但是效率依旧很低。可以想象一下,做完一些改动,按下回车,接下来就可以去茶水间吃点东西,喝杯果汁再来看结果。通常人们会说软件开发中要为人优化,而不是为机器优化,如果一个工程师花一整天的时间,把原来一毫秒的操作变成半毫秒,往往是不太值得的。但以 Google 的规模,这样的优化是很值得的。所以 Google 很愿意雇优秀的工程师负责做看起来很小的改进,因为每个优化都可以为公司节省很多钱。但是对于个人来说,生命就是那么长,愿意如何分配宝贵的时间,答案跟 Google 多半是不一致的,所以在谷歌工作三年以后,我就决定要么回国加入一家小公司,要么自己创业。
在美国这八年是我发现和了解自己的过程。我回国的时候,很多朋友挺惊讶的,很大的原因是我当时在美国再待几个月或一年就可以拿到绿卡。如果理性地去想这件事情,很多事情是对别人是有价值的,但对自己来说未必有价值。我认识很多朋友,已经长期生活在国内,但是为了维护美国绿卡的状态,每半年或者每年要飞回去一次,其实可能并不是明智的。还有个例子是北京户口,据说换算成钱可以值六七十万了,它对希望长期在北京生活的人有价值,对其他人是没有价值的。有朋友已经离开北京很多年,生活在其他城市,也没有计划回来,但还是不舍得放弃北京户口,每次办什么事情还要回来北京,并不值得。
回国之后也有很多有意思的经历可以分享,因为时间关系不讲了,只简单总结一下几点建议。第一是每一个人都要花足够的时间了解自己,因为在人生和职业选择上没有别人可以给更好的答案,人生不是一场竞赛,几十年之后大家的结局都是一样的,最重要的是做自己想做的事。第二是做选择应该基于独立思考,父母、同事、朋友都有可供参考的意见,但是最终需要自己判断。第三要把时间和精力投入到自己认为有价值的事情上,而不是别人认为有价值的事情上。最后,创造或加入一家好公司,我这里说的好公司跟商业上的成功没有直接关系,就像好人不一定有钱一样。但是我相信好的公司更容易取得长期的成功,并且做一家好的公司本身应该是一个目的而不是一个方法。
最后,如果你还在寻找一家好的公司的话,我介绍一下我们自己,我们是 AVOS Cloud ,我们的产品是为移动应用提供后端服务,如果你是移动应用开发者,只需要开发前端手机 app 部分,所有对后端的需求都可以由 AVOS Cloud 满足,还有我们的 博客 ,及一个 开放资源 网站,我们开放了我们的很多内部信息,包括我们的薪酬。如果你要应聘一个职位,可以到这里直接算出薪酬会是多少。
谢谢大家。
现场提问
提问:刚才也提到要创造或者加入一家好的公司,请问一下你是怎么定义一家好的公司的?
江宏:可以用一句话定义一家好的公司。如果你在一家好的公司工作的话,如果你很认真地很好地完成了工作,好的事情应该会发生在你自己、这个公司、这个公司的投资人、用户身上。如果少了任何一点这家公司都不是一家好公司,首先个人的贡献要得到承认和奖励,做的事情要是可以为公司和投资人创造收益的,公司的业务要是对社会有益的。
提问:江老师您好,您刚才讲的这些基于个人选择的一些自己的建议,我相信您应该是在这方面遇到问题所以才有这方面的思考,刚才讲到发现和认识自己,根据您的经验有没有具体的一些方法和行动的实践过程?
江宏:我觉得其实没有什么特别具体的方法,每个人比较年轻的时候都会有很多不同的想法,需要去做一些尝试。比如说我本科的时候没有想一定要创业,那个时候我有很多想法,其中包括想要在学术上面有所成就,想成为一个出色的计算机科学家,同时也想过要创业,成为 Bill Gates 那样的人。年轻的时候梦想很多,需要有足够的时间让自己去做一些尝试,才能更好认识自己。举个例子,之所以我后来没有做学术,是因为我在耶鲁的时候确实用了五年做学术研究,并且有一个很好的导师。这个过程中我感到自己并没有足够的兴趣长期坚持学术工作,另外我觉得在学术上要有所成就真的需要有一定天赋,我认为我达不到我导师那样的水平,所以后来追随自己的热情走了别的路。我觉得就是需要有足够的时间让自己做不同的尝试。