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

简介:

本节书摘来自异步社区出版社《程序员的修炼——从优秀到卓越》一书中的第1章,第1.10节,作者:【美】Jeff Atwood,更多章节内容可以访问云栖社区“异步社区”公众号查看。

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的数据也加到这张图上。
image

我觉得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篇博文,才使其成为了软件开发社区中较为流行的一个博客。

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

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

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

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

相关文章
|
6月前
|
算法 程序员 数据库
程序员的研发效率破局之道
程序员的研发效率破局之道
44 0
|
人工智能 Kubernetes 数据可视化
专注低代码 17 年,Mendix 公司如何在“争议”中继续前行 | 卓越技术团队访谈录
“任何平台只要是图灵完备的、逻辑自洽的,并且可以做到从无代码、低代码、全代码三种开发方式无缝衔接的都不能把它称为毒瘤。”Mendix 公司中国研发中心上海团队的技术负责人周勇说道。
228 0
|
JavaScript Java 程序员
SAP成都研究院马洪波:提升学习力,增强竞争力,收获一生乐趣
SAP成都研究院马洪波:提升学习力,增强竞争力,收获一生乐趣
107 0
|
Java 程序员 测试技术
程序员的修炼-从优秀到卓越札记:编程之道2
程序员的修炼-从优秀到卓越札记:编程之道2
112 0
|
机器学习/深度学习 人工智能 算法框架/工具
机器学习应用行业浮躁、产品差?身为工程师的你是否想转行
十几个小时前,一位机器学习工程师在 reddit 上发帖求助:ML 领域浮躁、门槛低、产品差,无法专心做东西,该不该换个领域?帖子一经发布,立刻引起了大量讨论。
101 0
机器学习应用行业浮躁、产品差?身为工程师的你是否想转行
|
消息中间件 运维 架构师
架构师成长之路:如何提升技术掌控力?
在很多人眼里,架构师就犹如古代的将军一般,既能运筹帷幄决胜千里,又能独闯敌营取人首级,是所有士兵们崇拜的偶像...好了,其实我只是想说:能成为一名优秀的架构师,确实是所有工程师的梦想。那么,架构师应该具备什么能力呢?
2470 0
架构师成长之路:如何提升技术掌控力?
|
程序员
支付宝程序员眼中的极致代码和卓越程序员是什么样的?
敬畏每一行代码,时刻为之保持思考,支付宝的技术同学们狂奔在追求卓越代码的路上。
635 0
支付宝程序员眼中的极致代码和卓越程序员是什么样的?
|
测试技术 开发者
一款软件从平庸到卓越的六个秘诀
【CSDN专稿】为帮助国内软件从业者摆脱发展瓶颈,推动国内共享软件拓宽发展道路并走出国门,在成功举办“2010中国共享软件出口交流会”活动后,Digital River与CSDN再度合作,于2011年1月22日成功举办“踏上共享软件新掘金路”深圳站活动。
1019 0
|
负载均衡 架构师
我眼中最顶尖的架构师需要具备什么能力?
架构硬实力 这个章节,基本大家都没有什么争议性,必须是硬实力,拿得出手,能解决技术当前面临的挑战,能解决别人解决不了的问题。 从目前大家遇到的挑战来看,从架构设计要求,我稍微做个总结。
1561 0