首页 > 杂记 > 正文

做技术的「五比一」原则


前些日子看到了一篇文章,很有意思。不光内容有意思,而且很巧,是我个人很喜欢的一位「网红」写的文章,文章里又恰好提到了我更喜欢的一位作家。这篇文章的名字叫《分享刘慈欣的一段话》,作者是六神磊磊。

当然啦,把六神磊磊称为「网红」,有些贬低他了。六神并不是一位普通的「网红」,他更是一名文笔很出色的写手。在《分享刘慈欣的一段话》这篇文章中,六神提到了刘慈欣的作品《球状闪电》中对一个叫「江星辰」的人物的描写,然后做了如下评论:

刘慈欣这段话,写出了两种男人。
其中一种人,随时都在寻找和创造机会,展示自己的成功,好让别人产生哪怕一秒钟的自卑。
另一种人,就是江星辰这样的,会怀着善意,小心隐藏力量,避免自己的强大让他人不适。

这段评论确实很有趣,它写出了两种人生的境界。前一种人,假装自己强大,实际上却是害怕别人看到自己的弱小;后一种人,才是真正的强大,已经到了不需要炫耀来证明的地步。

六神磊磊在文章中又列举了一些金庸小说中的例子:比如左冷禅之流,比武之前抽个剑,都要用内力摧出爆炸音,“咣当”一声,震得山谷鸣响。这就是前一种人了,自己水平有限,只能靠一些看似厉害的「小伎俩」来引人注目。而像张三丰、风清扬这样的武学宗师,可以想象,拔剑时自然就不会如此卖弄了。

我相信,刘慈欣也是后一种人,一个随时收敛自己锋芒的人。他曾多次在采访中很坦诚地提到,自己的文笔和文学素养并不算出色,但谁也不会因此就否认他的强大。刘慈欣的真正强大之处在于他恢弘的想象力和高超的叙事技巧,我相信他在这两方面的造诣已经超越了绝大多数的小说作家了,至少在我看过的小说作品中,也许只有金庸金老爷子才能达到这样的水平吧。


实际上,后一种人能达到那样高的境界,绝不仅仅是他们的个人性格使然,更是因为他们确实在某一方面做到了真正的强大。他们的成就和能力已经有目共睹,实在没有必要随时随地吹嘘自己了。这其实是一种内在的「厚积薄发」的治学态度的对外延伸。

关于治学态度,宋朝的大文学家苏轼在《稼说送张琥》一文中做过很有意思的一番评论,翻译成现代汉语大概意思是说:

富人是怎么种庄稼的呢?他们的田又好又多,因此可以实行休耕轮作,使得土地的肥力能够保全;他们的粮食充足而有余,那么耕种就能够常常不误季节,收割也常常能够等到庄稼完全成熟之后进行。所以,富人的庄稼质量好,产量高。
而穷人呢?由于土地有限,每一寸土地都拿来利用,把庄稼种得像鱼鳞一般密集,因此土地养分就被用尽了(地力竭矣)。耕种常常抢不上季节,收割又往往来不及等到庄稼成熟。怎么还会有好收成呢?

治学之道也是如此,我们应该努力学习「富人种田」的方式,「博观而约取,厚积而薄发」。首先要博览群书,获得广博的学识,将内在积累到足够深厚的程度,然后才慢慢地释放出来。只有这样,我们说出来的话,做出来的事,才能具有大智慧。

之前在读《故事:材质、结构、风格和银幕剧作的原理》一书的时候,也看到过类似的一番道理:

创作是五比一,甚至十比一、二十比一。这个行当要求你发明比你可能的用量要多得多的材料,并从这贴合人物角色及世界真实的大量优质事件、新颖瞬间中做出明智之选。

这段话本来讲的是创作电影剧本的道理。剧作家要写出一部优秀的作品,他所要做的绝不仅仅是坐在电脑前在键盘上敲出一篇文字那么简单。实际上,他的工作量可能是这个的五倍、十倍,甚至二十倍,他要创造一个完整的世界,并对这个虚构的世界中的一草一木都有细致的了解,他的人物在想什么、做什么?他们「如何购物、如何祈祷、如何做爱」,他都需要了如指掌。最后他要做的才是从中挑选出最合适的材料写成文字。

我们做技术的道理其实也是如此。我们追求的一种状态大概是这样的:面对某个实际问题,我们希望能够进行充足的相关知识储备,直至远远地超过我们要解决的问题,最终我们的头脑中在该专业领域的知识结构达到比较完整而自成体系的状态,这时候就能够很自然地(也是符合逻辑地)从中找到解决问题的方案。如果我们能达到这样的境界,我们定能心中坦然、处事从容,大概也不会故意假装自己什么都懂,生怕别人的质疑,因为每一个技术决策都经过了深思熟虑和充分对比,已然成竹在胸。

