2024-04-06: 来深圳满一年,工作不算劳累,身心不疲惫,收支基本平衡,高级工程师兼主管,业务技术成长较缓,仍旧有危机感,仍旧未能偿还历史巨额债务,三月身体异样,数夜失眠,泪湿眼眶,幸好非癌,感恩生命,活着就好。老婆裸辞奔赴自媒体红海,刚入门报课学习,基本思路是定位,找对标账号,依葫芦画瓢,然后出了几个平淡作品,无明显流量,现每日抓耳挠腮,日渐发胖。孩子即将上小学,依然热爱足球,学习能力很强,打游戏比我厉害,基本乖巧,好胜心很强,开始学会讨好父母,以获得更多玩游戏的时间和购买礼物的机会。
查看源代码

程序员的可能性-读《黑客与画家》

前言

《黑客与画家》(Hackers and Painters - Big Ideas from the Computer Age)一书于 2011 年出版,作者为硅谷创业之父保罗·格雷厄姆(Paul Graham),全书内容基本是作者的文集汇整,也是他前半生写照。

全书主要介绍黑客爱好与动机,又细谈黑客成长、黑客对世界的贡献、编程语言与黑客工作方法,以及涉教育、技术、管理、道德乃至创业与致富的认知,不一而是。

从许多不同方面解释这个计算机时代的内在脉络,揭示其中发展轨迹,方便我们看清现状与未来的方向。

虽时隔十年之久才翻阅,但仍深受启发。保罗在其前言中写道:“我们生活中的一切,都正在成为计算机”。人们曾经认定这个时代应该是太空时代或原子时代,而如今计算机对人类生活的影响远超其它,特别是在本书出版十年之后,我们再审视周围之一切,确也如此。

当然,本书行文源自作者博客,故内容不连贯、断续且跳跃,实属正常,我在此仅是顺书意序,约略总结。

黑客的成长与待世观点

受关注与合群

许多青少年,希望自己合群、受关注,因此想方设法。譬如他们会关注服饰、考虑如何结盟、与其他受欢迎的人变得关系密切、甚至吸烟打架、欺负同学、忤逆父母,诸如此类。此阶段对于这部分群体而言,智力无足轻重,智力的分量远远不如相貌、魅力和运动能力的分量重。

在美国的中学生群体中,在塑造个人魅力方面,则更加孜孜不倦、精益求精,一个美国的青少年在醒着的每一分钟,都在琢磨怎样才能更受欢迎,一年 365 天,天天如此。

文艺复兴时期代表人物阿尔伯蒂有一句名言:“任何一种艺术,不管是否重要,如果你想要在该领域出类拔萃,就必须全身心投入。

许多高智商的人,他们在学校里都被称为 “书呆子” ,跟大部分青少年一样,书呆子也想让自己合群、受欢迎,但相较这些,他们的脑子更愿意装着另外的事情—— 让自己变得更聪明完成一些伟大的事 ,例如设计奇妙的火箭、写出漂亮的文章、理解编程原理等等,他们分心去干别的事情,没把心思放在研究合群与如何受到关注,因此书呆子往往不受欢迎。

书呆子追求智力,并全身心投入,代价是饱尝不受欢迎之苦。

比尔 · 盖茨不善于社交是出了名的,但是他发现了正确的答案,至少从收入上看是如此。

许多黑客,特质也是如此。

黑客与画家

在许多人印象中,计算机是冷冰冰的、精确的、井然有序的,而画画是某种原始欲望热烈狂放的表达方式。

这种看法是错的,计算机与画画有许多共同之处,黑客与画家都是 创作者,与作曲家、建筑师、作家一样,黑客与画家都是试图创作出优秀的作品,他们本质上都不是在做研究。

创作者创造优秀作品,他们创造优秀作品的方式往往不是从头做起,而是在现有成果的基础上做出一些小小的调整,或者将已有的观点用比较新的方式组合起来。这种类型的工作很难用 研究性 的论文表达,而计算机与画画,都是创造优秀作品的方式,例如客户不需要从头创造编程语言、协议、算法、数据结构等等,只需站在巨人肩膀之上、基于优秀作品之上去进行创作。

画家学习绘画的方法主要是动手去画,而黑客学习编程的方法也理应如此,一种直白的学习途径是直接学习优秀程序的源代码。

