• 2008-01-03

    与高手共事

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/dreamhead-logs/13258146.html

    大多数人都愿意与高手共事,因为他们指望着从高手身上可以学到很多东西。在ThoughtWorks,因为要pair,所以,我们可以有更多的机会与高手近距离一起工作。

    如果真的有机会和高手一起工作,有时,你会发现,从具体做的事来说,这些高手做的事并不像想象的那么高深,甚至可以说很简单,简单到换了谁都能做。于是,心中的高手形象逐渐开始动摇,难道令N多人景仰的高手就是这个样子。

    不知道你有没有想过这样一个问题,同样的事,如果没有高手的参与,换你来做,结果会怎样呢?

    老大给我讲了一个他当年和Ward Cunningham在一起工作的故事。每天做的工作就是日常的测试驱动开发,写测试、写代码,所有的一切都是异常简单,下午从不会耽误喝咖啡的时间,到点也就正常下班。一个月后,要做的事情做完了,没有觉得有什么特别之处。不过,回想了一个月前对于这个项目的看法,老大突然发现,这一个月里原来做了许多事情:一个月前,他还觉得这是一项不可能完成的工作。

    我最近的一个项目里,和我一起工作的是有我们中国区的CTO。这个项目的前期是一个类似于可行性论证的工作,项目最初,他为整个项目的结构订下了一个基调,让整个项目的结构显得特别清晰,准确的说,应该是很简单,简单到让人觉得理所当然。单从工作的具体内容来看,他并没有在这个项目里面做太多的事情,但从另外一个层面来说,正是他做的前期所做的工作,让后面的工作变得容易了许多。

    这么一说,是不是有一种高手形象顿失的感觉。其实,高手通常不会觉得自己是高手。多年积累下的,只是良好的工作习惯而已。他们知道,自己是普通人,自己不能应付过于复杂的东西,于是,把自己要做的事分解成一些非常简单的小事。只要把这些微不足道的小事做好了,所谓的大事便也做成了。

    我很喜欢读的书中,有几本书出自贝尔实验室,比如《程序设计实践》、《Unix编程环境》、《C程序设计语言》等等,每一本都是那么轻薄。这些书里面的内容读起来都是那么轻松,每一步做的事都让人觉得太过简单,但回过头来,可能你才发现,原来一些貌似很复杂的工作已经完成了。

    曾有一段时间,我一直觉得自己掌握的东西不够复杂,为此,我总是惴惴不安。后来发现,但凡我学过的东西本质上都很简单,于是我想,到底怎么才能让自己复杂起来。读过那几本书之后,我释然了:做事本就该是做简单的事。如果你觉得复杂,多半是走错了路。

    与高手共事,技术之外的东西,也许更值得学习。
    分享到:
    引用地址:

    评论

  • 说的太好了,请允许我转载
  • 确实,现在发现真正的高手,不是写程序的高手,而是能将一个很难的事情做简单
  • 水平的差异大概就在于解决问题的思路吧,顶
  • 对高手的如此释义,让人感觉到高手的可亲可敬和触手可及。
  • hi,很高兴能看到这样好的文章了。让我看到了一个高手的成长了。呵呵
    冒昧问一个问题,请问可以把你开发中常用的快捷键说一下吗?谢谢
  • “简单到让人觉得理所当然”--- 能达到这个程度的确是真高手。
  • nod
    对我来说,高手就是能够庖丁解牛,看到貌视复杂问题的本质,以最少的努力来解决问题;代码也是这样,洗净铅华方显本真,不要引入不必要的复杂度,干净的代码就像诗一样流畅。大道至简啊,呵呵
  • 嗯,高手就是把复杂的事情变简单,菜鸟就是把简单的事情变复杂。就像Kent Back在TDD中演示的两个例子,看上去很简单,其实是Back的智慧把事情变得简单了,TDD也就是把复杂的事情分解成一系列简单的事情。Agile也是通过尽力发挥人的主观能动性,用最简单的沟通和交流方式(非大量文档),提升开发的效率。

    羡慕梦想风暴有很高手共事的机会。。。

    最后说一句,新年快乐!好像很久没有看到梦想风暴和yawl到ruby-lang.org.cn那里讲XRuby。不知道对于Ruby1.9的发布,XRuby的开发会不会有什么应对?