不想当职业电竞选手的程序员,不是好 CEO


#1

目前在 Nervos Foundation 担任 CEO 的 Terry,曾经的梦想一度是要成为职业电竞选手。身为一个爱打游戏的程序员,Terry 用他经典的魔性笑声生动地描述了他在区块链行业的前世今生。虽然这样的笑声总让人有一种他做任何事都很顺利的错觉,但实际上一路走来,Terry 付出的辛勤努力从来没有少过。 大多数人努力的程度之差,根本轮不到拼天赋。 正如他自己所说:当你想要成为人群中的前 10%,甚至是 5%,靠努力是足够了的。而如果你已经成为了世界前十,但想要变成世界第一,那才需要拼天赋。

今天的故事绝对能让我们看到一个不一样的Terry。

热爱源于游戏

曾经我也是个不折不扣的网瘾少年,记得上学时还没有网吧,只有电脑室,我就经常存一摞一摞的硬币去上网打游戏。很早的时候开始打星际,打 CS,打 Dota,非常着迷。当时,电竞作为第九十九项运动非常火,我还差点去当了职业玩家(嗯,电竞界少了这样的优秀选手也是挺可惜的。)

这么说来,其实我是 因为游戏我爱上了电脑,也因此爱上了编程,爱上了现在在做的事。

而且游戏和我真的很有渊源,我和 Jan(秘猿科技 CEO)成为好基友就是因为一起打 Dota。当时在 Intridea(一家技术公司)做项目时,玎玎、Daniel、Jan 和我分在一组。一起工作一周之后,Jan 除了回答和工作相关的问题以外,就没和其他人说过话,当时我就觉得这哥们儿挺有意思。我是一个比较外向的人,和 Jan 又一个小组,就想去撩一下他,建立一下感情。我问他喜欢玩什么,他回答说 Dota。原来是同道中人!于是我们约好周末一起开黑,刚开始他的水平不是很高,但学习能力真的很强,玩着玩着他打得越来越好。这也是我佩服他的一个原因,不怎么讲话,但事情做的特别厉害,不管是游戏还是其他的。

游戏,可以算是我选择事业和朋友的一块探路石,这才有了后面去当程序员、写代码、和志同道合的朋友一起创业的故事。

迈出的第二步——选择 Ruby

在大学,大家都在学 Java、C++ 等,这是所有人都会学习的语言,我也不例外。而选择程序员职业之后,第一个带给我足够震撼的编程语言是 Ruby。

有一次,我看到 DHH(Ruby on Rails 的创始人之一)录的一段视频 —— DHH 用 Ruby on Rails 15分钟建立 Blog 的视频 ,他演示了如何在 15 分钟之内用 Ruby 和 Ruby on Ralis 创建一个 Blog,这在当时看起来是不可想象的。按照现在的说法这个视频可能很标题党,但是他确实在 15 分钟之内,用 Ruby 和 Ruby on Ralis 创建了一个 Blog。我当时看完之后头皮发麻(在这之前从来没有因为看别人写代码而头皮发麻过),反反复复研究了很多遍,当下我就决定:一定要学这个东西。我还为了学 Ruby on Rails 存了很久的钱去买 Mac(那个时候 Mac 简直小众的夸张,因为在 Mac 上游戏很难运行,你用 Mac 别人会觉得你装 X,代价也很高) 。现在看起来这些决定真的是很大胆,因为当时 Ruby on Ralis 在美国刚兴起,中国基本上没有就业机会,等于学了也白学、学了也找不到工作。

但这样的选择,我从来没有为之后悔, 事实也证明我的选择是正确的。

到了大三我准备去找公司实习,当时我在成都,调查了很久发现成都只有两家公司用 Ruby on Rails,我选择了其中一家。

这个公司的老板是美国人,在这里还有一个小插曲。我刚进这家公司时, 有一个仓库是用 Ruby on Rails 写的,我就想看下职业选手是怎么写代码的。下载代码的时候内心非常紧张和激动,但是看完之后很失望,感觉和书里的知识条条相悖,代码基本违反了所有我在先前学习到的最佳实践。于是我就去咨询同事,我还记得当时的对话情景:

我:「你好,有几个问题我不太明白,想请教一下:为什么 model 不申明 has_manybelongs_to 的关系呢?这样就可以用 user.posts 而不用自己写 SQL 来找了啊?」

同事:「哦,has_manybelongs_to 这种东西没什么用,影响性能,你不知道吗?你没用过 Hibernate 吗?」

