版权声明
本文首发自微信公共帐号:Geek2Startup
作者:Geek Talk
未经授权请勿转载
在 Geek Talk 第五期的活动上,我们邀请了曾在 CMU 卡内基梅隆大学攻读硕士,前物联网 Top10 公司 PubNub 头十号员工,也是唯一的华人工程师范荣超来做分享。他于 2014 年 10 月回国,拓展 PubNub 在中国区的业务。2015 年 3 月开始做自己的社交创业项目——种瓜得瓜,并成功获得天使投资。
这一次的分享,他述说了自己从名校读硕士到加入硅谷公司,来中国拓展业务,又从技术男转变为一个创业者的五味杂陈。
除此之外,活动到场的几位来自 Facebook、豆瓣、今日头条、百度等的嘉宾也讲述了他们创业路上的故事,希望可以给大家一些启发。
今天,我们先带来第一部分的内容,根据范荣超的分享整理而成。
从 CMU 到 PubNub 的转变
我之前在 CMU 读硕士,其实当时的经历也挺巧的,因为 CMU 的计算机比较出名,而基本上盛产码农的地方在硅谷,所以基本在暑期实习的时候,大家都会去硅谷那边像谷歌、Facebook、LinkedIn 这样的公司去实习。我因为在大学创过业,就跟那些 coder 的气场可能不太合,最后因缘际会去了一家,像「骗子公司」的公司,就是 PubNub(小编注:PubNub 是一家为开发者与企业客户提供通讯和实时数据传输网络及 API 的初创企业)。当时公司只有五名员工,地方非常小。我去跟 CEO 聊,他就说他们是做 realtime message,是做 SaaS 的。2012 年的时候我也不知道那是什么东西,但我觉得挺酷的。他面试我的时候,让我用他的 PubNub API 写一个聊天室,我大概写了三个小时吧,写完之后我就得到了这个工作机会,就去那实习了。当时挺拼的,因为人不多,所以他们就往死里压榨你,我当时就被压榨了,而且他们还挺满意的,就对我说「要不就别去上学了,一块干吧。」
因为我之前在宾州读书,CMU 所在的匹斯堡是一个古老的工业城市,一个气侯跟北京很像的地方。当我第一次去硅谷的时候就感觉爆炸了,我觉得太酷了,在旧金山发现很多大牌公司离自己如此之近,就根本没有心情回去了,我就对 CEO 说「OK 那我就不回去了」。接着我就休学了,之后就没有再读下去,于 2012 年加入了这家公司。其实我觉得创业公司的好处是,因为没有人去做,所以他们会给你很多的责任,给你很多的任务,能让你锻炼到更多;还有一个好处是,可以遇到一些牛逼的人,我们的创始人,公司的 CTO 就是一个很优秀的人,叫斯蒂文,2012 年的时候才 27 岁。
很有意思,CSDN 当时评选了一个十大值得关注的云计算公司,里面就有 PubNub。在 2011 年评选十佳最佳云计算公司的时候,PubNub 整个公司只有一个人,就是斯蒂文。大家都不敢相信,他前端后端都是自己写的。知道了这些以后,我觉得跟这么多人在一块也挺不错的,我基本上天天跟他待在一起,没日没夜地搞基,基本上就是我们俩一块 12 点或者一点回家。我那时候很拼,因为公司当时在上升期,你想一个 CMU 没毕业的人都不去上学了,跟他一块干,他很鸡血,我也很鸡血。我觉得从他身上学到非常多的东西。
2012 年的时候因为做的很不错,然后在实习完之后,我说 SaaS 在中国一定有很大的发展,斯蒂文他们觉得很有机会,当时他们也很信任我,就把我派到国内。小公司其实机会很多,他就对我说「OK,你就做中国区的负责人,帮我去卖。」我当时联系了很多国内的这种相应的公司,我们切入点是 CDN。现在可能大家都能明白,就是环信、极光他们做的事情。但是在 2012 年的时候很多人其实都不知道 SaaS 是什么。我当时的切入点就是找到所有的 CDN 公司,CDN 其实有很多现成的企业客户,就是静态分发。你去讲一个很新兴的东西时,你其实更多不是说 PubNub 是什么东西。而是去讲什么叫 Realtime,为什么你的应用不是静态的分发。我们跟 CDN 合作,当时我记得找的是蓝讯。蓝迅有一个客户是米聊,他们跟小米的关系不是很好,自己写这个东西,不知为何就是没有效果。于是当我们找他的时候,他觉得这是一个很大的机会。然后我们就想到了,怎么去做品牌,就是动态的 CDN。这就是我那时在国内做的一些事情,但可能因为当时 PubNub 只是 A 轮,老板们都觉得太早了,就没有决定去全心全意的拓展中国市场,实际上当时很多的 CDN 厂商已经觉得 OK 了,并且点都给我们布好,只要直接去试试就行,但我们当时就是没去试。
国内的互联网公司其实很怕中国,他们觉得中国会超过自己,会偷自己的东西。他们太害怕了,而且就像有一个诅咒一样,外国的互联网公司在中国没有一个做成功的,他们都知道。那时候其实是有一个好机会的,就是在 2012 年做 SaaS,因为在中国都还没有这个概念。2013 年搜狐做了一个 SendCloud 邮件,然后慢慢的 SaaS 就是从邮件做起来的,再然后就是到 2015 年 SaaS 元年了,我去做社交,我也觉得挺逗的。
然后他们就把我召回美国,说你现在可能太早了,那你回美国继续做吧。这个过程中,其实做了很多项目,一个让我记忆犹新的项目是数据分析。其实 PubNub 虽然是小公司,但做一个 API,实际上量也很大。当时可能月覆盖要用一个 device。之前第一个员工用 MongoDB 写的,结果他去休假了,我也不知道技术要做到什么细度,就自己各种判断。他写的特复杂,有很多状态的东西,那时候又没有工程师,我一开始写前端,然后又写了一些 Python,CTO 对我说「OK 就你了,你来做。」我当时说好我来做。实际上那个难度还是很大的,我们试了很多东西,试了 Hadoop,用了 Amazon 的 EMR (Elastic MapReduce),花了上万美金。我们那个量一个月有几百 T,很大的日志,都需要去处理。当时我其实压力特大,我觉得创业公司能让你迅速成长的就是给你更多的责任,然后赶鸭子上架,我当时就也拼了,真的是自己也会压榨自己,每天都不睡觉。
但现在想来,还真挺庆幸自己压榨自己的,因为那时候我的同学还在学分布式系统,他们每天上课,去做一个模拟网络环境,而那时候的我已经开始用上千台机器去做事情了。
2013 年我们那个项目做的还是很成功的。Amazon 有一个 spot instance,可以去竞价排名,用很低的价格,去看市场,然后选好的instance。我们当时做到,我一瞬间开了一千台服务器,都是八核,64G,32G的那种去跑。他们扒拉我的代码,做了一个 MapReduce in memory,把一月的数据全算完了,用一个小时完了再关掉。这个项目还是挺酷的,每跑一次要花一百块钱,我们当时很无脑,想着反正一天一百,一个月才三千,就每天都跑一遍。但后来这个项目压力挺大,因为可能七月份钱收不到。我们是一个 SaaS 团队,我们说话要算数的,我们盈利模式就是你用我们多少量,我算多少钱。七月份算不出来,一直到八月份中旬我才把它做出来。然后对着几个数,把以前的所有数据对一下,OK 差不多然后我们去跟董事会说 OK 我们之前的季度是什么数据。等算完回公司的时候,全体鼓掌,感谢我们救了公司。当时我觉得特别开心,作为一个程序员来说,做了这件事情还是很自豪的。
就挺鸡汤的,从那开始我基本上就嗨起来了,我的技术也是从那时候开始堕落的。我觉得既然这么酷,就慢慢失去写代码的兴趣了,后来又做了 BI(Business intelligence)。创业公司还有一个特点就是非常的不完美,我去创业公司,这家公司让我学到最牛的就三个字,「这也行」。他其实有很多概念,非常的新,但实际上他的实现又非常的乱有非常多的坑。有很多的渠道,但也有很多不安稳因素,你自己看看代码乱作一团这也行,但是他的模式是什么?足够牛,融入足够钱,让足够多的聪明的人给他擦屁股。
甚至我们当时做 BI 的时候还把一个甲骨文的 VP 挖了过来,他让我去做 BI 系统。当时有一个中心的叫 starschema,有不同的 fact,可以把不同数据的汇总之后,进行查询,这个效果就会很酷,你可以再连一个 BI 的工具,叫 tableau,就可以得到很多的 insights。这个事儿大家都可以做,其实就每天跑一下,然后把所有的数据汇总放到你这,就简单的 MySQL。
从硅谷到中国的转变
直到 2014 年开始,中国市场就爆了,中国的 VC 特别火。我老板跟我说,你回国吧,赶紧开拓中国市场。我说行,然后我就回来了。结果回来一看发现环信都 B 轮了,这怎么弄,你早为什么不让我弄,因为 2012 年的时候就很早,而我们错过了那个好时机。我觉得用户是有一个心智的,他已经被占领了。你想一提到 realtime message,大家就会想到环信,甚至我给别人介绍,都说我们是美国的环信,就是这样。
Remote 工作了一段时间之后,我就出来自己做了,开始做创业公司。也一把辛酸泪,经常的转型,闭门造车自己创业。我对海归最大的建议就是别一上来就自己做。因为海归有钱,他们想花自己钱做,做牛了,用用户用数据说话,我再去融资。这个我当然也这么想,其实很蠢,就不该这么想。最好的建议应该是海归直接去中国一家创业公司,建议先学习一下在中国怎么工作。中国的创业公司还是很强,至少在移动互联网,中国反超美国,因为他们起点都是一样的。而且中国人更聪明,我们 996,工作时间长,这就比他们牛逼。
现在跟硅谷回国的朋友见面,第一件事就是告诉他们你们以前脑袋里的那些想法都是「屎」,因为真的要做的其实是落地,你会发现其实你一直想到的 idea 人家都做了,甚至是 VC 人家可能在中国就是几年前就已经投了。跟你们说一下我非常屎的想法。在美国大家都用 Facebook,也经常参加创业活动就是 events,我发现国内没有,我就跟 VC 聊了,VC 觉得这个想法是十年前的。VC 很聪明,他不会说你不行,跟你聊不错好开心,然后你还琢磨着 VC 挺好 。但他就是没投你,你就开始说人家傻逼不懂,其实是自己傻,因为你没有真正的去真枪实战的看看中国市场到底什么样。所以我第一条建议就是海归回来真的是要在中国的创业公司去看一下。
对于海归如果说你直接是大学毕业之后就出国,你在国内其实人脉并不多,可能就是大学同学,其实去创业公司是能积攒人脉,真的很好。我代价是什么?我在家闷头做很多事儿,也做不出来。拿着东西给人家看的时候,人家说这几年前的。这就是血和泪的教训。
我现在都对过去的自己不忍直视,感觉几个月前的自己脑子有问题。之后我做了一个社交,还是很有意思的,就是说其实有一个言论,中国社交创业已经到了终极了,再做社交也很难了。海归还有一个特点就是喜欢做社交。因为谈到梦想,他们觉得那些小东西不屑于做,只有像 Facebook 这种社交,然后纯互联网这种东西才理想。后来发现真的不是,然后我也不断地转型,之前的叫弹弹,又叫 Tantan,后来发现也不行。然后我在公司里面,之前发了一个链接,大家都不知道我在干什么,就说种瓜得瓜,挺有意思,所以我的 APP 就叫种瓜得瓜。不是农业,还是社交。中国做社交做的很多,但在一个没有资源的情况下做社交是很难的。
创业公司就断了这个念头吧,在技术方面别想招牛人,根本招不到。一定要记住,招不到牛人。但是其实你知道最牛的是什么?不是去做布道,最牛的是转化,应该强调转化率。其实我觉得最重要就是你能把不牛的技术人员转化成牛的技术人员,甚至你把非技术人员转化成技术人员,我觉得应该把重点放在这。因为是这样,创业的压力已经很大了,你什么都照顾不了,就应该把焦点放在转化上。我觉得最励志的故事是朱晨浩,硅谷第一男神律师现在都在写安卓。所以说明他的转化做的很好,我觉得这是我的经验,就是在转化。其实无论是大公司也好,创业公司也好,培训是件很重要的事情,创业公司往往忽略了这一点。
我现在才明白,大家都是年轻人,年轻的程序员,并不是说是 iOS 就永远是 iOS,你其实可以教他更多的东西。因为你也是这么过来的,我一开始写前端,然后又写后端,适合搞大数据,然后搞 BI。
还有一个最重要的点是,技术人员其实比较羞涩,不喜欢跟人打交道,然后喜欢自己关起门来自己搞点东西。我现在自己出来做社交以后,发现技术人员需要一个圈子,需要很多朋友。这种需求我称之为什么?自己的技术委员会。你去找你觉得很厉害的人,跟他成为朋友。实际上技术开发就是一个踩坑的过程,你就是在踩坑,遇到一个东西就是踩坑。
比如说,我的技术委员会里有一些 Python 的重度用户。我其实自己装逼喜欢用 Clojure,但是现在创业了,老老实实用 Python,甚至我想学 PHP,因为 PHP 好招人,而 Python 招不到人。在 Python 中我遇到什么问题,我第一时间绝对不是去网上搜,而是第一时间打电话给他们,问他们踩过哪些坑,这些东西能不能用。这会节省大量的时间,其实很多我观察到的技术人员,他们都会花费大量时间自己去琢磨,一定要提防这种。
你的第一反应,应该是去问我的技术委员会,他们会怎么讲,这是我的想法。因为你创业之后被很多东西分心了,你没有时间去钻研这些东西,而且其实技术人员跟技术人员是心心相惜的。我觉得大家都差不多,都是朋友。其实你问一句以后,只要不是涉密的东西就很简单。
技术委员会怎么加入?其实就是去找你心目中认为可信任可靠的熟悉的人。
我还有一个技术委员会,他们做技术就是很狂野,他们不用 MySQL,就用 reddis 写的后台,不过现在很流行了。技术其实就是类似潮流圈一样,有风气,现在流行就是无脑,就用 KV,如果你不做一个很跟钱财相关的。我现在就学的 reddis,一开始我用 MySQL 写的,写的巨复杂,一万行代码,他来了之后,就告诉我现在硅谷就流行 KV,不要写那些 SQL,我就重写了,发现写起好舒服。其实就是他一句话,他只要跟你点透了。我还很困惑的是这东西内存什么的会不会挂,他就说「用吧不会挂」,其实你就需要他这一句话就好,他说不会挂,你就放心了。其实这种技术委员会,会大大的降低你的精力和时间。我觉得像 Geek2Startup 这个活动就很好。
包括技术也是,很多坑大家都踩过。其实我和在座有几个人,私自成立了一个群,鸡汤群。这个非常有历史,当时我们去融资的时候,找投资经常被拒绝,然后我们崩溃了,就成立了一个鸡汤群,这个群的规矩只有一条,不许发干货只能发鸡汤,然后谁先拿到融资谁退群。
所以我就希望大家都能有这么一个团队,可以互相鼓励。
再说一下复杂性的问题。我当时学 Clojure 的时候,Clojure 创始人给我讲过一个关于复杂性的描述特别好,就是复杂度分两种,一种是 accidental complexity,就是外部的依赖产生的复杂性。它的特点是什么?一出事儿就是像事故一样,突然就崩了。比如前段时间青云挂了,很多用他们服务的也挂了。就是说过因为你对它的依赖你根本就没有可控性,所以我认为在架构上,纯技术的,尽量去减少 accidental 复杂性。你分析一个系统的时候,要去想这个系统外部的环境,它的复杂性给你带来什么。另外一种就是你问题业务本身的 essential complexity。所以考虑复杂性的时候,你会想我现在是外部环境给我带来的,还是这个问题本身的核心给我带来的复杂性,我觉得这是我学 clojure 收获最大的关于思考问题的方法,包括我做任何事情的时候都用这种模式在想。很多时候你去创业也好,很多事情,比如说税务,然后乱七八糟 HR 的事儿,全是accidental 复杂性。这些不是你最核心的东西,但你必须要去做,你最好尽可能交给别人去做这个事情,然后自己专注于最核心的。
包括像斯蒂文,他是一个非常有观点的程序员,他的观点非常极端,他说现在市面上工具语言什么的,90% 都是快的。只有 1% 是好的,你只要用这 1% 就可以了。所以我看他的代码,很少用依赖,他基本上就是能聚焦到那个问题的本质,然后去做。我觉得这点非常牛逼。因为国内去开发系统的时候,就各种用库,比如 Docker 很酷就用它,但其实 Docker 就是一个 accidental 。因为你要用它的话,就得学习它,它可能有些 bug,或者说有不完善的地方,他挂了。或者说他局限了你,我不是黑 Docker,它已经很牛了。只是说其实很多努力都是为了做市场,他们为了让你觉得,我很好用,然后你去用,用来用去发现全是坑。
我认为大数据没有必要用 Hadoop,因为它的运维成本非常高,但是这就是一个 accidental 复杂性,如果它挂了,我也就完了,所以是这样,如果涉及到以后,有一些 SaaS 这些,其实尽可能还是要用,因为创业公司没有那么多资源,会把一些好的可以分享一下。
未完,待续。
长按二维码,关注吐司君
1月8日,Geek Talk 008 - 开发工具:工欲善,必先利其器 by 覃超大魔王,点击“阅读原文”进行报名,名额有限!