本书是作者的文集,虽然被誉为创业者必读,但是也有很多和创业没有直接关系的章节,同样适合计算机行业从业者和爱好者阅读。在阅读本书的过程中,几乎不会意识到这是10几年前写下文章,很是钦佩作者对行业的观察之深和对未来的预判之准。感慨之余记录和发散几个比较认同的观点,以便回顾。

什么是黑客?

首先明确一下作者对 “黑客” 的解释,在《良好的坏习惯》一章里:

在大众眼里,“黑客”(hacker)就是入侵计算机的人。可是,在程序员眼里,“黑客”指的是优秀程序员。这两个含义其实是相关的。对于程序员来说,“黑客”这个词的字面意思主要就是“精通”,也就是他可以随心所欲地支配计算机。

我理解本书中所说的黑客是精通技术、能利用技术实现目的(解决难题)、向往随心工作的优秀程序员;而不是搞研究的科学家和钻研学术的理论派,也不是找漏洞搞破坏的危险分子。

焦虑的中间层

《书呆子》一章中,讲述欺负书呆的人并不是那些受欢迎的学生,而是处于中层地位的那些人。

为什么是中间层? 顶层的人会把时间都花在提升自身的能力上,靠自身的特长或能力已经能获得足够的成果及关注,精神需求已经被满足;只有能力达不到这个层次的人才需要额外的手段来满足精神需求,而最直接能够达到他们目的的方式往往就是打击下层,暴力(态度、语言等等各种形式)是最直接的发泄手段。

打草稿

《黑客与画家》一章,讲述拿到需求就应该动手做,写设计文档没用

确实,在这么多年的实际开发中,真正起到被期望作用的设计文档(概设、详设)几乎没有,但是我们不能否认设计的作用,而是应该平衡设计的细度。拿到需求直接动手做的一个问题是思维容易陷进局部的难点,而这个难点对全局来说无关紧要,甚至没用,那结果就是浪费了大把的时间没有产出。我认为应该是有个方案框架,设计文档也好,伪代码也好,不需要太细,作为全局的方向指导。

假黑客

《良好的坏习惯》中,给出定义后,也说了有些人只有黑客的毛病,但是不具备黑客的优点

真正的黑客很少,而不适合团队的人(各种问题吧)很多。对于企业(或者说负责招聘的人)无法分辨真正的黑客,但是一旦确认这个人无法融入现在的团队,放弃这样的人减少麻烦我认为是一个正确的选择。除非现有团队非常差劲导致的其他人无法融入。

熟悉代码

不是说你把所有代码都装在了脑子里,而是说你阅读代码的时候,非常自如流畅,不会像侦探破案那样苦思冥想,而是像飞行员那样,瞄一眼仪表板,就对飞行状况胸有成竹

团队开发中,很容易出现的一种情况就是每个人负责一块独立业务,相互的代码甚至看都不看。这就导致了某部分的业务严重依赖某一个人,在我看来这就是一个瓶颈,也是一个隐患。 比较倾向的措施是尽量拆小每个服务/业务模块,由 1-3 个人负责,并不严格划分每个人应该做哪一块,甚至可以随机把需求分给一个人。但是要求严格统一代码风格、严格遵守团队各种约定,相互review,真正做到代码的所属权归团队。

目标用户

谁是互联网软件的目标客户?Viaweb一开始就把个人和小企业当作目标客户。我认为这是互联网软件的通行规则

创业公司完全无法介入大型集团、企业的项目招标(虽然很大部分工作都是外包给小公司,但是这并不算)。即使创业公司做了一款相当好的产品,大公司招标的严苛规则也会将你排挤掉。 真正能给创业公司提供机会的还是在个人和小企业(包括网店店主)市场。这类用户对价格比较敏感、并且需求很多样化,没有一家公司能满足这类客户的所有需求。

收费模式

“订报纸模式”正是互联网软件天然的收费模式

公司提供持续的、不间断的服务,用户花钱按时间、按数据量买。当服务升级后,用户在费用有效期内能立即使用到新功能。现在几乎所有的项目都是这样收费,按次骑车、按月使用云主机等等。很认同这种收费模式,既符合互联网服务的特性,也符合目标客户的需求。

如何创造财富

如果你想致富,应该怎么做?我认为最好的办法就是自己创业,或者加入创业公司

我想绝大多数人都会认同这种说法, 但同时要记住的是,收益和风险永远是成正比的。发现并加入一家优秀的创业公司是极其幸运的一件事。从近几年创业公司的融资和倒闭情况也可以看出,创业九死一生。

可测量性和可放大性

大公司会使得每个员工的贡献平均化,这是一个问题。我觉得,大公司最大的困扰就是无法准确测量每个员工的贡献 要致富,你需要两样东西:可测量性和可放大性。你的职位产生的业绩,应该是可测量的,否则你做得再多,也不会得到更多的报酬。此外,你还必须有可放大性,也就是说你做出的决定能够产生巨大的效应

程序员很难被测量,而且大公司有严格的流程和做事方式,每个人的工作都局限在整体的一个小部分里,所以除非自己折腾出显著的成果,达到从0到1的效果,否则你的所有努力都会被平均到团队的贡献里。所以,团队人越少,你对平均贡献的影响力越大,也就是说越小的团队可测良性越大。 对于可放大性,我的理解类似长尾理论,即获取更多的财富不需要增加明显额外的付出。

技术壁垒

选择公司要解决什么问题应该以问题的难度作为指引,而且此后的各种决策都应该以此为原则

这就是先天的技术壁垒,一个难题,不敢尝试的人越多,当你解决后越有别人难以跨越的优势。