《程序员的修炼——从优秀到卓越》一一1.10 十年磨一剑

1.10 十年磨一剑

程序员的修炼——从优秀到卓越
Gmail的原开发主管Paul Buchheit曾经说过,Gmail的成功是一个漫长的过程。

Gmail的开发始于2001年8月,在此之后的很长一段时间里,几乎所有人都不喜欢它。有一些人因为它的搜索功能而使用它,但他们也带来了无穷无尽的抱怨。甚至有相当一部分人认为我们应该终止这个项目,或者按照一个企业级的产品重做这个项目——它应该有一个本地的客户端程序,而不是这个异想天开用JavaScript做出来的东西。即使等到两年半之后的2004年4月1日,在这个产品发布之时,公司里的很多内部员工依旧对这个产品不看好。他们觉得这个产品太古怪了,没有人会愿意为之更换邮件服务。还有人告诉我,Gmail的用户数绝不会超过100万。

但是自我们发布产品之后,除了那些因为各种原因而讨厌它的人,总体反响出乎意料得好。然而,Gmail还是被打上了“小众产品”、“硅谷以外无人会用”的标签。

现如今,Gmail已经持续发展了7年半。我看到一篇文章介绍说,去年Gmail的增长率是40%,而相比之下,Yahoo只有2%,Hotmail还降低了7%。

如今,Paul已经离开了谷歌,并且创办了名为FriendFeed1的公司。很多业内人士并不看好FriendFeed。Stowe Boyd甚至认为FriendFeed就是个失败。不过,Paul对于这些负面看法显得很淡定。

通常来说,创造一个伟大的新产品是需要时间的。FriendFeed就像6年前的Gmail一样,需要持续的改进和提高。FriendFeed承诺了很多的功能,但是目前还处于开发状态。

我认为,但凡卓越的成功都需要多年的努力。能够例外的并不多见(除了YouTube,但它其实还没有创造出巨大的财富)。Facebook成长得很快,但它至今也已经过了差不多5年的发展历程。Larry和Sergey是在1996年创办谷歌的,而我在1999年加入这家公司的时候,几乎没人听说过它。

一夜成名的传说容易让人误入歧途,并且遗毒不浅。如果你打算做一个全新的东西,要有打持久战的准备。但是,这不能成为你行动迟缓的借口。恰恰相反,你应该雷厉风行,否则你永远也无法达到目标,因为前面还有很长的路要走。这也是为什么要强调节俭的原因,你应该不希望自己在登顶之前就在半路上饿死吧?

Stowe Boyd用了一张Twitter和FriendFeed对比图,阐述了他对于FriendFeed的观点。在这里,请允许我把Stack Overflow的数据也加到这张图上。

我觉得Paul的观点是振奋人心的,因为我对自己的创业公司Stack Overflow也持同样的态度。我并不指望一夜成名,甚至想都没想过。我的计划是,要花上几年的功夫去磨练,坚持不懈,以求稳步提升。

这个商业计划和我个人的职业生涯发展计划基本一致:成功需要付出多年的努力。这里的“多年”并不是我随口一说,也不像有些人鼓吹的那样“要更巧妙地工作,而不是更努力地工作”。我指的是真真正正的时间——这里的一年就是12个月,就是365天。你必须踏踏实实地在这件事上花费几年的时间去磨练,每天一醒来就开始工作,日复一日地坚持,不断地获取反馈,每一天都比过去做得更好。即使你偶尔会不开心,甚至失去了乐趣,但这些都是为了获取成功所必需的。

这是一个听上去很普通或者说一点都不有趣的建议。Peter Norvig在他的经典文章“Teach Yourself Programming in Ten Years”(花10年时间自学编程)中也曾谈到过这个话题,而且讲得比我好多了。

研究人员指出:在许多领域(诸如棋类、音乐创作、电报、绘画、钢琴、游泳、网球以及神经心理学和拓扑学的研究),想要达到专业水平都需要大约10年的时间。关键是要勤于练习:不是一遍又一遍的简单重复,而要不断地挑战略微超出自身能力之外的任务——努力尝试,并在做的同时以及之后对自己的表现进行评估,然后纠正错误。如此反复。