两个反问句直接塞住了我的喉咙,我保持沉默无言以对,稍时缓和后又接着问下一个问题……

我:「那我想再请问一下,为什么这个地方所有的逻辑都放在 controller 里呢? 而 model 完全是空的,这个地方的逻辑是不是可以移动到 model 里去会更好一些?」其实我略微有夸张,严格来讲,model 还是有两行代码,并不完全是空的:

class User < ActiveRecord::Base

end

同事变得很不耐烦道:「这个你不懂,等你工作几年有经验就懂了。」

我当时觉得好失落,不仅是因为代码的问题,还有这种盛气凌人的感觉让我怀疑自己是不是找错了公司。

后来公司老板来成都处理咨询相关的工作,他把我叫到了办公室。对话如下:

他:「Terry,代码你看了吗?」

我:「看了。」

他:「那你觉得怎么样?」

我当时很纠结,不知道该不该说实话。一方面担心说了实话会被解雇,另一方面担心不说的话就违背了自己的内心。几经挣扎之下,最后我决定还是把自己的看法直接说出来,因为如果在这家公司我不能够表达我的真实想法,那么待着对我来说也没什么意思。

我:「这个真的写的不好。」

他:「你觉得哪里写的不好呢?」

接着我就开始解释我认为的不足之处。

他听完之后一拍手掌,说:「太对了!我们在美国请了一个专家 Tim,你和他说的一模一样,他也这么吐槽了一次。要不这样,你和美国专家一组,把这个项目重构一次?」

我一听有点愣神,结果竟然变成了我和美国专家直接工作?随之而来的是难以用词汇形容的开心,还有那种被认同的兴奋感。看来我没有选错公司,看来说实话真的没有错。

就这样,我开始和美国的资深程序员一起工作了。Tim 有 50 多岁,代码写的一级棒,超级牛!让我更惊讶的是,在国外 50 多岁的年龄居然还可以写代码,要知道当时在中国流传的说法是,写几年代码就要转到管理岗。原来,程序员可以写代码到五十岁,六十岁, 只要你喜欢,就可以一直写下去。

还记得那个时候领着一天 50 块钱的实习工资(这在当时已经很不错了),但每天工作积极性非常高,从早上一睁眼就无时无刻不在思考项目的问题,我的修改是不是让代码变得更好了?这个地方如何抽取? 为什么先写测试会帮助我做出更好的设计? 为什么预计到变化这么大,依然坚持重构而不是重写?…无数大大小小深深浅浅的问题时刻盘旋在我的脑海里。刷牙、 吃饭、 坐车、 走路,甚至连上厕所的时间都不放过思考。每天回家除了陪老妈瞄几分钟韩剧,其余时间就没闲着,熬夜加班更是家常便饭。虽然很多时候觉得自己很累, 但是看着事情一件一件做完,自己一点一点成长,那真是 High 炸天。

本以为事情最多也就如此了, 但是没想到我的命运总如韩剧里男主角一般「祸不单行」。

那时候,我们每天早会都会简单回答 3 个问题:「昨天做了什么,今天想做什么,什么东西阻碍了你」。其实一开始我不太听的懂他们在聊什么,因为我的英文不是很好。好在我的老板(美国人)有一个很好的习惯,就是写会议纪要,我能通过会议纪要知道会议讨论了什么,我对此很依赖。

但是,有一天老板突然和我说,他一个多月之后要回美国待半年,没办法参加每天的早会,希望我接下来能独立处理好这个事情。我一听就傻了,开个会我也就能听懂不到 50% 的内容,而且这是自初中开始学习了近 10 年英语的结果。这接下来只有一个多月,怎么可能独自 Handle 下来?

当时我心里忍住了想说一百个「Impossible」的冲动,竟然还点了点头,说:「 Let me take a try. 」其实心里在发毛,深深知道这几乎是一件不可能的事情。但我骨子里就是这么一个喜欢「自虐」的人,而且至今都是如此。

既然都答应了, 我还是要做点什么,好让自己的英语在这一段时间里突飞猛进。

于是我开始每天练习英文。那个时候骑着小电摩托上下班,在路上一边骑着电摩托一边模拟开会(客户会问什么,我该怎么回答),噼里啪啦不停地说着英文,虽然遭到了很多行人异样的眼光,但是我完全不在乎他们。 当你脑子里有特别想做的事情时,就完全不会去 Care 周围的环境和别人的看法。

