《高效能程序员的修炼》一磨刀不误砍柴工

简介:

本节书摘来异步社区《高效能程序员的修炼》一书中的第2章,作者: 【美】Jeff Atwood 译者: 陆其明 , 张健 责编: 陈冀康, 更多章节内容可以访问云栖社区“异步社区”公众号查看。

磨刀不误砍柴工

高效能程序员的修炼
作为一名软件开发人员,你该如何磨快你的锯子?


7

“磨锯子”实际上是一个代名词,泛指一切编程以外的活动(不必编写代码),而这些活动(从理论上来说)能使你成为一名更出色的程序员。这个词源自于Covey的一本书:《高效能人士的7个习惯》(《The 7 Habits of Highly Effective People》)。1

有个人在山间漫步,偶遇一位伐木工。他便停下来观察这位伐木工,看他热火朝天地锯一棵很大的树。他发现这位伐木工干得大汗淋漓,不停地锯来锯去,但是没有丝毫进展。这个过路人注意到伐木工所使用的锯子已经和黄油刀一样钝了。于是,他就对伐木工说:“不好意思,伐木工先生,我看着你已经很使劲地在锯那棵树了,但为什么进展不大呀?”伐木工回答道:“是呀……我也知道。不过,看起来这棵树不好对付啊!”此时,汗正从他的眉毛间滴落下来。过路人于是提醒道:“伐木工先生,这不是树的问题,是你的锯子太钝了。这么钝的锯子什么东西也锯不断的!”“我知道。”伐木工回答,“但是,我连锯树都忙不过来,哪有时间磨锯子啊!”

大家都知道,如果想要在某方面有所提高,最好的办法就是勤加练习。但是,如果你只顾着埋头写代码,连讨论、反思或者学习的时间都没有,将得不到真正的进步。你必须在磨炼工艺与思考如何提高工艺之间找到一个适当的平衡点。

我们应该鼓励开发团队里的每个成员都先去磨快他们的锯子。正所谓磨刀不误砍柴工。在这方面,Scott Hanselman有一些很不错的建议。其实还有个更简单的方法,就是你此刻正在做的事情:阅读编程相关的博客或书籍。如果你有一个开放的心态,你可以用这种方法来磨快你的锯子,正如Reginald Braithwaite所述:

我们通常是这样做的:每当读起一篇博文,我们会把我们认同的内容一点一点读下去,而只要有一个论点不符合我们自己的世界观,我们就会很较真。如果整篇文章的主题都跟我们的成见相左,我们就会大骂作者是个白痴。老实说,如果让我们去做销售,结果会一塌糊涂,因为我们一碰到不认同我们的人就会匆匆放弃。

我建议我们要向销售人员学习。当我们在读一篇帖子,或者一本书,或者学习一门新的语言时,我们应该假定它的某些部分(甚至绝大部分)并不新颖。让我们假设我们肯定会讨厌它的某些部分。与此同时,我们也要从自身利益出发去考虑:如果我们能从中找到哪怕只有一点对我们有用的东西(它能让我们变成更好的程序员),我们就已经赚了。

这就是我们对一篇博文应有的期待。明白这一点很重要!如果一篇帖子中能有一样有价值的东西,我们就赚大了。其实我们不该这么贪心—只要我们在读了100篇帖子后能学到一样有价值的新东西,我们就已经赚大了。

如果你正在寻找优秀的编程博客来磨快你的锯子(或者至少能激发你的潜力和兴趣),我可以向你推荐两个很棒的专门针对编程的链接聚合网站,相信它们一定可以帮助你。

一个是Hacker News(http://news.ycombinator.com)。我强烈推荐这个网站。


6

Hacker News是Paul Graham2想出来的,所以这个网站多多少少反映了他在Y Combinator的投资兴趣,以及他对诸如创业公司、企业事务之类的关注。Paul对网站内容的审阅是非常认真的,因此除了那个很有代表性的摇滚(Diggy-style)投票机制外,还有一个由他亲自挑选的编辑组成的秘密集团(我喜欢把他们想象成忍者黑帮3,“没有人会承认他们仍然存在!”)他们会删除标记过的帖子。更重要的是,这个网站上关于文章内容的讨论都非常理性,几乎没有任何嘈杂声和骂战。

另外一个是programming reddit(http://www.reddit.com/r/programming)。相比之下,那里的讨论更加杂乱,像狂野的西部,任何事情都变得很敏感,而且它仅靠社区里或顶或踩的投票机制来把关。不过,我们往往能从这个网站发掘出各种各样程序员特别感兴趣的链接。

当然,过多地磨锯子,或者随意地、没有目标地磨锯子,会变成另外一种形式的延误。然而,如果一个程序员对这些完全不感兴趣,那也是一个巨大的危险信号。就像Peter Bregman说的那样,“痴迷可以是一件好事”:

人们成功常常不是因为他们克服了自己的机能障碍,反而是这些障碍成就了他们。痴迷是通向成功的一个最明显的风向标。如果理解了一个人的痴迷,你就会理解他最自然的动机—他会为之坚持走到世界的尽头。

对磨锯子有些痴迷是没有问题的,但前提是,你的痴迷是类似Hackers News的网站上积极地提交和讨论与编程相关的文章。

作为一名程序员,你对如何磨快锯子有更好的建议吗?

相关文章
|
12天前
|
存储 搜索推荐 程序员
SnippetsLab:程序员的秘密武器
SnippetsLab:程序员的秘密武器
21 0
|
2月前
|
开发框架 安全 程序员
程序员的护城河
程序员的护城河
22 0
|
6月前
|
算法 程序员 数据库
程序员的研发效率破局之道
程序员的研发效率破局之道
46 0
|
测试技术
【软件测试基础理论】软件内卷早已存在!(非功能-可移植性)
【软件测试基础理论】软件内卷早已存在!(非功能-可移植性)
|
程序员
程序员达到高效率的一种境界
译文出自:一种境界
579 0
|
测试技术
《软件工艺师:专业、务实、自豪》一2.2 面向技术的敏捷软件开发原则
本节书摘来华章计算机《软件工艺师:专业、务实、自豪》一书中的第2章 ,第2.2节,[英]桑德罗·曼卡索(Sandro Mancuso)著 爱飞翔 译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1190 0

热门文章

最新文章