无我编程:你的工作不代表你

来源:互联网 发布:淘宝店铺装修费用 编辑:程序博客网 时间:2024/05/10 01:51

原文作者:Jeff Atwood

Johanna Rothman是这么描述“无我编程”这个概念的:

25年前,Gerald M. Weinberg写了《程序开发心理学》。我在1977年发现了这本书,然后做了一个决定:放弃在电台做DJ的工作,打算做一个无我的软件工程师。

“无我编程”发生在开发阶段,表现为技术团队经常通过同级评审的方式来发现软件中的缺陷。目的是让所有人(包括作者)都参与寻找缺陷,而不是证明软件产品里没有缺陷。人们会交换各自手上的代码,相互进行评审,并且大家都有这样的共识:代码的原始作者会犯错误,而作为评审者,他们会找出这些错误。最后的结果是,每个人都从自己的错误以及别人的错误里有所长进。这就是“无我编程”的由来。不管我的工作做得“完美”还是“有欠缺”,“我”本人并不对正在开发中的产品负责。“我”的价值体现在尽心尽职,以及从错误中学习而付出的努力,而不是我的工作的最初成果。

把自我价值观从本职工作中分离出来是很重要的!


这让我想起了电影《搏击俱乐部》(Fight Club)里的几句台词:

你的工作不代表你。你的价值不在于你银行里有多少钱,也不在于你穿什么鞋,或者你钱包里的任何证件。

如果你的工作不代表你,接受别人对你工作的批评就要容易得多了!

遗憾的是,对工作不敬业的人在这个世界上随处可见。而对于我们这些热爱编程、并且已经成为行家里手的人来说,我们有走向另一个极端的趋势——我们太在乎了

在程序开发的早期岁月里,程序被认为是程序员的私有财产。一个人不会去读他的同事的程序,就像他不会在未经许可的情况下去读别人的情书。从本质上来说,程序就是程序员写给机器的情书,里面充满了只有当事人才知道的私密信息。于是,程序里充斥着宠物的名字,还有情人之间的昵称——他们活在幸福的二人世界里,眼里只有对方。这种程序对于局外人来说,简直不知所云。

那是《代码大全》里我最喜欢的论述之一。这得归功于Michael Marcotty。

6 0