而且我经常一遇到老外就和他聊天,聊天的内容由浅入深,聊兴趣、爱好,他们是怎么工作,怎么解决问题的,因为如果聊天只停留在打招呼阶段,那么你就算聊了再多的老外,依然只会和他们打招呼。

我还主动要求代替老板写会议纪要,写完以后发给老板 Review,再发给客户和 Tim,这样自己就能确定是不是真的听懂了。开始时会有很多地方没理解或是漏掉了重要的内容,但是随着这样的刻意练习,精确度越来越高。

就这样我坚持不懈地使用这些「偏方」,一个多月后, 终于迎来了老板离开后的第一个早会。那天一切都很顺利,没什么惊天动地的,而我很开心,吃饭睡觉都在傻笑,因为我获得了另一种「自立」。

这份实习工作让我受益匪浅。如果没有选择学习 Ruby ,我可能不会认识这家公司,不会第一次体会到百分之百专注在一件事情上的快感,也就不会如此热爱写代码;不会认识 Tim,不会知道程序员真正的职业生涯;更不会如此狂热地练习英语,获得那样的经历和体验。

还是那句话, 人生没有白走的路。

Ruby Conf 带给我的再一次跳跃

当我再次以为事情最多也就如此的时候,命运又一次青睐作为韩剧男主角的我了。

当时刚好 Daniel 做了第一届 Ruby Conf China,我一看是 Ruby Conf,就决定要去参加,想看一下这个行业工作的人都是什么样子的。我去和老板请假,一听是技术 Conf,他不仅帮我订了车票,还和我一起去参加。那是我真正接触现实中的社区,这一次上海之行,不仅让我感受了上海的繁华,也让我见到了 Daniel 和社区里的很多牛人。

在那之后,我清楚地意识到我在成都的发展受到了瓶颈,外面的世界很精彩,而且这个技术一定是未来。不到一个月,我决定从第一家实习公司辞职,于是我就在 Twitter 上发了一个想换工作的消息。非常巧,这条消息被 Daniel 看到,我们就加了一个 Gtalk,开始私聊。

他清楚我的情况之后,先后推荐了几家公司,后来干脆推荐了他当时所在的公司 Intridea。当时很多开源的代码就是他们公司写的,里面很多人还是我的偶像。他也知道 Intridea 要求非常高,我刚毕业可能不一定能胜任,但还是鼓励我试一试。

我参加的是远程面试,有三轮,前两轮是中文,第三轮是英文,CEO 终面。

令我记忆犹新的是第三轮的面试,和 CEO 聊的很好,我和他讲了很多实习工作的经历。聊到一半时,有趣的事情发生了,我妈进了我房间,想偷窥我是怎么面试的,虽然听不懂我们在说什么,但看她在旁边还是挺开心的。到了谈薪水的时候,我本来想报 6000,我妈和我比了一个 8,我觉得太高了,她就一直比着要我报 8000。最后我硬着头皮说了8000,老板就愣了,问到这个指的是美元还是人民币,我说人民币,然后继续问是指周薪还是月薪,我连忙回答是月薪。

他说 OK,然后说会后邮件联系。我当时想,完了,肯定是自己报的太高了。那天晚上就没睡好,感觉这么好的机会被我妈给搅黄了。

第二天一起来,我就听到邮件的滴答声,打开看到是 Offer 发过来了。老板很诚挚地写了一封邮件说,从来没有看到过报价这么低的人,最后他给了一个接近 30000 人民币的 Offer,一份全职的工作。 我不知道你有没有对着电脑笑过,但是那天,我对着电脑笑了一整天………

就这样,我开始了一份新的工作。也是在这家公司,让我对开放的文化、对开源的精神有了更多的理解和作为。

开源精神的种子发芽

在进入公司半个月之后,当时我在研究 Java Script 的测试(在当时是很前沿的技术),有人提议我去做分享。因为在 Intridea 内部,每周会有一个技术型 Topic 的分享,在美国叫做 Coffehour(每周五下班之前组织)。我当时是一名刚来不久的应届毕业生,所以我的第一反应就是,不行,肯定做不到。首先,全程要用英文分享;其次,我的偶像们会坐着听我的分享,这得有多难多紧张呢?

但是,我就是喜欢自虐,我就是要做一下自认为不行的事情,于是,我答应了下来。为此,我做了很充分的准备。因为和美国有时差,我就一直演练到凌晨五点。分享时虽然有点紧张,但效果不错,还受到了我的偶像的赞赏。

