看看Mike Cannon-Brookes的成就吧:他是著名公司Atlassian的创始人,公司两个产品Jira和Confluence已经誊满全球的产品了;他也是著名的开源社区OpenSymphony的创始人,OpenSymphony在整个开源社区里有极好的口碑,它所生产出来的每一个产品都是高质量的,Webwork2, Sitemesh, Quartz, TestNG,OSWorkflow, etc. 似乎整个产品的质量和口碑都是Apache或JBoss所达不到的;他还是著名的blog社区JavaBlogs的创始人,在这个blog上聚集了很多优秀的Java程序员;他是一本很不错的书"Java Open Source Programming"的合著者; 他是Webwork2, Sitemesh等很多开源软件的开发者;他是TheServerSide、JavaPolis等著名社区上的积极活动分子,他在全世界不同的Symposium上进行演讲,做讲座。
如果注意地看一下整个Java Community,会发现好多的澳大利亚人,Rod Johnson, Gavin King两个整个的Java Community最火的两个产品Spring, hibernate的创始人都来自澳大利亚。Mike Cannon-Brookes也不例外,他是土生土长的澳大利亚人,他一直住在悉尼,Atlanssian的总部也在悉尼。咋听Mike Cannon-Brookes的口音,可能会很不适应,也许由于他长得太秀气啦,跟他浑厚的口音不太匹配。而且说话的语音也极快,而且似乎带点悉尼口音(呵呵,我瞎猜的,我可分不出啥口音呢),不过听多了就会觉得其实他说话也很好听,也很清楚。Mike Cannon-Brookes所做的讲座一般会比较泛化,比如介绍整个JavaBlogs的设计架构和用到的相关技术(如Webwork2, Sitemesh, Axis等等),或者介绍怎么充分利用开源软件的威力等等(当然也有专门的Webwork2讲座),尽管不是太深,但对于象我这样的Monkey来说每次听了都会有好多的收获。
Mike Cannon-Brookes是一个勤劳的blogger,几乎隔几天都会有新的blog。不过我没有仔细看过他的blog,我觉得没有太多的技术深度,也不是太有趣,可能我没有仔细去发掘。Mike Cannon-Brookes还是个懂得享受生活的人,到了周末,他会和朋友一起聚会、×××或者喝酒,绝对不象某些工作狂人。
由于Jira和Confluence这两个产品在世界范围内都极其出名,Jira是最好的Issue Tracking工具,Confluence也是极火的Wiki工具,我一直以为Atlassian是一个非常大的公司。当我听说Atlassian是一个只有十一个人的小公司时,也不禁吃了一惊,不禁叹起他们的高效和敏捷开发的力量。
提起Mike Cannon-Brookes,不得不提他合著那本书:"Java Open source Programming"。这是一本很好的书,他永远成不了象Expert one on one J2EE那样的经典名著,但是菜鸟或象我这种Code Monkey读了之后都会有不错的收获。书里先介绍了Webwork, hibernate, JUnit, XDoclet,这样的介绍无所谓精彩,很多地方有比它更详尽深入的介绍。这本书的真正精华在于它的第二部分:通过一个经典的例子(又一个PetStore,呵呵)介绍了敏捷开发和实践的方方面面。怎么配置高效的开发环境这一章虽然很基础,但是却是至关重要的,至少我读了以后还是受益良多的;随后围绕着PetStore的开发过程的方方面面展开了讨论,我最大的收获是对测试驱动开发的理解,由于是完全针对实例的,我觉得它比JUnit in action或相关的书籍的收获都大。然后看到了Domain model,这是我最关心的章节,然而它又再一次让我失望了,由于实例中只用了Webwork, hibernate,却没用到Spring,所以在例子的Domain Object里会有好多地方会调用DAO。在Spring里如何让Domain Object获取DAO的实例?如何区分业务逻辑和存储逻辑?呵呵,也许只有看到金融系统的实例有才能明白业务逻辑的威力。