无数古代油画放在 X 光下检视,就能看出修改痕迹,四肢的位置被移动过,或者脸部的表情经过了调整… 可以发现通常一幅画开始通过一张草图,然后再逐步填入细节,如果发现构想是错的,那你就必须重新动手修改,而黑客的工作也应该如此,不能期望现有一个完美的规格设计,然后再动手编程,这样想是不现实的。如果你预先承认规设计是不完美的,在编程之时,就可以根据需要随时修改规格,最终会有一个更好的结果。

画家使用油画颜料,黑客使用好的编程语言,本质都是选择好工具。

好奇心与质疑

翻开老照片,看到以前的穿着时尚,你感到难为情。查看过去很多观点,如今发现是一个笑话。

为何彼时没被察觉怀疑?可能由于时空差异,可能人们被主流思想所禁锢,可能是人们担心自己观点会被别人称为异端邪说…

这些龌龊的、见不得人的过去与观点,这些挡住去路的石头,需要秉持纯粹好奇心与永远质疑的态度,去一探究竟,拨开迷雾。

优秀作品往往来自其他人忽视的想法,而最被忽视的想法就是那些被禁锢的思想观点,智力越高的人,越愿意去思考那些惊世骇俗的思想观点。不要让自己成为人群的一分子,而要尽可能地远离人群,观察正在发生的事情,特别注意那些被压制的思想观点,保持清晰地思考。 但是走得越远,你的处境就会越困难,受到的阻力也会越大,因为你没有迎合社会习俗,而是一步步地与它背道而驰。小时候,每个人都会鼓励你不断成长,变成一心智成熟、不再耍小孩子脾气的人。但是,很少有人鼓励继续成长,变成一个怀疑和抵制社会错误潮流的人。

如果自己就是潮水的一部分,怎么能看见潮流的方向呢?

黑客特质

在大众眼里,黑客(hacker)就是入侵计算机的人。可是,在程序员眼里,黑客指的是优秀程序员。他们不仅能力精通,而且有许多 良好的坏习惯

  • 黑客做事不符常规,正常人往往会使用寻常做法,而他们会诞生许多不符常规的聪明做法。
  • 黑客不服从管教、思想自由,如果总是服从管教,按部就班,那他们也就无法成为优秀程序员,无法逾越很多障碍,无法做技术创新。

黑客的成果与对世影响

人月神话

《人月神话》(The Mythical Man-Month)是布鲁克斯所写的一本软件项目管理名著。所谓“人月”就是 一个人在一个月内所能完成的工作量。 假如某个项目预估需要 12 个人月,那么派 4 个人处理这个项目,理论上需要 3 个月,派 6 个人则只需要 2 个月。但是,布鲁克斯认为这种换算机制在软件业行不通,是一个神话,因为软件项目是 交互关系复杂 的工作,需要大量的 沟通成本,人力的增加会使沟通成本急剧上升,反而无法达到缩短工期的目的。随着项目中的人数越来越多,开会讨论各个部分如何协同工作所需的时间越来越长,无法预见的互相影响越多越大,产生的 bug 也越来越多。

在本质上,软件项目的人力与工期是无法互换的,但项目进度落后时,光靠增加人力到该项目中,并不会加快进度,反而有可能使进度更加延后。

创业公司的经济优势

由于互联网软件的程序员非常辛苦,所以会使得经济优势根本性地从大公司向创业公司转移。互联网软件要求的那种工作强度和付出,只有当公司是其本人所有时,程序员才愿意提供。软件公司可以雇到能干的人,让他们去干轻松的事情,也可以雇到不能干的人,让他们去干艰苦的事情,但是无法雇到非常能干的人,让他们去干非常艰苦的事情。 因为互联网软件的创业不需要太多的资本,所以大公司可以与创业公司竞争的优势就所剩无几了。

E. B. 怀特曾经从一个农民朋友那里听到一则趣闻。许多农场用电篱笆防止奶牛逃跑,但是不少电篱笆其实并没有通电。不过奶牛们已经吃过苦头,显然学会了不去碰电篱笆,这时不通电也能起到效果。“奶牛们,行动吧!” 他写道,“趁着统治者打鼾时,夺回你们的自由!”