这看起来并没有什么捷径:即使像莫扎特这样的奇才,他4岁的时候就已在音乐方面崭露头角,但也花费了超过13年的时间才开始创作出世界级的音乐。披头士乐队貌似在一夜之间获得了很多“第一”,并且在1964年的“埃德·沙利文秀” 2上一举成名,但他们其实从1957年开始就在利物浦和汉堡的小酒吧里演奏了。在他们早期成名之后,他们最最成功的唱片《Sgt. Peppers》也是在1967年才发布的。

老实说,我希望在2~3年之后依然做着和现在一样的事情:为Stack Overflow编写代码,努力地做着一个细微的改进或者一个有用的新功能。我们当然想要成功。但是在一定程度上说,因为过程本身充满了愉悦,最后成不成功其实就无关紧要了。尽管我们还有很多的事情要做,但是能够每天做自己喜欢做的事情,甚至身边还围绕着一群志趣相投的人,这本身已经是很好的奖赏了。

写博客也一样。对于那些有抱负的博主们,我常常给他们这样一条重要建议:如果你新开了一个博客,在6个月之内别指望有人会去读它;如果你有那样的期望,我敢保证你会非常失望的。但是,如果你能够坚持一整年,并且每周能够发布1~2篇高质量的博文,到那时候,也只有到那时候,你才可以寄希望于收获很小量的读者群。我是在2004年创办CodingHorror.com这个博客的。我花了整整3年的时间,每周都写3~5篇博文,才使其成为了软件开发社区中较为流行的一个博客。

我渴望能一直在这个博客上以这样或者那样的形式写文章。这已是我生命的一部分。至于那点戏剧性的成就,我不抱有任何幻想。本质上来说,我也就是下图中“那个在互联网上写了那篇博客的人”。

我觉得这也没关系啊!我从来没说过自己是一个聪明人。

无论你这周获得了多少读者,或者页面访问量,乃至于某方面排名很高的指标,请记住,你正在做的事情是真正值得去做的。

如果你一直这样坚持下去,谁知道会发生什么呢?或许会在某天醒来的时候突然发现,你已经一夜成名了。

时间: 2024-10-24 19:01:23

《程序员的修炼——从优秀到卓越》一一1.10 十年磨一剑的相关文章

《程序员的修炼——从优秀到卓越》一一1.8 管理中要有信任

1.8 管理中要有信任 程序员的修炼--从优秀到卓越 Marco Dorantes在2005年的一篇博文中提到了另外一篇极好的文章,名为"Why Big Software Projects Fail"(为什么大型软件项目会失败).这篇文章的作者是Watts Humphrey,他曾经参与过IBM OS/360项目.在文章的一开始,Watts即对自2001年以来软件项目完成情况的数据作出了分析. 上图展示了按照项目的规模统计的Standish1数据.当以这种方式查看的时候,我们会发现:一半

《程序员的修炼——从优秀到卓越》一一1.7 行百里者半九十

1.7 行百里者半九十 程序员的修炼--从优秀到卓越 尽管我喜欢阅读编程类图书,但是我发现,软件项目管理方面的书是最令人厌烦的一类.我觉得,这可能意味着我不适合做项目经理.然而,我在Stack Overflow扮演的恰恰就是这个角色. 我并不是说软件项目管理方面的所有图书都"狗屎不如",但它们中的大多数就是这样.一些我认为很值得读一读的书中,有一本叫<门后的秘密:卓越管理的故事>,它是由Johanna Rothman和Esther Derby合著的. 读过这本书之后,你一定

《程序员的修炼——从优秀到卓越》一一1.3 你没有说服我

1.3 你没有说服我 程序员的修炼--从优秀到卓越 最近,电影<末代独裁>1里的一个场景成为我的最爱,让我久久不能忘怀.这是一部关于Idi Amin2的传记电影,它从一名虚构的苏格兰医生的视角,生动再现了Idi Amin这位妄自尊大的独裁者. Idi Amin:"我想要你告诉我应该做什么!" Nicholas Garrigan:"你想要我告诉你应该做什么?" Idi Amin:"是的,你是我的顾问.你是这里我唯一信得过的人.你本该一开始就告诉我

