成为一个喜鹊程序员
英文原文:The Magpie Developer
我时常在想,软件开发人员在某些方面和喜鹊——一种臭名昭著地喜欢偷发亮的物品来装饰它们巢穴的鸟类非常类似。像喜鹊,从定义上说明软件开发人员是一种异常聪明,又有好奇心的动物。但是,我们非常非常容易因为闪亮的新玩具而分心。
我一点也不觉得阅读类似 Scott Hanselman 的《Ultimate Developer Tool list》鼓舞人心。相反,它令人疲劳。软件世界前进的改革步伐是无情的。我们的周围充斥着各种所谓闪亮和新的东西,其概念本身开始瓦解,一遍一遍又一遍地重复这些陈词滥调,直到它们成为无意义的名词。“闪亮”和“新颖”最终成为平凡,甚至是司空见惯。于是,新颖不再唯一,闪亮也不再有趣。最终,你会厌倦于无休止地追逐闪亮的新事物。
并不只有我这样认为。Jeremy Zawodny 也注意到正在减少光泽的闪亮新事物:
在一年前,我退订了 Steve 的博客,因为他习惯于写那些令人窒息的时尚玩意儿,喜欢写最新最闪亮的东西——常常一天几次。我看到过太多的人,只是为了跟上这种拍马莫及的炒作速度,而忘记去考虑这些闪亮的最新事物是否真的能对实现宏伟蓝图有所帮助。
Dave Slusher 表示同意:
[Robert Scoble]说过,大家发给他的电子邮件太多了,而这些都是无效的公共关系。他建议我们将消息写在他的 Facebook 墙上。那个时候我已经关注了 Scoble 的 Facebook,所以我肯定这样的话他说过多次。能 Twitter,不要 email。能 Jaiku,不要 Twitter。留言,发信息,打电话,发邮件,再到不要发邮件,不要打电话。够了!我没有试过与他取得联系,我只是觉得这只一贯的喜鹊,从这个平台讲到那个平台,讲的都是垃圾,让我觉得厌烦不已。一年多前我之所以放弃 TechCrunch,也是因为相同的感觉。我已经厌倦于那些所谓的另辟蹊径——略为不同于当前的做事方式,以及不认可这种微小的改变值得我们颠覆性地抛弃一切来拥有。我正式宣布放弃追逐更新、更闪亮的事物。
这不仅仅是因为科技新闻是无穷无尽的。也是软件宗教战争潮涨潮落的必然,但是这场战争不断地让我们失望,就像偏离正路的岩石跑到了一条快速流淌的溪流。我敢打赌,David Megginson 概括的这个过程听上去非常熟悉:
1. 精英(大师级)开发人员发现有太多平庸的人正在使用其当前的编程语言,于是开始寻找一些能够更好地将他们区别于那些庸庸碌碌同事的编程语言。
2. 精英开发人员不愿走寻常路,于是想要寻找新的、鲜为人知、使用者甚少的语言。
3. 精英的开发人员推动了新语言的发展,他们贡献了代码,编写了多种库等,然后传播新语言。亚精英(高级)开发人员跟随精英开发人员的脚步,也来学习新语言,开辟了书籍、培训等的市场,同时也加速了语言的开发和测试。
4. 亚精英开发人员,往往拥有巨大的影响力(因为精英开发人员往往是孤胆英雄,趋向于独立地工作于研究项目,而不是窝在生产开发团队里),他们会推动新语言在工作场所的发展。
5. 注重定期学习的庞大的开发人员群体然后认为,他们必须购买书籍、参加课程以便于学习一门新的语言。
6. 于是回到开头,精英开发人员发现有太多平庸的人正在使用其当前的编程语言,于是开始寻找其他能够更好地将他们区别于那些庸庸碌碌同事的编程语言。
现在,请你坐好,因为接下来我要告诉你一些坏消息。你对 Ruby on Rails 感兴趣?那是去年的风向标,我们现在已经朝别的方向行进了。
如果你认为,从统计的角度来说,绝大多数的程序员还没有体验过任何形式的动态语言——更不用说 Ruby——那就太荒谬可笑了。一些动态语言功能已经渗透到了 Java 和 .NET 的堡垒,并逐渐取得了不同程度的成功。这些所谓的思想领袖会在任何人有机会到达之前,离开这座虚拟的废弃城镇。
我之所以成为一名程序员,是因为我爱电脑,要热爱电脑,你必须热衷于改变。我正是如此。但我认为喜鹊开发人员有时改变自己的手艺反而是一种损害。Andy Hunt 和 Dave Thomas 的看法是,Pragmatic Programmers(实用型程序员)是 Ruby 中最后一波改变的重要组成部分,这在一份 2004 年的 IEEE column 中说得非常详细(pdf)。
用户不关心你使用的是 J2EE,COBOL,还是其他。他们只希望你能提供他们想要的功能。所以,你需要帮助他们发现他们真正需要的是什么,然后一起想象系统是什么样的。
与其得意忘形或盲目地去。追逐技术的前沿,还不如专注于[用 COBOL]为自己或客户建立一个有效的系统。不但易于使用,还易于理解和快速部署。框架使用多种技术的混合:用于建模的技术,用于代码生成的技术,还有一些可重用的组件,等等。我们工作最根本的是务实原则,目的是为了有效完成工作,而不能仅仅是因为新颖或时髦就被迷得神魂颠倒。
当我们试图使用全能型应用程序框架来终结其他所有应用程序框架的时候,我们(作为一个行业)就会一败涂地。
不要觉得不够,如果不能用最闪亮,最新的东西装饰你的窝。只要有效,并且能满足你和你的用户,那么谁会在乎你使用的是什么技术?
新事物是美的,它有着一种犹抱琵琶半遮面的神秘感。不要在不知不觉中让追求新的、闪亮的东西成为你的目标。不要成为喜鹊开发人员。有选择性地追求闪亮和新颖的东西,有助于你成为一个更好的开发人员。
-