豆瓣技术团队的指环王文化
星期一, 十二月 17th, 2007“在豆瓣世界的史前时代,即第一纪(the First Age),那是一个没有历史记载的年代,我们只能通过真假难辨的传说来略微揣测一下当时的史实。传说那时只有一个人类,名叫阿北。有一天,他有了一台服务器,他把它命名为”佛罗多”(Frodo)。他为佛罗多开发了一个程序,起名叫”夏尔”(Shire),不过后来更广为人知的是它的大名——”豆瓣”。后来,很多人从虚无中迁移到夏尔这片土地上,读书,看电影,听音乐,交流信息。人数有百万人之多。”
从阿北开始,豆瓣的技术人员很多都是《指环王》小说和电影的fans。06年阿北给我们秀他新买的MacBook Pro,就是在周五的Happy Hour用投影播放《双塔奇兵》。大家在给自己的作品起名时,按照惯例往往采用指环王里的人名和地名,久而久之,就形成了豆瓣技术团队的指环王文化。
豆瓣所有的服务器都以指环王里的人物为名,大家各司其职:佛罗多早已从前台退役,现在作为开发和测试用机;梅里(Merry)和山姆(Sam)这两个霍比特人挑起了大梁,承担起所有用户的请求,向豆友们展现丰富多彩的页面;四个神仙级的精灵:双胞胎爱隆(Elrond)和爱洛斯(Elros),森林女王凯兰崔尔(Galadriel)和灰港之主瑟丹(Círdan)用他们伟大的智慧和不死的生命保护着用户的所有数据;爱隆之女,美丽的亚玟公主(Arwen)帮助用户迅速搜索到想要的信息;另一个霍比特人皮聘(Pippin)和英俊的精灵王子勒苟拉斯(Legolas)执行着一些后台任务;人皇阿拉贡(Aragorn)和刚铎摄政王的儿子波罗莫(Boromir),这两个强壮的人类和矮人金雳(Gimli)一起,承担着数据挖掘的重担;而波罗莫的弟弟法拉墨(Faramir)则逐步接管起图片的显示。运行着英文版豆瓣和豆瓣blog的服务器在美国,由于它离我们比较远,因此我们用中土世界跑得最快的马命名它——甘道夫的坐骑影疾(Shadowfax)。
豆瓣的各个软件项目是用指环王里的地名命名。霍比特人的家园夏尔(Shire)是豆瓣主站项目,希望豆瓣能够成为豆友们开心生活的乐土;数据挖掘项目建立在精灵城堡瑞文戴尔(Rivendell)之上;蜘蛛横行的幽暗森林(Mirkwood)是我们的爬虫项目;而九点依赖的RSS抓取项目,由于博客文章的增长速度惊人,就像被批量制造的兽人(Orcs)一样,我们用最后决战时兽人涌出的地点——黑门(Black Gate)——作为项目名。猜猜RSS抓取主程序的名字叫什么?对,就叫makeorcs.py :) 另外,我们正在开发中的高性能分布式计算平台,当然得拥有一个power到令人害怕的名字: 魔多(Mordor) :p
在开发上,开发团队采用了敏捷开发方法,每周一次迭代,以迅速响应不断变化的需求。每周的进展都会有一个code name,我们跟随着佛罗多的脚步,从霍比屯(Hobbiton)出发,每周前进一段距离,到达的地点作为下周的code name。比如,下面这段就是我们某周开发工作周报的开头部分:
Milestone: Sprint #8 (Green Hill)
往东南方走了一阵之后,他们来到了绿丘乡(Green Hill Country)。Frodo在山坡上向远方Hobbiton的灯火挥手道别。”不知道我以后还有没有机会再看到这个景象。”他低声说。
上周开发团队关闭了13个ticket,完成了Sprin#8。
一路艰辛跋涉,到现在已经36周过去了,我们成功的躲过了黑骑士的追杀,走上了销毁魔戒的漫漫征途,目前正来到了矮人的地下都市摩瑞亚的墙外(Wall of Moria)。前方还会有很多艰险,但我们将继续坚定的走下去。
在豆瓣,每周都会有一次技术交流会议,每个人轮流主讲,分享自己近期关注的技术点,每次讲完后都会引发热烈的讨论。就像精灵王爱隆召开会议讨论组建魔戒远征军一样。我们用会议的召开地——瑞文戴尔的烈火之厅(Hall of Fire)——命名我们的技术论坛。
豆瓣的指环王文化给相对枯燥的开发工作注入了乐趣,当我们在用frodo等名字称呼我们的服务器时,真的就感觉到那是一个个有个性的可爱的生灵。豆瓣的开发团队也像魔戒远征军一样,虽然路途遥远困难重重,但大家各尽所长,团结一心,最终终将胜利!
P.S. 最近豆瓣的条目图片所使用的虚拟服务器也用几个霍比特人来命名了,有人发现了吗?