如果你是一个黑客,并且梦想自己创业,可能会有两件事情令你望而却步,不敢真正开始采取行动。

一件是你不懂管理企业,另一件是你害怕竞争。 可是实际上,这两件事都是没有通电的电篱笆。

对于管理企业,你只需要记住两点:做出用户喜欢的产品,保证开支小于收入。
对于害怕竞争,也只需要记住两点:大企业生产效率之低,反而是你的执行力与优势之高。

如何创造财富

如果你想致富,最好的办法就是自己创业,或者加入创业公司。几百年来,这一直是致富的可靠途径。

守恒原则

从经济学观点看,可以把创业想象成一个压缩过程,你的所有工作年份被压缩成了短短几年。你不再是低强度地工作四十年,而是以极限强度工作四年。特别在高技术领域,这种压缩的回报尤其丰厚,工作效率越高,额外报酬就越高。当然你需要承受短期极限困苦与压力。

价值原则

快速致富的方法有许多种,比如赌博、投机、婚姻、继承、偷窃、敲诈、垄断、行贿、游说、造假、开矿等,但是我们谈论的致富方式是 通过创造有价值的东西在市场上获得回报,通过创造有价值的东西而致富,这种方法的优势不仅仅在于它是合法的,还在于它更简单,你只需要做出别人需要的东西就可以了。创造用户之所需,是创造财富的一个重要指导。

事实

关于通过创业创造财富,我们除了接受以上两个原则之外,我们还需要承认另外两点事实:运气与潜规则。

  • 运气

任何创业公司的成功历程中,运气都是一个很大的随机因素,大至国际氛围、经济市场、政策环境,小至一次日常决策。

  • 潜规则

潜一,付出是未知量,你无法决定到底付出多少,可能你觉得自己应该更勤奋工作 2 到 3 倍,从而就能得到相应的回报。但是当你真正创业以后,往往是你的竞争对手决定了你到底要有多少辛苦,而且他们做出的决定都是一样的:你能吃多少苦,我们就能吃多少苦。

潜二,创业的付出与回报虽然总体上是成比例的,但是在个体上是不成比例的。就像蚊子,作为一个物种,他们的数量极多,但作为个体,却极难生存。

困难模式

基于以上原则与事实,然后你决定了要创业,在商业价值相当的多种创业方案中,建议你选择更加困难的那一个,选择一个高门槛的领域,甚至是一个难以复制的模式,以便你未来建立壁垒(例如申请专利),表面上你是在建立防守栅栏,实质上是反守为攻。

最大化致富

创业公司并不只是过去二三十年发生在硅谷的事情。如今,通过创造财富而致富已经成为了普遍的模式。每一个这样做的人差不多都应用了同样的诀窍:可测量性和可放大性。前者来自小团队和合作,后者来自开发新技术。这也是最大化致富需要具备的两样东西。

工厂流水线工人的报酬是按照计件制计算的,工人们只有可测量性、没有可放大性,所以不可能致富。
在大企业团体中,个人的表现往往无法单独测量,优秀的人会被平均化,被整体拖累,所以不可能致富。

然而,任何一个通过自身努力而致富的个人,在他们身上应该都能同时发现可测量性和可放大性。例如 CEO 、影视明星、专业运动员、基金经理等,当然他们的收入和风险是对称共存的,他们的头上都悬着一把宝剑,随时可能掉下来,一旦他们搞砸了,他们也就完了。

所以,整体上如果你有一个令你感到安全稳定的工作,你是不会致富的,因为没有危险,就几乎等于没有可放大性。

如果你想同时具备可测量性和可放大性,不一定非得成为 CEO、影视明星、专业远动员或者基金经理不可,你只需要成为某个攻克难题的小团体的一部分就可以了。攻克难题往往采取某种新思维模式或高科技技术手段,小团体则天生就适合解决技术难题。技术的发展是非常快的,今天很有价值的技术,几年后可能就会丧失价值。小团队在如今这个时代可谓如鱼得水,因为他们不受官僚主义和繁琐管理制度的拖累。而且,技术的突破往往来自非常规的方法,小团队就较少受到常规方法的约束。当然大公司也能开发出新技术,只不过开发得比较慢而已,这是大公司的毛病。

