Ben Evans 在 Java 界是个非常传奇的人物。
他是伦敦 Java User Group 的组织人,也是 Java Community Processing 执行委员会的成员之一,帮助定义Java生态系统中的一些标准。他还是“Java Champion”荣誉得主。他曾与人合著了《Java程序员修炼之道》(The Well-Grounded Java Developer)和《Java权威技术手册(第6版)》(Java in a Nutshell)。
Q:如何运营好一个社区?
B:社区运营是非常非常耗费精力的事情。伦敦 JUG 是全球最大的 JUG 之一,登记在册的会员有五千多个,活跃的会员通常维持在百来个。每次大家聚在一起,都可以聊一些很有意思的话题。我觉得,维持一个健康的社区,是需要有持续的新鲜血液注入的。因为社区组织者都是志愿者,大家都是利用的空闲时间来做这件事儿,所以你就不能期待他们能够持续保持某种高度的投入。生活中有各种各样的事情可能让他们分心,比如结婚、搬迁、换工作等等,当某一组织者投入不如之前的时候,加入新的组织者,保持社区的活跃度就显得尤为重要。
特别收录
在接 Ben Evans 的路上,高博和 Ben 也聊了一路。以下是高博整理的非正式访谈录。
G: 能说说你是怎么加入JUG的吗?
B: 那已经是5年前的事情了,哦,今年是2015对吧,那就是6年了。对,从2009年到现在已经6年了,真的有那么久了吗?我本来是在摩根士丹利银行工作,后来去了德意志银行。德意志银行,很大牌对不对?但是你都难以想像我去了以后接了怎么样的一个大烂摊子,系统难以理喻地乱成一团,很多业务运行在令人匪夷所思的非必要的依赖性上。我费了整整小半年的功夫,用Java重写了一系列的关键业务逻辑,看起来才稍微顺眼那么一点点儿。也正是由于这么点儿小功绩,我当时的老板给了我一笔预算,可以让我去参加一些技术会议,其中就有一个JUG举办的会议。在那次会议上,我认识了一些很有意思的朋友,然后就加入JUG了。
G: 等等,德意志银行的业务系统一团糟?你在开玩笑吧?
B: 我还真不是开玩笑,像摩根士丹利银行这样的以投资为主要业务的银行,一般来说IT系统都做得棒棒哒。可是传统银行这方面就差得很远,因为它们的大多数业务并不依赖于非常高速精确的计算。
G: 说起来也是哦,我有一次为本地的商业银行做咨询,你猜怎么着?它们竟然还在用COBOL语言。
B: 啊,没错,COBOL现在还没有完全被淘汰,而且还不断地推出新的版本呢。而且我现在在工作中也不是只用Java语言,而且往往客户也不全用的是Java语言呢。比如说,今天我就和一个客户工作了一整天,他们的解决方案用的就不是Java语言。其实我从东京的演讲开始就在和这个客户一起工作了,他们遇到的也不是语言层面上的问题,而是架构层面上的问题。
G: 架构问题的确是企业普遍遇到的问题,依你的经验,企业最经常遇到的架构问题有哪些?
B: 我认为企业最经常遇到的架构问题的来源是因为他们没有认识到问题是什么,就开始动手解决它了。你知道的,问题常常存在于提出它们的人的头脑里,而来解决问题的往往是另一批人,这当中是有脱节的。问题只要有一点点不同,选择用来解决它的软件架构就会有很大的区别,而等到人们发现问题,往往已经不好弄了。
G: 如果你来办一家企业,你会采取什么措施来避免这类问题?
B: 嘿,我要干的第一件事就是实行隔周四天工作制!给人们留出足够的时间来思考,让他们动手之前想得更多。之前在摩根士丹利银行,就曾经实行过这个制度,这个竞争优势可是金钱买不来的。你想啊,你能和老板说,我隔一周有一天不上班,你工资少发我一点吧。这根本不可能!只有形成一个制度才能实现。
G: 这听起来好诱人,我觉得你真的可以哎,我要给你投简历了。
B: 其实我也创过业来着,哎过程就不提了,总之现在我这样上上班挺好的。写写代码,讲讲课,我喜欢现在的生活。
G: 除了Java以外,你还用哪些语言写代码?你最喜欢什么语言?
B: 那多了去了,我至少认真地用过20种以上的语言。要说最喜欢嘛,呵呵,还真的应该说不是Java。我比较喜欢Scala的一些方面,在这些方面它非常惊艳,但是在另一些方面,它又特别糟糕。如果说综合表现最好的嘛,我投票给Clojure.
G: 嘿,我们快到了哦。最后我想问一下:Java Applet这玩意儿还活着吗?
B: 被你问着了,其实Oracle挺想把Java Applet给灭了的,后来发现不行。有一些政府网站还在用着,合同还有很长时间。比如说,丹麦的大量政府网站和项目都在用Java Applet,我还专门为这事儿去过一趟。因此这么说吧,Java Applet现在在民间已经基本上绝迹了,但是它仍以某种形式活着,还活得挺滋润。
5.26 @ 创业接力咖啡厅