《黑客与画家》

导读

在《黑客与画家》的第五章,作者回忆了1995年他和他的朋友决定创业时的情形。那是网景公司刚刚上市,各种媒体谈论电子商务,如果电子商务真的要大规模发展,那么就一定需要软件创建网上商店,所以他们决定动手制作这样的软件。第一周他们打算写一个传统的桌面软件,很快他们就将自己的方向调整为服务器软件,一切都变的简单的多,后来的事情也证明了这一点。而这一切刚刚是个开始,软件由桌面转向服务器的大潮即将来临。

桌面软件与下一个潮流

回顾桌面软件时代,我会为人们忍受种种的不便惊叹不已。在目前阶段,一旦拥有了桌面电脑,就被迫学习许多东西,了解它的内部运行机制。一位用户只需要电脑来记账和收发邮件,却被迫需要管理操作系统和更新补丁。

而服务器软件提供了另外一种发布方式,用户再也不用被迫当上系统管理员了。除了软件本身,用户不需要了解其它任何东西,那些乱七八糟、经常变动的部分都放在服务器上。这样用户也不需要一台全功能电脑了,一台“终端”就足够用户使用。

一切服务用户

使用那些纯粹的服务器软件,你只需要一个能够上网的浏览器即可。“你的电脑”这个概念正慢慢消失,取而代之的是“你的数据”,你应该可以从任何终端上取得你的数据。软件的升级也不会对客户造成重大的打击。互联网软件可以让多人同时使用的特性,非常适合做团队协同,如果现在的用户了解协同,那么他们会要求大多数软件拥有这个功能。而且因为你的数据是存在服务端的,所以并不怕数据的损坏和丢失。

开发者的变化

对于开发者而言,互联网软件与桌面软件最显著的区别是,前者不是一个单独的代码块,而是由许多服务组成的集合。对于开发过程而言,你控制了硬件,就能为用户提供更多的功能,解开了传统桌面软件的许多限制。

对于传统的桌面软件而言,发布新版本是一个很痛苦的过程,整个公司不得不拼命基础一块巨大的代码,互联网软件则不同,它修改起来非常方便,它的更新频率可能是传统桌面软件的几十倍,甚至每天都能多次更新。对于互联网软件来说,大部分的变化都是细微和渐进的,所以引入bug的机会比较小,而且在软件发布测试之前,你对你修改的部分非常了解,你非常清楚应该测试那些部分,一旦出现问题也能马上进入修改问题的状态,而对桌面软件而言,一旦发现bug开发人员只能苦思冥想当时的情形。

互联网软件的另一个优势是,你能再现大部分的bug。用户的数据就在你的硬盘上,如果用户使用软件出现的问题,你就不必苦苦猜测到底发生了什么。互联网软件每时每刻都在被使用,一旦代码上线,就会经历严酷的测试,代码的问题很快就会浮出水面。

互联网创业公司是一种逆向的《人月神话》,这本书指出,向项目中增加一个人手,往往会拖慢整个项目的进度,随着参与人员的增加,人与人之间沟通的成本呈指数倍的增加,开会讨论各个部分协作的时间就会增加,各项无法遇见的问题也会出现,bug往往也会增加。而开发人员减少也会成倍的增加开发效率,降低沟通成本。

如果说这样做有什么缺点,就是每个人必须担任一点系统管理的职责。只要你还在很活跃的开发产品,就免不了要亲自做系统管理。因为一个简单的错误可能就会影响到你的全部用户。不过,根据经验而言,一年之后你就没有必要每分钟都盯着服务器了。

付费与后续服务

当你的问题可以被重现的时候,客户支持的方式就发生了改变,客服人员随时可以向开发人员报告bug。加上软件发布方式的改变,驱动开发人员当时就为客户解决问题,并发布补丁。当能够即时发布软件时,对开发者是一个很大的激励,步行上班的路上曾经想那些地方还需要变动,然后当天就能实现,即时某个功能的开发需要两个星期,一旦写完就可以立即看到效果。

如果一个软件需要等到一年之后才能发布,我就会把大部分的构想束之高阁。至少过上一段时间再考虑。事实上,将想法束之高阁就会限制新的想法产生,因为你已经看到为下一个版本准备的东西,就懒得再思考更多东西了。

现有的桌面软件,每当有新版本发布,厂商就会强迫现有用户重新出钱购买,然后安装升级,只有这样厂商才能持续获利。而互联网软件使用“订阅”这一模式,操作起来会更自然、更简便,订阅模式正是互联网软件的天然收费模式。

对于软件公司而言,互联网软件是一个相当理想的收入来源,因为每个月你的销售额不必从零开始,相对于桌面软件而言,互联网软件更容易销售,一旦一个购买行为变的容易,就会倾向于多买一点,购买时,你的用户不能被要求做更多的事,每多一件事,你所承担的风险就会增加一分。

目标客户

谁是互联网软件的客户?ViaWeb一直将个人和小企业作为目标客户。我认为这是互联网服务的通行规则,这些用户比较灵活,有需要降低成本,所以,他们更愿意尝试新事物。互联网软件往往也是大公司的最佳选择,某种程度上,使用互联网软件的大公司好像就是把自己的IT部门外包出去。虽然听起来很激进,但是我认为这样很好,因为互联网服务商显然有着更高超的管理技术,有更强烈的动机雇佣更高级的人才。

然而,现实是,有钱的客户往往会选择更贵的服务,而不是正确的服务。大公司付出的高价之中,大部分是商家为了让大公司买下这个产品而付出的成本。

创业公司

典型的创业公司行动快速,看上去不太正式,只有很少几个人,资金也有限。这几个人勤奋工作,技术放大了他们的决策。如果他们赌赢了,那就是一场大胜利。

互联网软件的创业公司会把与创业有关的每一件事做到极致,因为资源有限,你必须打破常规、快速行动,循规蹈矩不可能成功。创业公司的压力很大,不幸的是互联网公司将这一特点发挥到了极致,许多互联网公司的开发者都有一段睡在桌子底下的经历,尤其在初创期。令人惊恐的事,这样的日子没有尽头,如果你愿意,可以一直这么干下去。每天忙上16个小时,除了长期的加班,更可怕的事情是沉重的压力,因为互联网软件将多种工作压力集合到了一起。你不得不成为开发者兼顾系统管理员,还要时刻分析用户的反馈,并处理各种突发的情况。

为什么不尝试一下?

曾经从一个农民朋友那里听到一则趣闻。许多农场用电篱笆防止奶牛逃跑,但不少电篱笆是不通电的。不过奶牛们已经吃过苦头,显然不会再碰篱笆,这时不通电也能起到效果。如果你是一名黑客,梦想自己创业,可能会有两件事情成为你的“篱笆”。

一件是你不懂企业管理,另一件是你害怕竞争。可实际上,这两件事都是没有通电的篱笆。首先,企业管理其实很简单:做出用户喜欢的产品,保证开支小于收入。只要做到这两点,你就超过了大多数的创业公司,随着事业的发展,你就会琢磨出其它的诀窍。

其次,我们看看竞争,你所害怕的可能不是与你一样的黑客,而是那些“大企业”,可实际上,他们害怕你们胜过你害怕他们,因为,1975年,上一次发布软件的新方式出现时,比尔盖茨跟你一样白手起家。