# 从 Google 工程师到创业 CTO，这 8 个理念让他一路坚持下来

- 作者：董 飞
- 发布时间：2016-05-02 14:32
- 分类：公司
- 原文：https://www.ifanr.com/651981

![climbing-courage-to-challenge-the-climb-of-cliff-171486](https://s3.ifanr.com/wp-content/uploads/2016/05/climbing-courage-to-challenge-the-climb-of-cliff-171486.jpg)

> 原文：[How to Go From Google Engineer to First-Time CTO](http://firstround.com/review/How-to-Go-From-Google-Engineer-to-First-Time-CTO/) 翻译：周萌萌 Betty。 Lan Langworth 是前 Google 软件工程师、O’Reily 作者，现在他是 Artillery 的 co-founder/CTO，致力于把游戏机质量的游戏带进网页浏览器。下文是他从 Google 离职到创业的心路历程。

不久以前，我还是一名筹划着自己第一家公司的软件工程师。显然，有许多需要考虑的地方，但是最让我兴奋的是那些「未知的未知」——我知道会出现、但不可预知的挑战。虽然有一群可靠的商业伙伴和我这个技术宅一起工作，但是我深知从第一行命令开始，要建立一家成功的公司还要付出很多。正如你想象的，有许多我没有预计的东西都发生了。所以，我写了下面这些「未知」，献给那些憧憬着去创业公司当 co-founde 的工程师们。

### 方向和信念

2006 年当 Google 给我 offer 的时候，我开心的接受了。那个时候，Google 几乎是一名软件工程师工作的最好选择，意味着你可以和世界上最聪明的一群人一起工作，还可以随意使用世界上最先进的工具。

![google-budapest-office-2](https://s3.ifanr.com/wp-content/uploads/2016/05/google-budapest-office-2.jpg)

（图片来自：[OfficeLovin’](http://www.officelovin.com/2015/02/11/inside-googles-amazing-budapest-office/)）

然而，它好坏参半。一方面，我真心相信在 Google 这样的公司你距离参与创造奇迹近了一步，心安理得地享受 Google 提供的优厚待遇。Google 提供的基础要求，如季度目标，使命，核心价值观，代码规范等能为你创立公司提供帮助。 另一方面，在 Google，很难保持冲劲和创造力。离开 Google、加入 Redbeacom 是我做过的最好的决定之一。我是他们的第一位雇佣的全职工程师，并帮助建立了整支队伍，还未产品开发制定了排期。这些都是在 Google 做不到的，因为在大公司，软件工程师很容易被隔离在业务线外，你唯一的责任就是输出优质的代码。但是，如果你以第五个人的身份进入一家公司，你会看见整个公司正在运转的所有事情，你也在业务的前线，有机会参与重大决策。任何相当技术 Leader 的人都应该加入一家早期的公司获得这种体验。

今天，作为 Artillery 的 CTO 和 co-founder，我的生活一半是巨大的自由，一半是巨大的责任。Artillery 正在努力创造一项发明（让浏览器编程高质量的游戏机）。这是我作为工程师的冲动，可以任意地按我们的路线创造。同时，我们都知道，如果我们的技术可行，很快就会面对更多的用户，同时承受随之而来的更大的压力和期待。

在某些时候，你得相信自己做的是正确的事情。将「我想我们可以这样做」换成「这就是注定要发生的」这种心理暗示并不容易，但这就是让我进步的原因。有人认为这是信心，我不这样认为，我想它更关乎一种信念。

### 沟通的失败

![Team-Meeting](https://s3.ifanr.com/wp-content/uploads/2016/05/Team-Meeting.jpg)

在加入 Artillery 的头几个月，其他的 founders 和我都已经数次激怒了对方。我开始想在这样一支小的队伍，相对于在 Google 沟通应该不在话下。但是我错了。 三位 co-founders 的沟通很混乱，一个人说给另一个人，第二个人又传话给第三个人。作为一名软件工程师，如果你在一支全是工程师的队伍，沟通是相对容易的。当这支队伍混入了其他职位的人，且多于 10 个，沟通会变得有点棘手。相信我，沟通会比你想象的难，但是必须好好地掌握。

所以我们准备花更多的时间一起筹划，花一个小时的时间坐在房间，清楚地写出来当下在进行的事情。第一次这样做的时候，在不到 60 分钟的时候，我们就解决了能想出来的大部分问题，这些问题大部分都是由于沟通失误造成的误解（!）。从此每周，我们都会开一次这样的 founder’s meeting。同时，我们会把决定都记在一个常常的 Google 文档，方便随时查阅。从此我们再也没有出现过严重的分歧。

但是，仅仅增加沟通的量是不够的，更重要的是要更好地沟通。当我们刚开始例会的时候，我们经长陷入无休止的浪费时间的争论中。过了 30 分钟后，我们才意识到方才是在用各自不同的话语表达同一个观点。一个简单的短语，比如「需要一项政策」，可以意味着一本 10 页的手册，也可以是一句话的规则。所以现在，在我们开始反驳的时候，我们会先花时间确保我们理解我们的出发点是什么。这样会增加沟通效率，节约时间。

我们制定了这类会议中的三个原则：首先，会议是私人性质的，所以我们会给与彼此最坦诚的反馈，这就让我们把自我关在了门外，可以开诚布公地讨论。这会导致我们中的某人说：「哦，我不认为它会这样。」建设性的批判对话让我们更好地完善自我。

其次，email 的问题。通过 email 很难传递情绪，很容易成为误解的发源地。误解一封 email，变得心烦，甚至影响表现——实在太容易了。同样的话语，如果是面对面的对话就会有完全不一样的效果。

![Redbooth101-LetstalkAboutEmail-Redbooth](https://s3.ifanr.com/wp-content/uploads/2016/05/Redbooth101-LetstalkAboutEmail-Redbooth.jpg)

（图片来自：[Redbooth](https://redbooth.com/blog/email-solutions-101)）

我有一个简单的小技巧可以在 email 中传递情绪：当我怀疑我发出的某条信息可能会有歧义，我会加一个表情，比如 \[mood: agreeable\]，从而确保传达出我乐意的态度。如果你也这样做，你会发现它非常有效，可以让所有人保持冷静的情绪，避免争端。

### 建立「程序员乌托邦」并不容易

![Ballmer](https://s3.ifanr.com/wp-content/uploads/2016/05/Ballmer.jpg)

（图片来自：[XDA](http://www.xda-developers.com/windows-developer-fee-gone/)）

开始组建团队的时候，我们会说很多在 Artillery 工作的美好愿景，包括各种各样的福利待遇。我们希望用有趣又有意义的工作来吸引最优秀的人才。

于是我们在网站上挂了很多福利：免费午餐、完善的医疗保险、交通报销、无限的假期、workstation 预算、从东京买来的游戏原型手办……然而，列出这些福利简单，将它们落实，建立一个「程序员乌托邦」却是困难的。

开始，我以为无期限的假期是一个好主意。毕竟，它是 Netflix（美国顾客满意度最高的公司）著名的文化甲板，在他那里很奏效。然而，在我这儿，似乎去给员工带来了更多的压力，优秀的员工害怕他们休假太多而不敢提出请求。最后，我们决定还是采取固定期限的带薪休假模式——既能缓解员工焦虑，又能足量地满足员工的度假需求。

在有新员工提出各种奇怪需求前，自主选择编程装备是一个好主意。但是，谁知道 20 美元的 Razer Goliathus 鼠标垫值不值？有员工提出用他们自己的笔记本工作，把它们的预算花在昂贵的外设上。还有员工想要高昂维护费用的组装系统。至此，我终于确定每个人都应该用 Mac OS X——因为它足够干净、简单。

### 「福利」可能并没有什么用

![TopGrovemade-Desk-Collection](https://s3.ifanr.com/wp-content/uploads/2016/05/TopGrovemade-Desk-Collection.jpg)

（图片来自：[Cult of Mac](http://www.cultofmac.com/290090/grovemades-wood-desk-collection-turns-mac-desktop-designer-paradise/)）

要解决问题首先要理解福利的实质是什么。比如说道买设备，它的目的不是无限制地满足员工的每一个细微的需求，而是为他们提供良好的工作环境，确保没有人还在使用老旧、迟缓的电脑。让每个人理解政策、福利背后的逻辑，可以帮助他们做出更好、更谨慎的决策。

福利一旦实施，就很难轻松收回。可能除了你自己，并没有别人理解福利的目的。那些员工看似在浪费你的好意，其实并没有恶意。你得提醒他们理解这个福利的机制。

### 离开舒适区

![Panasonic-Peoples-Triathlon-Mission-Bay-15.12.2013-026](https://s3.ifanr.com/wp-content/uploads/2016/05/Panasonic-Peoples-Triathlon-Mission-Bay-15.12.2013-026.jpg)

（图片来自：[奥克兰铁人三项俱乐部](http://www.aucklandcitytri.co.nz)）

我知道 CTO 的职位意味着更多的责任，却不代表冗长的会议和官僚主义。除了技术，CTO 还要承担更多的管理职能：雇佣合适的员工，解雇不合适的员工，持续地创造和输出 idea，带着目标团结队伍。

当我们筹集资金的时候，我第一次遇到这些挑战。和投资者周旋对一位软件工程师来说真是一件苦差事，如果你也习惯了坐在自己的工位，仅通过 GChat 彼此交流。突然之间，我得穿上没有洞的衬衫参加各种大型会议，并试图说服在场的人我们能实现不可能的事。

对于工程师来说，承诺一周以后的 deadline 已经很难了。投资人却会 challenge 你承诺今后 1-2 年的事情，并会在每一个节点问你问题。「真的吗？」他们中的有人说，「你要做一个 AAA 游戏？你怎么把 2G 的内容放进浏览器？你怎么让它有趣？」

幸运的是，多年的软件工程师生涯赋予了我一项珍贵的技能：直觉。我豪不怀疑我们在做的事情是可行的。一旦我自己深信不疑，让其他人相信也就轻松多了。

就像说服投资人，团结新的队伍也是一项挑战。多个月之前，我们决定做游戏，虽然不知道它会成为什么样子，但是开始做是第一步。一位合作的艺术家给我发来了一张游戏的图片，是一片郁郁葱葱的草地。我把它做成了 36″x24″ 的大海报，挂在墙上。从此，无论谁问我他们接下来要干嘛，我都会指着这张图说：「只要能让我们离这里更进一步。」这是自我驱动型工程师需要听到的话。我们有一个清晰的目标，就踏踏实实地挂在墙上，我们要做的就是努力实现它。

### 选择正确的技术

![3034512-poster-p-1-treehousecoders](https://s3.ifanr.com/wp-content/uploads/2016/05/3034512-poster-p-1-treehousecoders.gif)

（图片来自：[快公司](http://blog.fastcompany.com/post/95215679938/the-online-coding-school-treehouse-just-launched-a)）

Web 开发是一个有创造力的快速发展的世界。各种各样的新 idea 和工具层出不穷，似乎换一个新框架或代码就能解决你所有的问题。但是作为 CTO 你要记住，挑选怎样的技术相当于你花了一笔真金白银，一旦你做了决定，很可能你就没有时间和资源再走回头路了。

在 Artillery，我们清楚我们会写很多的 JavaScript，即使大家都懂的，JavaScript 有各种让你不爽的地方 。我们之前有使用过 CoffeeScript，它运作的不错，我们也喜欢它的作者做的大部分决定，所以我们最终选择了它。然而最关键的原因是，我们并不会被困死在 CoffeeScript上。如果哪天我们想丢弃它，我们可以将轻量级的CoffeeScript 全部编译成 JavaScript，并从那里继续前进。这么做合情合理的，而且成本也很低。

服务器端的决定就没有那么容易。Node.js 显然是我们的首选，它可以轻松分享客户端和服务器端的代码。然而，那个时候 Node.js 还很年轻，而且它的生态圈也不成熟。当时很难评估 Node.js 的第三方库的质量和安全性，有很多相似功能、但又在开发的不同阶段的库。

这让我们停下来思考了一下。但是经过更多的研究，一件事情提醒了我们：Node.js 的更新速度很快。Node.js 基于的 V8，已经被证明在 Google Chrome 上跑的又快又干净。如果只有一家公司拥有最多值得信任的聪明人在致力于语言，那就是 Google。依靠这个框架似乎是一个安全的选择。Node.js 的代码新版本是一致的，而且强大的 Github 社区又提供了频繁代码更新的便利。在仔细的审议后，我们决定用 Node.js，现在很庆幸我们做了这个决定。

### Harbor 你的资源

我很喜欢 side project，我总是要做点什么——一个游戏、一个 WebApp，或其他的什么工具。这是我保持学习，玩儿新东西的方法。但是当 Artillery 成为现实，我的兴趣突然成为我的全职，我该怎么度过我的空闲时间呢？

我曾经花了一个周末，和一个朋友做一个电商网站的原型。「花不了多长时间的」我记得我还这样说过，「我只需要用 Django、PayPal 和一个购物车。」它的确只花了两天，却耗尽了我一个礼拜的精力。

从此，我才意识到精神充电是必须的。在其他项目上分脑力让我在工作中降低了效率。作为 CTO，跟上新技术是我的责任，为什么我还要做那些无益于我提高的事情呢？做外部的项目会给我的正职带来压力，对我的合伙人也不公平。 我停掉了 side project，创造力和精力又回来了。虽然我有时还是会陷入卡壳，想修复一个 bug 却怎么也办不到，但是了解了生产力低谷周期后，我放轻松了。

如果此时状态不佳，不如接受它，和周围的伙伴交流一下，做一些简单的活儿。这样总比恐慌、错过 deadline 要好。

如果你真的什么都做不了，告诉你一个小技巧：想想那些你完全不想碰的事情。再做手边的事情就舒服多了。

### 相信你的直觉

如果你知道某件事是对的，即使你还不能马上知道原因，先开始做。推论是：如果某件事情感觉不对，无论是招聘、管理、谈判，还是其他决策，听从你的内心。CTO 的工作很辛苦，会用掉你全部的脑力和直觉——但是除了它也没有别的什么我想做的了。

题图来自：[WallpapersXL](http://www.wallpapersxl.com/wallpaper/1366x768/climbing-courage-to-challenge-the-climb-of-cliff-171486.html)