小团队 = 可测量性
高科技 = 可放大性

品味与优秀的设计

“哥白尼不认同托勒密的体系,一个极其重要的原因是,他觉得托勒密提出的偏心等距点(equant)毫无美感…”
———— 托马斯 · 库恩,《哥白尼革命》

“美感是第一道关卡。丑陋的数学在世界上无法生存。”
———— G.H.哈代,一个数学家的辩白》

一提到 “品味”,很多人会对你说 “品味是主观的” 、“品味没有好坏之分”,然而事实并非如此,品味是有好坏美陋之分的,通过不断见长,品味会出现变化,逐步提高。一旦你走出狭隘的自我,开始学习思考,你就会发现,主观品味无时无刻不发生变化,众多不同学科对 “美” 的认识有着惊人的相似度,优秀设计的原则是许多学科的共同原则,一再反复地出现,简列 14 个优秀之设计原则。

  1. 好设计是简单的设计
  2. 好设计师永不过时的设计
  3. 好设计是解决主要问题的设计
  4. 设计是启发性的设计
  5. 好设计通常是有点趣味性的设计
  6. 好设计是艰苦的设计
  7. 好设计是看似容易的设计
  8. 好设计是对称的设计
  9. 好设计是模仿大自然的设计
  10. 好设计是一种再设计
  11. 好设计是能够复制的设计
  12. 好设计常常是奇特的设计
  13. 好设计是成批出现的
  14. 好设计常常是大胆的设计

实际上,我觉得发现丑陋的东西要比想象出一个优美的东西更容易。大多数做出优美成果的人好像只是为了修正他们眼中丑陋的东西。伟大成果的出现常常来源于某人看到一样东西后,心想我能做得比这更好。拜占庭帝国的《圣母像》最早是根据某个公认的模板画的,非常机械呆板。几百年后的 14 世纪,意大利画家乔托看到以后,深感不满,决定动手改进,他因此成为文艺复兴的先行者。哥白尼对地心说无法解释的事情深感困扰,他的同时代人都觉得这可以忍受,他却认为一定能找到一种更好的解释。

单单是无法容忍丑陋的东西还不够,只有对这个领域非常熟悉,你才可能发现哪些地方可以动手改进。你必须锻炼自己。只有在成为某个领域的专家之后,你才会听到心里有一个细微的声音说:“这样解决太糟糕了!一定有更好的选择。” 不要忽视这种声音,要培育它们。

优秀的秘诀就是:非常严格的品味,再加上实现这种品味的能力

附录

附录提取关于保罗·格雷厄姆之创业哲学、黑客价值观。

创业公式

  1. 搭建原型
  2. 上线运营(别管 Bug)
  3. 收集反馈
  4. 调整产品
  5. 成长壮大

黑客伦理

  1. 使用计算机以及所有有助于了解这个世界本质的事物都不应受到任何限制。任何事情都应该亲手尝试。

(Access to computer——and anything that might teach you something about the way the world works——should be unlimited and total. Always yield to the Hands-On Imperative!)

  1. 所有信息应该都是自由的。

(All information should be fee.)

  1. 不信任权威,提倡去中心化。

(Mistrust Authority——Promote Decentralization.)

  1. 判断一名黑客的水平应该看他的技术能力,而不是看他的学历、年龄或地位等其他标准。

(Hackers should be judged by their hacking, not bogus criteria such as degrees,race,or position.)

  1. 你可以用计算机创造美和艺术。

(You can create art and beauty on a computer.)

  1. 计算机使生活更美好。

(Computers can change your life for the better.)

根据这六条 “黑客伦理” ,黑客价值观的核心原则可以概括成这样几点:

  • 分享
  • 开放
  • 民主
  • 计算机的自由使用
  • 进步

(本篇完)

程序员的可能性-读《黑客与画家》《黑客与画家》一书内容基本为硅谷创业之父保罗·格雷厄姆之文集汇整,亦为其前半生之写照。主要介绍黑客之爱好与动机,又细谈黑客之成长、黑客对世界之贡献、编程语言与黑客工作方法,以及涉教育、技术、管理、道德乃至创业与致富之认知,不一而是。 https://www.panshenlian.com/images/post/book/02-hackers-and-painters.jpg