团队最重要的作用之一,是保证方向上的正确性。相比担心自己的创意被偷走或被人笑话,你更应该担心自己是不是在错误的方向上浪费了大量时间。所谓成功的程序员不仅仅是追逐最新的语言或是编写最快的代码。团队直接影响个人生产力和幸福感的程度超出很多人的想象。
天才令人神往。莱纳斯·托瓦兹靠自己就写出了Linux,理查德·斯托曼在外界看来是个疯子,但他那句“软件的自由,关系到人类的自由”现在正被一点一点证明是对的,更不提连每一个小孩子都知道的比尔·盖茨。
我们都希望自己是天才。极客的终极梦想就是得到一个激动人心的灵感,然后闭关数周甚至数月将它完美地实现出来,最后向全世界发布自己的作品,名动天下。同行们会折服于他的聪明才智,人们会排队来买他的软件,名望和财富更是唾手可得。
但是,在这里,我不得不很现实地告诉你,这种梦想只能叫做幻想,一个了解软件了解极客是做什么的人是不会做这样的白日梦的,因为一个软件的大获成功从来不是一个人的功劳,它需要依靠团队的力量。比如莱纳斯只是写了一个可以工作的类Unix内核的初级版本,然后把它贴到了邮件列表上而已。这是一项并不简单的任务,它当然是一项突破性的成就,但最终让Linux出现在大众视野里的,是几百名绝顶厉害的程序员共同参与开发,莱纳斯真正的成就是领导并且协调他们的工作。
这就是Brian W.Fitzpatrick和Ben Collins-Sussman,两位Google的开发主管的意见。他们为此专门写了一本书叫做《极客与团队》,说说技术团队中的那些事。他们针对极客文化和团队文化主题的演讲直击痛点,大受欢迎。《极客与团队》一书获得Google首席互联网专家、Samba的开发者、Django创始人、Python之父等力荐。
关于梦想当天才,两位作者说得很中肯:“事实上所谓的天才传说只是我们缺乏安全感的一种表象罢了。很多程序员都害怕和别人分享他刚刚开始做的东西,因为这意味着同行会看到他们的错误,从而知道这些代码背后的作者并非天才。”或者是害怕被人剽窃了我的点子,所以闭关苦练成了最自然的反应,没有人看到我犯错,我就有机会一鸣惊人。单打独斗和团队协作哪个好?就比如你是开发手机系统的,有一天你想到了一个绝妙的点子,欣喜若狂,绝对自信这个点子可以让你名垂千古,所以你一直藏在工作室内足不出户。几个月后你成功了,你打开房门大声对外宣布你的点子,但是发现,隔壁同行跟你一样也在发布系统,巧合的是你们的点子还蛮相似的,不同在于对方有一个团队在帮他。区别在哪呢?第一点,团队可以帮助你弄清楚,你做的是不是重复劳动,你的方法有没有问题,要知道,一开始就踏错步的概率总是很高的,越早征求意见和反馈,就越能把风险降低。团队最重要的作用之一,是保证方向上的正确性。相比担心自己的创意被偷走或被人笑话,你更应该担心自己是不是在错误的方向上浪费了大量时间。
这是两位作者称之为程序员的“集体疗法”演讲当中的一小段,这个演讲始于2005年,接下来的六年中,他们俩做了一系列反响热烈的和软件开发过程中人际关系有关的演讲 ,于是有人提议,应该让跟多的人听到这些优质建议,于是就有了《极客和团队》这本书。
翻翻这本书的目录,会以为这是任何一本讲项目管理之类的书籍都会提到的内容,比如领袖的处世之道啊,如何操作组织,要坚持等等的话题,但为何就这本书能获得如此高的口碑?有两个原因。首先是它的写作方式,这本书就是一个论文集,它涉及到的论点问题答案讨论都散布在各个章节之中,没有非常强烈的逻辑将它们贯穿,读者需要以自己的脑力将它们联系起来,还需要思索很久才可能融会贯通。这比直接告诉你答案更有帮助。其次,书里讲的都是课本里学不到的内容,软件工程师花费几年时间在学校里学习的计算机科学和软件工程的知识,这不是这本书提供的内容(要学那些东西去学校吧)。作者们要讲的是一个程序员怎么在团队和公司里与人合作交流。“一个人怎么好好地和另一个人协作与把他直接丢到一个迫使他协作的环境里完全是两码事,绝大多数学生最后都不怎么喜欢这种经验。”“所谓成功的程序员不仅仅是追逐最新的语言或是编写最快的代码。职业程序员几乎都是要参与团队合作的,而且事实上团队直接影响个人生产力和幸福感的程度超出很多人的想象。”
这才是作者们用心良苦所做的事,让那些真正喜爱程序员这份职业,并认为它理所应当是一件好玩的有成就感的事情的人,更巧妙的得到自己想要的,让极客们知道,怎样才能事半功倍。
《极客与团队:软件工程师的团队生存秘笈》,[美]菲茨帕特里克,[美]萨斯曼著,徐旭铭译,人民邮电出版社2013年3月,29.00元