查看: 779|回复: 0

[网赚资讯] 从Google工程师到创业CTO 他的8项理念也许可以帮到你

[复制链接]
发表于 2016-5-5 14:07 | 显示全部楼层 |阅读模式
  Lan Langworth是前Google软件工程师、O'Reily作者,现在他是Artillery的co-founder/CTO,致力于把游戏机质量的游戏带进网页浏览器。下文是他从Google离职到创业的心路历程。

   1462414797795.jpg

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

  1、方向和信念

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

  然而,它好坏参半。一方面,我真心相信在Google这样的公司你距离参与创造奇迹近了一步,心安理得地享受Google提供的优厚待遇。Google提供的基础要求,如季度目标,使命,核心价值观,代码规范等能为你创立公司提供帮助。

  另一方面,在Google,很难保持冲劲和创造力。离开Google、加入Redbeacom是我做过的最好的决定之一。我是他们的第一位雇佣的全职工程师,并帮助建立了整支队伍,还为产品开发制定了排期。这些都是在Google做不到的,因为在大公司,软件工程师很容易被隔离在业务线外,你唯一的责任就是输出优质的代码。但是,如果你以第五个人的身份进入一家公司,你会看见整个公司正在运转的所有事情,你也在业务的前线,有机会参与重大决策。任何相当技术Leader的人都应该加入一家早期的公司获得这种体验。

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

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

  2、沟通的失败

  在加入Artillery的头几个月,其他的founders和我都已经数次激怒了对方。我开始想在这样一支小的队伍,相对于在Google沟通应该不在话下。但是我错了。

  三位co-founders的沟通很混乱,一个人说给另一个人,第二个人又传话给第三个人。作为一名软件工程师,如果你在一支全是工程师的队伍,沟通是相对容易的。当这支队伍混入了其他职位的人,且多于10个,沟通会变得有点棘手。相信我,沟通会比你想象的难,但是必须好好地掌握。

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

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

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

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

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

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

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

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

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

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

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

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

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

  5、离开舒适区

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

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

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

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

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

  6、选择正确的技术

  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,现在很庆幸我们做了这个决定。

  7、Harbor你的资源

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

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

  从此,我才意识到精神充电是必须的。在其他项目上分脑力让我在工作中降低了效率。作为CTO,跟上新技术是我的责任,为什么我还要做那些无益于我提高的事情呢?做外部的项目会给我的正职带来压力,对我的合伙人也不公平。

  我停掉了side project,创造力和精力又回来了。虽然我有时还是会陷入卡壳,想修复一个bug却怎么也办不到,但是了解了生产力低谷周期后,我放轻松了。

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

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

  8、相信你的直觉

  如果你知道某件事是对的,即使你还不能马上知道原因,先开始做。推论是:如果某件事情感觉不对,无论是招聘、管理、谈判,还是其他决策,听从你的内心。CTO的工作很辛苦,会用掉你全部的脑力和直觉——但是除了它也没有别的什么我想做的了。
温馨提示:
1、本内容转载于网络,版权归原作者所有!
2、本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
3、本内容若侵犯到你的版权利益,请联系我们,会尽快给予删除处理!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

客服QQ/微信
2750070521 周一至周日:09:00 - 22:00
十五年老品牌,学习网上创业赚钱,首先创赚网,值得信赖!
创赚网 版权所有!

本站内容均转载于互联网,并不代表创赚网立场!
拒绝任何人以任何形式在本站发表与中华人民共和国法律相抵触的言论!

QQ|小黑屋|广告服务|加入vip|APP下载|手机版| 创赚网

GMT+8, 2024-12-24 08:56 , Processed in 0.122515 second(s), 35 queries .

快速回复 返回顶部 返回列表