《程序员的修炼——从优秀到卓越》一一1.2 今天上班可以放羊

1.2 今天上班可以放羊 程序员的修炼--从优秀到卓越 如果你受雇于谷歌,那你只须拿80%的时间用在本职工作上.而另外20%的时间,你可以用来做任何想做的事情,前提是,你所做的事会以某种方式帮助谷歌进步.至少理论上是这样的. 到目前为止,谷歌的20%时间政策在软件开发行业里已经很出名了.不过,大家有所不知的是,如果追溯回去,这个概念其实早在1948年就由3M公司1提出了. 1974年,3M公司的一名科学家Art Fry提出了一个巧妙的发明.他认为,如果能把黏胶涂在一张纸片的背面(其实他的同事Sp

《程序员的修炼——从优秀到卓越》一一1.1 待办事项不靠谱

1.1 待办事项不靠谱 程序员的修炼--从优秀到卓越 除了看这本书,今天你还打算做些什么呢? 你注意到了吗?在众多类似LifeHacker.com1这样的效率工具网站上,你可以发现大量压得人喘不过气的有关"又有一个新的To-Do(待办事项)软件了"的消息.你可以在各个平台上找到大量的类似软件.现在你大概开始觉得这件事情有点可笑了,按照Life Hacker的规律(每24小时就会有一个新的To-Do软件发布),你大概需要一个To-Do软件来跟踪所有的这些To-Do软件. 在生活中,我不断

《程序员的修炼——从优秀到卓越》一一1.4 真正失败的项目

1.4 真正失败的项目 程序员的修炼--从优秀到卓越 你还记得Microsoft Bob1吗?如果你还记得的话,你一定还可以回想起当时那个广告铺天盖地的场景,但是之后却以可笑的失败收场.有些人甚至把它称作为微软的最大败笔. Microsoft Bob毫无疑问是一场灾难.但是,失败最有趣的地方就是:失败是成功之母.一位在Microsoft Bob项目中工作过的人叙述了下面这段经历. **在Bob这个项目呼声很高的时候,我曾经给比尔·盖茨写过一封邮件,告诉他我觉得这个项目可能会面临前所未有的抵制.一

《程序员的修炼——从优秀到卓越》一一1.9 博伊德迭代法则

1.9 博伊德迭代法则 程序员的修炼--从优秀到卓越Scott Stanfield曾经转发给我一篇Roger Session的文章,题为"A Better Path to Enterprise Architectures"(通向企业架构更好的一条路).尽管文章的标题带了"企业"这个很泛滥的词,但出乎我的意料,这篇文章写得挺好! 我特别喜欢Roger在文中独辟蹊径,使用一组类比来阐明了软件开发中迭代和递归方法的区别.他首先展示了Colonel John Boyd对于2

《程序员的修炼——从优秀到卓越》导读

译者简介 程序员的修炼--从优秀到卓越陆其明,2000年毕业于南京大学.自2004年起,连任4届微软MVP(最有价值专家).现居上海,任北京爱奇艺科技有限公司PPS上海公司研发总监.辛勤耕耘十余载,在技术研发.团队建设.流程控制.项目管理等方面积累了丰富的经验.己经出版的著作有<DirectShow开发指南>.<DirectShow实务精选>.<Windows Media编程导向>.<脚本驱动的应用软件开发方法与实践>,译作有<代码之道>.<

《程序员的修炼——从优秀到卓越》一一1.5 激情造就天才

1.5 激情造就天才 程序员的修炼--从优秀到卓越Jack Black在<摇滚学校>1的花絮中有下面一段采访. 我以前弹的都是木吉他.现在换成了电吉他,我必须要学一下.眼下弹电吉他的水平还不是很好.事实上,我木吉他弹得也不是特别好,但我会用我的热情来弥补. 除非你亲耳听到(看到会更好)Jack Black的乐队Tenacious D的演奏,否则你是无法相信这个究竟有多么真实的.从音乐的角度来讲,弹奏其实并不完美,但是他们成功地通过音乐带给人们愉悦,通常还附带些幽默. 我是在看Creating