因为这件事情,我开始意识到自己的认知问题:以前总是觉得自己不行,不能做分享,但其实不是这样子的,从最开始的时候就应该去分享,因为 只要你研究的方法是对的,大家会非常愿意听你的研究结果 。从那以后,我也开始反思,自己不能总是在开源社区吸收知识,不应该只做开源的受益者,也应该对社区做些分享,也应该有所贡献,这样的种子就埋在了自己的心里。

慢慢地,我开始写一些开源的库,写博客和文章。除了传统的纸媒、文字之外,我对新媒体也很感兴趣,当时有一个会定期更新视频的Screen Casts 叫 Rails Casts ,它是用视频的方式教你怎么去写 Ruby on Rails。这个节目教会了我很多东西,因为国内很多人不太习惯用英文,所以我参考这个节目制作了中文版的视频教别人写 Ruby on Rails,做出了 Rails Casts China

为了这个节目,我几乎浏览了国外所有优秀的教程(都很贵)。我本身很喜欢看美国人是怎么去教别人写代码的,里面有一个系列叫做 Play by Play,就是找业界顶级的人坐在旁边,现场边操作边讲解,完成一个工作任务。让你了解最顶级的人是怎么工作的,甚至是了解到他们怎么更好地用快捷键。我当时就想把这个 Play by Play 引荐到中国来,何必执着于国外呢,中国也有一帮很优秀的人。于是我就开始找中国最好的技术大牛,我自掏腰包飞到全国各地拜访他们,把他们是怎么完成一个工作任务的过程录下来,上传到 Rails Casts China 上。

后来 Rails Casts China 受到了 Daniel 以及很多社区的支持,Ruby China 还放了我的 Link。做这件事情虽然不赚钱,我也没想通过这个赚钱,但它体现的是开源精神,是回馈社区的一种方式,一想到这一点我就特别有动力,并且做了很长的一段时间。

是 Teahour 发扬了开源精神,还是开源精神成就了我们?

这件事情成功之后,我就想分享一些更深层次的东西,不想总是待在自己的社区。因为那个时候基本认识了所有做 Ruby on Rails 的大佬,就想知道 Ruby 之外的开源社区,例如做安卓的、做 Java 的,他们是怎么做事情的。

这个时候 Kevin 出现了。当时我在创业,Kevin 也在创业,他对硅谷创业非常熟悉,非常懂 Growth Hacking。他在美国看到我们,一个靠谱的中国团队,就纯粹地想帮助我们。他提议可以搞一个 BookClub,每周选一个人把在看的书给大家讲一遍,这样我们就有四倍的时间去看书了。这个想法特别好,受益非常大,不管是技术上的,还是 Growth Hacking 。慢慢地,Kevin 有了一个新的想法:为什么不把 BookClub 公开做成一个 Podcast?这个想法让我非常兴奋,于是我们邀请 Daniel,三个人一起组建了 Podcast,名字继承于 Coffeehour,因为中国人都爱喝茶,所以取名为 Teahour.FM。

Teahour 第一期采访的嘉宾是叶玎玎,他是一个技术非常强的人 ,Intridea 在中国优秀的工程师基本都是他招进去的。他录了第一期之后就特别想加入我们,就这样他也成为了 Teahour 的创始人之一。

Podcast 的模式有瞎聊型、新闻导向型和访谈型这三种,我们选择了最难的访谈型。比如聊 iOS 开发,作为访谈者虽不必非得是一个专家,但还是要做功课研究行业痛点在哪里,提出针对性的问题。你们可能很难想象做一期节目需要花多少时间。首先,节目前期的准备需要一周 ,录制需要四到五个小时,而剪音频则需要更多的时间,我们至少得把音频听三遍,一点点抠,坚持把这个节目做下来其实非常不容易。

而且 Teahour 是非盈利的,完全面向社区的。在当时一般年轻人可能很难做这件事,大家可能都想着要创业,要财富自由。我们自己也还在创业阶段,要专门拿出时间做这个,还是有过犹豫的, 但最终想贡献和想分享的心态战胜了犹豫

结果也正如你们看到的那样,收获也出乎意料的多。

首先我们建立起了自己的 Reputation,别人很认可你;其次你认识了一批非常靠谱、很牛的人,比如尤小右,他是开源界的骄傲;还有很多其他的人,他们后来的项目都做的很成功,他们对我们的激励非常大。不论是从最初的云币,还是现在的 Nervos,我们能吸引到很多非常牛的小伙伴愿意和我一起做事。好的程序员在哪里都不会缺钱,他更多的是要追求认同感,我们能彼此认同,这是非常棒的一件事。

