Watching Google I/O

这两天一直在看Google I/O会议的视频,由于这些视频都比较大,一般在100M以上,所以都是先用Firefox的插件Video DownloadHelper下载到本地,然后用vlc观看。

先后看了Maile Ohye的Search Friendly Development,Chris DiBona(这哥们讲话真快)的Open Source is Magic,Steve Yegge的Server-side JavaScript on the Java Virtual Machine,以及Marissa Mayer的Keynote。还有几个已经下载,准备在今后几天观看。

从视频内容本身获得的收获就不说了,单单是这种把会议做成视频放在YouTube上让大家免费观看的方式就让我唏嘘不已。闭门造车是要不得的,要走出去,把自己的东西讲给别人听、听别人讲他们的东西,相互了解、相互启发,这对于一个程序员来说是非常重要的。然而由于各种各样的原因,有些地方我们去不了,有些时间我们挤不开。幸好还有Google想到了我们,不仅是这次会议的视频可以在YouTube上找到,我们还可以找到很多Google举办的内部讲座,比如Linus Torvalds on git等等,都是非常值得一看的。

我相信很多技术公司也举办过类似的会议,我甚至看过Ballmer先生怒吼着Developers! Developers! Developers!的视频,然而,仅此而已。以人为本,不仅要放在嘴上,而且要放在心里,还要有行动。

Programmer or administrator

Steve说size does matter,可是穿惯了短打的人,弄了件长袍,还真不知从何穿起。blog从来都写得很短,如今决定写篇长的,但坐在电脑前,却不知该写点什么。长而不散,难啊!

ESR的What a modern collaboration toolkit looks like让我动了心,便自己安装了一个irc服务器。想想自己还真是有装软件癖,2006年的时候就装了一大堆,07年安装了DNS服务器,08年一开头又弄了个IMAP服务器。作为一个程序员,做了这么多系统管理员的工作,到底是为了什么呢?单单是好奇吗?

读了Getting work done despite the enterprise,终于豁然开朗了。归根到底,我只是想有更多的时间来写程序而已。

公司有三大宝:MS Exchange、ClearCase和ClearQuest,据说还有可能上MS Sharepoint。不知道别人有什么感受,反正我感觉束手束脚。单独拿出哪一个来看,仿彿都很不错,可放在一起却像一盘散沙,没法集成在一起。07年我提出尝试drupal做我们的讨论组,试用下来感觉不错,老板就提出推广到其它组,因为公司里确实缺少保存项目文档的地方,并且在更多老板的推动下,IT终于同意维护硬件和做备份,而应用上的问题则由我来负责。严肃的软件开发,可不是有了编辑器和编译器就可以的,需要很多软件平台来协调、理顺整个开发流程。遗憾的是,很多人以为只要再加上电子邮件、版本控制和缺陷管理就够了。

不够,远远不够。这也是为什么我们要推drupal,我们需要一个地方记录开发过程中的讨论,以及讨论的结果。可是我们仍有很多滥用电子邮件的地方,ProjectPier是我正在关注的一个开源项目管理软件,用于协调项目开发进程。作为个体,我已经熟练地使用emacs org-mode管理自己的开发进度,然而,“各扫自家门前雪,不管他人瓦上霜”对团队项目开发有百害而无一利,所以,尽管困难,我还是打算试一试,如果这个软件真得合适,至少要先在组里面展示一下。

我所在的组有8个人,其中三个有自己的subversion repository,真不知道是谁的悲哀。可见,在版本控制工具上,也是有文章可以做的,然而,推陈出新总是比填补空白难很多,何况是替代官方工具。只是让程序员在这种事情上花费很多精力,而不是全力以赴去编程,很是低效。程序员的所长是写程序,而不是协调、沟通、谈判。IT部门目前的职责只是维持现有状态,维护新的软件都不一定乐意,更别提开发了。只是公司的计算资源、网络资源都在IT手里,没有他们的支持,开发团队所能做的比较有限,而且,软件正常工作之后的维护工作,也要开发团队自己承担。

如果一个老板手下的不同项目组之间都缺乏交流,那么开发部门和IT部门之间存在巨大的鸿沟也不足为怪了。该怪谁呢?谁又能改变这一切呢?