时间:2015-11-28 18:01:32 来源: 复制分享
本文是由Uber增长团队的技术总监、Facebook的前技术总监Pedram Keyani所写,他介绍了编程马拉松如何帮助公司塑造公司文化,激发创新,让代码战胜闲言碎语。
黑客公司文化
我其实很喜欢编程马拉松这种形式的比赛,这也是为什么过去在Facebook的七年里我组织举办了近40场这样的比赛的原因。起初,我之所以会这样做是因为想要在工作之余和其他有着相同爱好的同事能够一起抛开条条框框的限制、自由地编写代码,寻求新的思路。但随着时间的推移,这些由20个人组成的编程马拉松比赛慢慢成为了Facebook公司文化的重要组成部分。
不过让我们的这种比赛紧跟上Facebook飞快地成长速度其实是很困难的,所以我们不得不断地思考和实践以确保我们能够跟得上公司。同时我们不断去捕捉、增强和扩大让编程马拉松变得更加神奇的力量,使得这种形式的比赛更加特别;慢慢地我也明白在我们共同成长的过程中,编程马拉松自身得到巩固被强化,同时它也起到了营造我们公司文化的作用。
时间压力下催生创新
大多数创意想法往往都会胎死腹中,因为那些有这些想法的人一旦意识到要将这些想法变成现实需要很多步骤的时候,他们就会气馁,滋生放弃的想法。这其实也很容易理解,对吧?一个没有时间限制的创意想法就像我们桌面上那个永远不会碰到的“明天再做的任务”列表。这其实也反过来衬托出编程马拉松背后的吸引力和魅力:它要求时效性,刻不容缓。
编程马拉松从开始到原型的演示所需要的时间非常紧迫,也正是这种客观事实会让人产生不同于上面的那种心态。你不能对自己说以后有时间再来完善这些想法,你只能驱动自己和团队在有限的时间里完成最简的产品,无论该最简产品是可行还是不可行。在有限的几个小时里完成相应的任务其实一个很好的可行性验证方法,看看你要做的东西是否真的有可行性。
这种时间约束的心理会给你带来难以置信的效果,因为它将迫使你去权衡利弊,并作出最合理的考虑,同时也会刺激你让你的创新想法最大化,使得想法变成现实的东西可以真正运作起来。约束时间会催生不可思议的创新力量。
自组织扩展
在开展编程马拉松之前,我会先建立一个维基页面或一个共享文档让大家把他们的想法即团队所需成员的技能列在上面,比如我会列出这些内容:需要后台需要后台工程师,移动工程师,产品设计师等等。接下来,会发出附带该页面连接的编程马拉松开始邮件,这样大家就可以在该页面上面列出他们的想法和需求了。这样做附加的好处是,即便成员中有人没有什么点子,他们依然能够加入团队并提供帮助,为推动想法变成现实做贡献。
组建小团队,将实时的想法进行交流碰撞,一起进行设计,一起解决问题的,其实这种行动有点像学跳爵士舞,因为它同样是鼓励参与人员即兴的发挥,要求他们快速调整自己的不足。这种狂热的节奏让整个团队的力量大大超过了团队成员各自加起来的力量的总和,并体现到公司任务协作的各个方面。当你投身于编程马拉松之中时,你会真正的领会到,这是一个多么美妙的事情。
编程马拉松有机地鼓励公司文化的建设和员工之间的合作,摒弃自上而下的条框限制。这是至关重要的,因为文化并不是你可以简单规定的东西。当团队成员一起进行头脑风暴的时候,就会加强大家对事情的优先级进行排序的重要性的意识,进而就会提醒老员工和新员工该如何才能更高效的进行合作。
信任和认同感会创造最佳速度
有机自组织会让来自公司各个部门的同事有机会一起协作并建立起良好的关系。随着这些跨职能团队协作合作的不断深入,人们渐渐会互联了解并建立友谊,并加深对公司不同的团队和职能所承担的任务的认识和了解。如果团队成员彼此之间互不认识,其效率往往比不上一个成员之间彼此相互信任和认同的团队。
在编程马拉松之前,一个前端工程师也许会认为“哎,尝试跟系统操作员一起做一个项目是一件很痛苦的事。”但在编程马拉松之后,他更可能这样说“看来我要找找系统操作员Rachel才行,商讨下我们该如何快速的搞定这个问题。”在编程马拉松这个过程中可以让成员之间建立良好关系,在下次遇到困难的时候,成员会更容易协同合作,因为人往往会对一起共事的同事有一种互相连系的感觉,并且他们会对这种关系产生一种信任依赖。
同担风险,携手共赢
对于愿意承担风险的人来讲,他们往往也愿意承担失败。编程马拉松可以说是失败的孵化器和加速器。通过将失败正常化,我们鼓励大家要勇于承受风险。编程马拉松会帮助你教会你的团队清楚地认识到失败其实是一件好事,它是创新的另一种表现形式。毕竟,你需要通过成百上千“坏”的想法的探索才能获得好的创意。
当人们为充满激情的事情工作的时候,他们往往会敢于提出新的创意,在新的领域里冒险。在这些无拘无束的探索中,有可能会催生一些改变整个公司的革命性的创意。但大部分在编程马拉松产生的创意不会催生一个杀手级别的新功能或者有一个新技术的突破,因为编程马拉松的主要作用是支持那些敢去产生新想法的人,也让人们学会承担失败。而且,当听到那些失败的人经常发出的不属于气馁的叹息时,这意味着你又会少走一些弯路,同时也证明你的团队培养出了一些不惧怕失败的公司文化。
代码胜于雄辩
在我们生活中,争吵往往是由声音最大或者死不认输的那些人获胜。幸运的是,在一个编码公司,没有什么比代码更具说服力了。编程马拉松让大家在一起将想法变成现实。编程马拉松可以督促人们去把假设的想法实践,验证这个想法是否具有可行性。
编程马拉松是一场扁平的、临时的以及人员流动性大的一场活动比赛,通过它大家可以共建一个可靠的环境和公司文化,然后排除万难去把想法实现。以Facebook为例,开始的时候有一大堆质疑的声音,也有很多人反对Facebook在线聊天这个功能,不过从今天来看,Facebook这个功能似乎已经成为人们日常生活中不可缺少的一部分。
兼容娱乐性和好奇心
并不是每个想法都必须或是说应该集中在巨大的改变上。事实上,正因为总是过于强调高强度的重大改变,人们往往会忽略那些显而易见的创意想法。给大家营造一个良好的环境,让他们一起围绕想法进行头脑风暴,没准会唤醒我们早已缺失的好奇心。
现在我已经离开Facebook,在Uber任职。在Uber这段时间我们已经组织过两次“正式的”和无数次“非正式”的编程马拉松,以及大量的“工作假期日”。
在Facebook我们举行编程马拉松来让Facebook和整个世界连接在一起,而现在在Uber,我们通过编程马拉松来“驾驭”整个世界。
微信搜索“IT之家”关注抢6s大礼!下载IT之家客户端(戳这里)也可参与评论抽楼层大奖!