另外一个不可思议的收获是,我们今年上半年去北美做 Private Sale,有几个很年轻的投资人听了我的魔性笑声之后,就问我是不是 Teahour 的 Terry,我说我是啊。马上有人就把手机拿出来,说你们节目我每期都听的,而且都听到 99%, 我就是听了你采访 Jan 的那一期 Teahour 才入的行 。至少有三个人和我说过类似这样的话。

听我们节目入行的人现在要给我们投资了,想想真是有点不可思议,我们的节目居然能有这么大的影响力?这给了我们极大的满足和成就感。

中国更多还是开源社区的享受者,而不是贡献者。虽然现在比十年前好了很多,但是享受世界的成果在中国目前还是主流。我不想说我能唤醒所有人,但是我想的是,我们的节目可以影响到那些极客,而极客是最有可能给开源世界作贡献的。我觉得人多多少少都会有一些民族主义,虽然我是一个国际主义战士,不论什么肤色的人我都爱,但当一个中国开源项目成为世界一流的时候,比如尤小右写的 Vue,我会非常开心。

没错,我们是本着分享的心态创造了 Teahour,但我相信是开源的精神造就了现在的我和现在的我们。

What’s next?

从第一家实习公司,到 Intridea,再到后面的创业,以及现在的 Nervos,我所有的经历离不开几个关键词:热爱、努力、开源、分享、平等…这些词用现在的话说就像是心灵鸡汤,但确实是真真切切帮助我走到今天的精神法则。这些也将会是我们继续走下去的动力。因为想创造这样的世界,才会为之不断地奋斗。

其实,在 Teahour 里面 Jan 聊区块链之前,大家觉得区块链、币大概率来讲就是一个忽悠、一场骗局,没有人会把技术聊的这么深,比如拜占庭将军问题、比特币的原理、以太坊的技术细节等等。

很多人一听才知道区块链可以有这么积极的一面,后来很多人入坑也是因为觉得区块链在技术上有值得突破的地方。 很多新东西出来时,也许会带有投机或者不好的成分,但是 Jan 把区块链往好的调性这边拉了一下,让很多人对区块链技术又有了信心。

在 Nervos 项目成立的前两年,几乎每隔一段时间就会有人主动找上门,建议我们赶快融资做公链(当时我们并没有想清楚),我们就问他为什么?

他说,这个市场就是这样子: 现在的热钱你不拿就会被坏人拿走,作为一个靠谱的人,就算现在没想好做什么,也应该先把钱拿着,再慢慢想你要做什么,这样对世界才是最好的 。这个观点很有意思,但我们很坚决: 在没想清楚之前不会去忽悠投资人。

所以我们是想清楚了才做这件事情,它是水到渠成的。 我们只能做自己。

2018 年初,我们成立了 Nervos 项目,同年 7 月完成 2800 万美元融资,11 月项目正式开源。2019 年,我们正在为即将发布的测试网络和主网络做全力冲刺。

那接下来会发生什么?说实话,我也不知道,就让我们一起拭目以待。

写在最后:我们现在在做一个新的针对区块链的中文播客,叫做 Fork It ,希望能够通过这个节目让更多的人去了解区块链技术,甚至是鼓励这些极客去做出优秀的开源区块链项目,欢迎大家关注。


#2

比Nervos更令我着迷的,是这一帮怀揣着同样精神法则和价值守则的可爱的人 :see_no_evil:


#3

太真实了…


#4

闻者心伤,听者泪流 :pleading_face:


#5

我们会争取写出更多创始人的故事 :vulcan_salute:


#6

太贴切了 :vulcan_salute:


#7

可能有个笔误,「今天做了什么」-> 「今天想做什么」


#8

我也要说:我就是看了你的那篇 blog 才入的行,让我在大学期间多了一份前进的动力和不断奋斗的目标,甚至在一定程度上影响了我的职业生涯和人生轨迹。这听起来有点夸张,但可能事实就是这样。
还是那句话,人生没有白走的路。感谢你! @poshboytl


#9

哇哦~感谢指正,已修改 :call_me_hand:


#10

人生没有白走的路,每一步都算数。也非常感谢你的支持,你们的支持给 Terry 注入了更大前行的动力 :muscle:


#11

:+1:


#12

看到一位开源信仰者的诞生,棒棒哒!:smiling_face_with_three_hearts: