程序员图鉴:房间里的大象-- Apache基金会副总裁几十年的观察

《房间里的大象》是Apache软件基金会副总裁Niclas Hedhman在2016中国开源年会上做的演讲。

完整的可以看原文,角度犀利,和有缘人分享一下。


我们可以以以下方式对我们的行业的程序员进行分类,天才,良好,一般,差和糟糕。

让我们看看每一个的特点。

天才程序员写的代码库很简单,可重复使用,且功能强大。

他们坚持不懈,持续发展,对代码库进行小而有规律的改进,添加新的功能。

他们写了足够多的相关测试。他们往往很谦虚,知识渊博。

他们也不完美,经常要从头开始重写整个库。但他们能写出更好的代码,而不破坏兼容性。

良好开发人员写代码库比较复杂。

通常他们留下了很多未完成的地方。因为他们不会在一个库工作很长时间,很快他们就会开始做另一件新人兴奋的事情了。

他们写的代码库很快变得陈旧,没有人知道如何操作它,而测试它则需要写太多的代码。

良好开发人员对自己和自己的工作感到自豪,但是他们的代码不能重写,因为这些代码写得没那么好,缺乏测试机制。

一般的程序员通常是大公司的维护软件的大神。

他们不计一切代价解决错误,砍掉新功能。如果测试中断,他们只需禁用测试,因为交付代码的时间到了。

他们也不喜欢与那些良好的开发人员工作,因为这些人会留下存在依赖关系的抽象概念和代码库。

这些东西用起来很不方便,而且有很多错误,还没有文件记录。

较差的程序员不关心任何东西。他们只会工作,写代码,回家,然后重复这一过程。

他们永远不会学习,他们不听取别人意见。即使告诉他什么是好的代码,什么事糟糕的代码,他们也不能分辨出来。

他们不应该成为程序员,一般也不会一直做程序员。

糟糕的程序员没有比较差的程序员那么糟糕,因为他们和他们周围的人都知道意识到他们没有经验的,代码写的不是很好。所以他们想学习,渴望成为更好的程序员。他们也往往会过渡成为良好的程序员,但有的也会变成比较差的程序员。糟糕是一个短暂的阶段,没有什么可以担心的。

这给我们带来了下一个神话。

如果我们问程序员,他们属于哪一类。

如果他们没看过这些类别的定义,那么我们将得到这样一个结果,60%的程序员认为自己是属于天才和良好类,只有30%左右的人认为他们是一般的程序员。

但依我的经验,统计数字应该是这样的。

极少数的是天才程序员,有一小部分的良好的程序员,大量的程序员属于一般、较差的程序员。好好思考一下吧。

所以,当天才程序员向我们展示其简单而卓越的杰作,有着漂亮的设计,简洁的抽象,简单易用……

我们就认为“我可以做到”。

在希腊语中,Primus Inter Paris意思是第一名也是平凡人。

这种观点认为真正优秀的人仍然只是我们中的一员,没有什么不同,我们都可以做到。

当我们看到别人写的漂亮代码,觉得很稀松平常。

但我们这些普通人太愚蠢了,看不到自身的局限性。我们知道最漂亮的代码长什么样,知道这是如何使用,但这并不意味着我们可以自己写出这种代码。

虚幻的优越感和达克效应分支理论告诉我们,我们太愚蠢了,却不知道我们是多么愚蠢。

我们对自己的能力有信心,写了那些在正常情况下几乎不能运行的复杂软件,这些软件即使在特殊情况下也无法运行。

我太愚蠢了,我写不出好代码。

所有人,现在,说出来……

这就是房间里的大象。

猜你喜欢

转载自blog.csdn.net/sinat_39416814/article/details/99450474