我看了不少《程序员》上的创业故事,主人公多是踌躇满志,磨刀霍霍,经过一番拼杀之后,有的壮志得酬,有的无奈夭折。UMLChina和我的故事却没那么“壮烈”,似乎是不经意间一步一步走过来。五年在这个行业是一个不短的时间,UMLChina已经走过了第一个五年。我也想把UMLChina这五年多的故事奉献给大家,供大家参考。
从UMLChina起步
1999年6月,我还是一家软件公司的程序员,做电子商务开发,从asiaalien的“窗外软件工程”上第一次知道了UML。整天和编码环境、SQL语句打交道的我,一下子眼界开阔了,开始学习并尝试在项目中使用。因为当时找了很多资料,并觉得这些资料很有价值,就萌生了建网站和大家共享信息的想法。
“中国UML播种机”就诞生了。当时中文的UML网站非常少,所以很快引起大家的注意。一开始,UMLChina只是提供一些文档的下载链接,每天我都要花一些时间去找文档,阅读后分好类放上去,还有一些朋友寄来自己原创的文章。UMLChina开始是一个“软件工程文档基地”,但到2002年后,相关书籍开始呈爆炸性增长,团队获得帮助的渠道也越来越多,这部分服务就淡化消失了。后来,“软件工程”四个字也从UMLChina首页消失,不是因为我们不需要软件工程,而是因为“软件工程”这个广义的概念已经被大家广泛接受。“UML播种机”的名字也不再使用,因为已经过了播种的时候。现在的UMLChina聚焦到了一直专注的“方法”上。
我的第一次创业应该不是UMLChina,而是在Internet泡沫最盛之时,我花了几个月的业余时间,模仿Thirdvoice(第三声音,被《财富》评为1999年最酷的公司)开发了的软件“即时贴”,这是一个能任意在网页上发表评论的软件,如果你在某个网页上留下了你的评论,装了该软件的用户浏览到该网页时,也会发现你的评论,其实这些评论都集中放在服务器上。不过,最终由于盈利模式不清晰,没有一个成功的。鼻祖ThirdVoice于2001年4月也停止了服务。
“初试创业”虽然失败了,但创业的心情已经不可抑止。以前我并没有把UMLChina当成一份职业,而只是一种爱好。我开始重新审视UMLChina,为它添加上新的功能。
2000年6月,我开始为UMLChina添加论坛功能,一开始是简单的留言板,在2000年8月搬到smiling,成为其中的一个讨论组,第一年人数就超过了1万人。 UMLChina讨论组的特点是不删贴、防止特权。既然不能删帖,组长abug、mouri、vcc_cn、sealw等人更多时候只能为大家解答疑难。这种没有架子、率真的风格,有些人喜欢,也有的人不习惯离开了。在2004年,我决定把讨论组迁移到Yahoo Groups时,人数已经达到43,000人。
2001年,《程序员》杂志创刊,令人耳目一新。当时我就想,也可以把一些UML、面向对象、软件工程的文章变成一份电子杂志形式的技术资料,免费让大家下载,名字干脆就叫《非程序员》。《程序员》当时的口号是“软件以程序员为本”,就为《非程序员》提了个“软件以用为本”并保留至今。《非程序员》消耗我很多工作量,包括联系作者授权非商业使用,需要翻译、审稿、排版和发布。很多人为《非程序员》付出了劳动,而且是没有报酬的,只有一个参加内部训练活动的点数……同时,UMLChina不定期请一些国外的大牌专家来和大家交流。至今已有Martin Fowler、Scott W. Ambler王晓昀、Gerald Weinberg等40多位专家到UMLChina作讲座或交流。而且,全球只要发生了和UML相关的事件,UMLChina都尽力及时摘译报送。
后来,UMLChina还与出版社合作翻译了《人月神话》并创下了销售记录,至今还魅力不减。《人月神话》也使UMLChina获得了出版社的信任,之后又合作了《人件》、《企业应用架构模式》等很多本书籍。不过,翻译的书,出版社只有相当少的一次性的翻译费用给译者,审稿的话就基本上没什么钱了,因此除了名声和巨大的满足感之外,并没有带来盈利和收入。
可能有人要问?所有以上UMLChina的服务都是免费的,既不卖广告,也不代理工具,你又是如何支撑呢?
聚焦最后一公里
UMLChina创始的前两年,是用我的收入来维持,当时花费并不多,1年大约1万就够了(现在已经不够了)。现在也是用我的收入来维持,但我的工作已经变了,“软件开发顾问”是我热爱的工作,同时也是我的谋生手段。
2002年初,我辞职开始专门打理UMLChina,并宣布对外提供训练服务。第一个选择我们服务的是阿里巴巴,之后就一发不可收。开始的时候收费比较便宜,再加上有UMLChina的名气作基础,没做什么广告,大家就纷纷找来了。最密集的时候,我曾10天内在北京4个地方做了8天训练。公开课也办了好些期,来的人也不少。
但我却感觉这个方向不对了,这就不成了“培训中心”了吗?我变成了一个讲课老师。这不是我的初衷和兴趣所在。而且培训为团队带来的好处最多只是了解知识,说到真正能够上路,并没有多大把握。我感觉必须要寻找一条适合自己的道路,而且我也找到了,这便是“聚焦最后一公里”。
这是我精心选择的能表达“最后一公里”思想的图。斐力庇第斯从马拉松跑回雅典报告胜利消息,虽然已是满身血迹、筋疲力尽,但他知道:没有出现在雅典人民面前,前面的路程都是白费。学到的UML知识如果不能最终“用”于团队的项目中,也同样是极大的浪费。而且事实上,这最后一段路最是艰难。
因此,我决定把精力放在“研究UML相关技术的应用”上面,专注于提供“最后一公里”的服务。如果说到知识,从Booch到Fowler,从Jacobson到Cockburn,已经为我们奠定了深厚的基础。关键就在于我们能不能把这些技术化为真正的团队技能,使团队得到真正的收益。“最后一公里”还妙在:即使Martin Fowler亲自驾临,我也不担心被他淘汰了。就算每个人都买他的书,在“最后一公里”这个层面上,每个团队的特点是不同的,Martin再能干,也帮助不了这么多人啊。另外,Martin Fowler也不是MCSE的培训师,随便集训一下就可以批量复制,而是需要艰苦的修炼。
接下来的步骤是不断提高训练价格,把每个月上门训练的次数减少到一定的程度,以便有更多的时间来研究问题。针对每次训练,都要花很多精力来研究团队的情况和当前项目的情况,以便为他们提供顶级的服务。实际上,软件开发中有太多的问题需要专家专门研究解决,每次拿到团队给我的项目文档,都有强烈的感觉:我可以帮得到他们的!只要在一点上能够为他们带来实实在在的价值,就能起很大的作用。只要水平够,认识得透,确实能为团队带来效益,不愁没有人找你。
同时,我还停止了“公开课”,把精力集中在上门为开发团队服务上。两年多的时间内,上门服务的软件组织已经到达70家,也确实为伙伴们带来了价值。正如广州的一位技术总监所说,“收获最大的在于技术人员的观念转变,而这种转变对公司的影响是深远的”。把服务记录翻出来,是一份非常值得骄傲的名单,但我们从不在网页上公布这些伙伴的名称,也不做推广,全靠信任和口口相传。我也非常感谢这些伙伴们,是他们给了我们一次又一次机会来实践、改进和锤炼技艺。
UMLChina的事情显然不是我一个人能做的,我的精力尽量集中在研究技艺上,其他事情能分都分出去。杂志、书籍有译者,新闻有专人负责,页面版面设计找比较得力的美工…有许许多多的人在其中作了贡献,这些人很多我从未见过――UMLChina只是一个松散的网络协作平台。那如何联络大家?伙伴sealw曾说:联络就是think每到一个地方就请大家吃饭,虽是玩笑,确实也反映了事实,希望这种不经意的联络能持续下去,这也是一种“团队建设”吧。UMLChina的未来在于如何保持自己的风格,它应该会变得越来越小,越来越聚焦,同时,尽量保持非商业化。
而我最大的瓶颈是技艺。我有时想:我要是有Martin Fowler那样的广度和深度的知识和经验就好了。我一直坚持建模和编程,以保持“身段”。部分是为开发团队提供支持工作;如果有时需要特地学习和研究某种技术,我就会尝试用这种技术来写一些UMLChina内部使用的工具。技艺只有在实践中才能真正锤炼出来。也许在这个知识爆炸和Google的年代,25岁之后就不应该为学而学了。
这就是我的“创业”故事。按照我的理解,“创业”是一种自我实现,衡量的指标之一当然是金钱。我不以赚钱为主要目的,却也赚到了一些钱,不算非常多,但比打工要多。我有信心地和有志于此业的朋友说一声,这个工作是有前途的,因为软件开发越来越复杂,前线有太多难题等着有人研究解决。还有一个指标:工作中的快乐和满足感――十年前我在北大听王选教授作报告,他说自己一年365天工作,我当时想这还是人吗?现在,我理解了。