反之,如果面对一个技术问题,我们的技术储备不能够很好地覆盖它,或者刚刚勉强够用,那我们做起事来恐怕只能诚惶诚恐了,自己也不知道哪里可能会出岔子。

这就是做技术的「五比一」原则。


然而,现实世界总是更复杂,「五比一」原则暗示的是一种理想的状态,我们大概没法做到在任何情况下都能遵循它。那么面对复杂的实际情况,我们如何去解决这其中的矛盾呢?

切实可行的两条路,可能是这样的:

  • 因地制宜,搞清适用范围;
  • 保持学习,一步步积累。

做技术开发的,难免碰到时间点很紧张的项目。特别是对于创业公司来说,能否快速把产品实现出来,有时候是生死存亡的事情。这时候如果再碰到一些自己不熟悉的技术,确实是压力很大的一种情况。不管用什么方法,是向社区求助也好,还是向熟人求助也好,总之如果能做到先把东西实现出来,也未尝不可。但是,要知道这样勉强做出来的实现,往往不够优化,或者隐藏着风险,等到时间充足的时候就需要重新去审视它,补充相关知识。

另外,时间长了,工作中反复用到的常用技术,也需要有计划地去积累。一边做事,一边弥补自己的知识体系,最终使得自己的知识储备和日常工作中的实际用量达到「五比一」的程度,然后就能更从容地解决更多的问题,向技术专家迈进了一步。这也是为什么我从《技术的正宗与野路子》一文开始,就一直推崇阅读Spec的原因。反之,长期来看,做技术应该尽量避免简单地Copy+Paste网上的代码,而应该去关注解决方案背后的深层的知识结构。

如果换一个场景,比如做研究(意味着要发表研究成果),写技术文章或者写书,从事这类可能影响别人的事情,那么就应该严格遵守「五比一」原则。技术的东西,细节和逻辑层次牵涉甚多,如果不做深入而广泛地研究,只是略知皮毛就写出来的话,势必没法达到应有的严谨和深度,轻则浪费读者的时间,重则误导他人,甚至贻笑大方。

还有一些比较特殊的场景,比如我们都经历过考试和面试,这时就不是需要隐藏力量的时候,也不是胡乱吹嘘的时候,而是需要实事求是。在面试的时候,面试官的任务,是在比较短的时间内摸清面试者的知识结构,从而对他进行一个整体的评估,尤其是摸清他到底擅长什么。所以,面试官不应该问一些「偏、难、怪」的题目,而应该从面试者的知识结构和经历出发,大致遵循一个知识体系应有的结构去发问。反过来,面试者也应该尽量把自己的知识结构「一比一」地释放出来,而不是「五比一」地隐藏起来。当然了,如果是反过来「一比五」地去自吹自擂,甚至炫耀自己听说过的一知半解的技术名词,一般也是过不了关的。


读书破万卷,才能下笔如有神;长期深厚的积累,才能孕育出真正的知识的财富。

德国古典哲学的巨擘——康德,思考他的哲学体系花了整整十二年的时间,而体系一旦成型,他只用了几个月就写完了他的一本大书——《纯粹理性批判》。这就是厚积薄发的典型例子。

还有一个例子,是爱尔兰的数学家哈密顿(William Rowan Hamilton)。他曾致力于将二维的复数(complex numbers)扩展到更高的维度,为此他花了十三年的时间去寻找一个三维的代数系统,但最终失败。终于,在1843年的10月16日,他获得了他的顿悟,发现了神奇的四元数(quaternion)。四元数是个什么东西呢?其实它离我们的生活非常近。我们都玩过手游对吧,但很少有人知道一些游戏引擎(比如Unity)里面对于3D空间中旋转的处理就是基于这个四元数的。

我们大部分都是普通人,也许不会像数学家或哲学家们那样发现举世震惊的东西。但是,海纳百川,有容乃大,这样的道理我们都懂。大至人生态度,小到具体问题的解决,努力追求这样的一种境界,是我们普通人也能做到的。也许,一点点地积累,早晚有一天我们也会变得足够强大,让自己的内心更加富足和平静,最终收起锋芒,完成蜕变。就像六神在他的文章中说的一样:

年轻人步入社会,都会渴望把自己炼成宝剑,寒气逼人,但只有强到一定程度,才会主动给自己一把剑鞘。

(完)

其它精选文章


原创文章,转载请注明出处,并包含下面的二维码!否则拒绝转载!
本文链接:http://zhangtielei.com/posts/blog-programmer-1outof5-principle.html
我的微信公众号: tielei-blog (张铁蕾)
上篇: 程序员的武林秘籍