本月选书《黑客与画家》,我是被豆瓣简介里的说明所吸引:“本书主要介绍黑客既优秀程序员的爱好和动机...有助于了解计算机编程的本质、互联网行业的规则,帮助读者了解我们这个时代,迫使读者独立思考。”看完本书后,觉得跨领域人才总是能发挥出1+1大于2的效果。
书本开篇介绍了本书作者,保罗·格雷厄姆。从青少年时代,格雷厄姆就开始编程,而后在拿到哈佛博士学位后,开始学习绘画课程,梦想成为画家。而后过了几年追求艺术家梦想但是动荡的生活(收入低且不稳定)。“我决定不当画家了,首先要彻底解决自己的收入问题。”于是他从1995年开始创业,到1998年被雅虎以4900万美元的价格收购。而后在硅谷创立了一个组织YC,是创业公司的孵化器。孵化了超过两百家的创业公司(失败的公司不到20%,远低于90%的业内平均水平)。
本书正文的目录和结构挺有趣。是由好几篇独立的文章组合而成。文章之间提到了好几个看似不相关,但实际有关联的主题:书呆子、创业、言论自由、画家、黑客、财富、教育、编码语言......
什么是黑客
在看这本书之前,我对黑客的印象只有计算机入侵者。以下是从书里学习到的黑客。
“黑客”一词在被发明的时候,是正面意义的称呼。代表着高度革新、独树一帜、精湛的技艺。最能干的人会自豪地称自己为黑客。黑客行为包含三个特点:好玩、高智商、探索精神。真正的黑客致力于改变世界,让世界运转的更好。
本书的“黑客”是指最优秀的程序员。
在这样的“黑客精神”下,引发作者有了本书各个章节的思考和观点。
编码与绘画
在作者看来计算机和画画有许多共同之处,在编码过程中,画画的思考习惯和方式为他理解编码过程有了很多启发。通过两者之间的类比也有利于让我们了解作者所认为的编码是怎样的。
1)创作过程
黑客与画家都是试图创作出优秀的作品。
坚持一丝不苟,就能取得优秀的成果。因为那些看不见的细节累加起来,就变的可见了。如果你查看优秀软件的内部,就会发现那些预料中没有人会看见的部分也是优美的。
一个优秀的程序员对待代码就像是对待自己创作的作品,而不仅仅是完成一个又一个功能任务。这其实就是给“编码”这件事赋予了热情和重视。这点和《埃隆马斯克传》、《跨越不可能》中提到的一样,“如果你不爱一件事,你不可能把它做的真正优秀”。
态度会直接影响一件事的成果。这是一种坚持,也是一种执着。想起来以前问过我妈:“你是怎么打扫的这么干净的?” 我妈说:“其实也没什么特别的,就是把每个看到不干净的地方都打扫掉就干净了。”大概坚持做好每件小事、每个细节,就会得出不一样的结果。
你把整个程序想清楚的时间点,应该是在编写代码的同时,而不是在编写代码之前,这与作家、画家和建筑师的做法完全一样。
一幅画是逐步完成的,通常一开始是一张草图,然后再逐步填入细节。黑客也是,不能盼望先有一个完美的规格设计,然后动手编程。(但是由于大公司内部的结构,使得它们很难这样做。)
在实际工作中,常有听到程序员说某些点在需求/设计评审时也没有识别到,但是在编码过程中才发现。通常这个情况下会去思考下次如何能尽量将类似的情况提前在设计阶段就发现,减少设计/编码的返工。而书中提到“整个程序想清楚的时间点是在编写代码的同时”。类比我现在码字,其实在一个小时前我也没想好自己具体要写的内容有哪些。每次只是有个简单的框架,就边写边改。这从另一个角度上也是说明作者认为编码是个创作的过程,但这也更适合精英小团队的研发模式。
2)关于用户体验
就像绘画作品一样,大多数软件是为人类用户准备的。所以,黑客必须像画家一样,时刻考虑用户的角度思考问题,也就是说你必须学会“换位思考”。
软件的使用方式最好能符合用户的直觉,别指望用户去读使用手册。
在企业里往往有角色分工和执行流程,这容易让人忽略了作为一个团队/组织,实际是有一个共同的目标,而不仅仅只需要执行上游的要求,传递给下游即可。所以不仅仅是产品经理,程序员也需要时刻“换位思考”,思考用户的诉求。毕竟用户使用的不是产品经理设计的内容,而是编码出来的产品。
我说的是“用户需要的设计”,而不是“用户要求的设计”。设计师并不像厨师一样,顾客点什么菜就一模一样做出来。
让用户满意并不等于迎合用户的一切要求。用户不了解所有可能的选择,也经常弄错自己真正想要的东西。
那么什么是让用户满意,满足客户的一切要求并不总是正确答案。在关注用户的同时,体悟用户背后真正需要的是什么,才是产品所需要的提供的价值。
这里说的是产品,我想其他很多事情也可以同理。用户可以换成孩子、领导、朋友、自己等。很多时候我们自己也许也没想明白深层次的诉求和期望,以及可选项。
关于财富
书中另一个让我印象颇深的话题是关于财富。
1)财富是什么,工作是什么
创造有价值的东西就是创造财富。
金钱不是财富,而只是我们用来转移财富所有权的东西。只是一种中介,让大家可以更方便地获得自己想要的东西。
大多数生意的目的都是为了创造财富,做出人们真正需要的东西。
对于自己感兴趣的东西,你会觉得它们很有价值,但是它们恰恰最不可能与他人眼中有价值的东西发生重合。
人们常常会把挣钱挂在嘴边。当只想着“挣更多钱”时,容易被蒙蔽,如何才能挣更多的钱。
挣钱,正常来说,实际是一种交易,是一种价值交换。你用你产出的价值,被兑现了金钱,此时金钱是一种价值中介。所以“挣更多钱”是自己的诉求。而为了满足自己的诉求,需要我们付出对方需要的价值。也就是为了自己的诉求,我们更需要关注的是自己能产出什么价值,对方需要什么?这就将关注点从自己转移到了外界。这提供了解决思路——只需要做出别人需要的东西就可以了。
另一方面,当人不满足于自己所得时,不妨也可以思考自己的产出是什么,是否没有产出对于对方来说相应的价值。
(致富的方法有许多种,以上的思考,指通过创造有价值的东西在市场上得到回报,从而致富)
找工作其实就是加入另一个组织。表面上,这个组织和大学很相像。仅有的区别就是,上班的日子不如上学的日子有趣,但是有人付钱给你,而不是你付钱给学校。
一个大学毕业生总是想“我需要一份工作”。但应该是“你需要去做一些人们需要的东西”。真正重要的是做出人们需要的东西,而不是加入某个公司。
想起自己毕业时,想的是自己想做什么。确实没有深入想过自己能做什么,这也使得自己在思考层次上就决定了并没有想过能提供哪些价值并做好能力准备。
工作也是为了挣钱。挣钱并不是只有加入某个公司一种方式,也可以做出某种人们需要的东西。
如果加入某个公司,既也意味着,在一个组织中与许多人共同合作,做出某种人们需要的东西。
2)可测量性和可放大性
要致富,你需要两样东西:可测量性和可放大性。
大公司会使得每个员工的贡献平均化。你想更努力地工作,但是你的工作与其他许多人的工作混杂在一起。
可测量行:财富是由产出的价值所决定的。但是在交易过程中,如何测量/是否能测量价值也决定了你能兑现到多少报酬。——由此引申出:1)团队越大,每个人的贡献就约容易被平均化;和优秀的人一起,能提高平均值。2)团队越小,越可测;
可放大性:书中提到CEO的决策、新技术等能够产生巨大效应,代表着产出物的可放大性。我的理解是尽可能提升自己产出物的作用/可重复利用范围/影响力。
总结:读完这本书,感触最深的两点:
1)黑客精神。在我看来,“黑客”其实也是一种持续思考和追求革新的工匠精神。在各个岗位上都可以有黑客精神。我也期望在自己的岗位上追求我的黑客精神。
2)财富的定义。从私心出发的挣钱转变为如何能创造更多的价值,这是视角的反转。同样做一件事,豁然觉得人生可以更加有趣。