本文有实证版。 同一主题已用能跑的代码和真实渲染的画面重做 — 不经翻译地坐下 — 一小块判断变成规则的地方。这篇保持写成时的原样。
「你也能做自己的工具。」这本杂志一再这样说。可这句话有个让人犹豫的角落,它听起来像是从空地起步。坐在一块空白的屏幕前,从无到有去搭建。空白画布前的茫然,对谁都沉重。多数人就在那里掉头,理由只有一句:「可我不懂开发啊。」而这掉头显得合情合理——做工具毕竟是一门专门的技术。于是越是最有资格去做的人,越是最先掉头。
本 Vol 要正面纠正这幅画。真相恰恰相反——最该做工具的人,早已握着最难的那部分。 那不是空地。而是在八成已经建好的地方,搭上最后一层。本文要梳理:那八成是什么,缺失的两成为何是一堵如此庞大的墙,而那堵墙又是如何变矮的。

工具的难处在哪里
先要发问。做工具这件事里,真正难的是什么。人们常答「编程」,就是画出画面、写好行为的那门技术。可细看,工具真正的难处不在那里。它在于知道该往里放什么。
想一想。世上几乎所有数字工具,技术上其实都已能做。画屏幕的技术、处理数据的技术,都已足够成熟。可无数工具依然没被做出来。为什么?因为知道那件工具里该放什么的人,和能把它做出来的人,是两个不同的人。而知道该放什么——比做出来的技术难得多。
举个例子。假设要把一位律师的咨询流程做成画面。难的不是画按钮,而是知道该按什么顺序问什么、什么样的回答会让流程分岔、漏掉什么会让委托人吃亏、哪个问题不能先问。先分清「是租赁还是买卖」,之后那七条分支才有意义;「您带了合同原件吗」必须第一个问而不是第三个;漏掉关于消灭时效的一行,委托人就会整个失去一项权利——这些,任何一本编程书里都没有。它们只在律师的脑子里,在数千次咨询之中。画屏幕的技术谁都能学,但画什么的判断,唯有活过那个领域的人才有。
这就是核心。工具的八成是判断。什么重要、什么次要,数据要以什么形状装进去才有用,要处理哪些例外——那份判断,领域专家早已握有。它不是要费力重新学的,而是做久了、早就在手里的。而那份判断,要传给别人极其困难。一旦想去解释,就会在「那要看情况」的无数分支前语塞。那整张「看情况」的地图——正是工具本身。
换句话说,做工具这件事里,代码是最后才搭上的薄薄一层,它底下铺着的厚厚一层全是领域的知识。我们长久以来把这个比例认反了。把最显眼的东西——画面、代码、按钮——当成了工具的主体。于是「做工具」被译成了「做编程」。可把一件做得好的工具拆开看,代码不过是承载其中判断的器皿。器皿到处都能买,而装进去的东西——做它的人的三十年——才是真正稀有的。
工具的八成不是代码,而是判断。而那份判断,早已握在最该去做的人手里。
难的部分早已完成 — 在许多场合
再看这本杂志过去的文章,讲的都是同一件事。
LCD 面板公司。 他们做了三十年好面板。明亮、色彩准确、耐用。把背光的均匀度调好,把色温对到 6500K,保证数万小时的寿命——这是驱动显示的深厚门道。那是难的地基。他们做不出 HMI,不是因为缺这地基,而是因为缺了处理画面上该显示什么的那一根轴。面板能做到世界第一,可面板上要显示的控制画面,却始终是别人的活。握着八成(面板),却停在两成(画面)之前,把它外包了出去。而外包画出来的画面,恰恰没经过最懂这块面板特性的人的手。
农夫。 三十年的种植知识——哪种作物何时移栽,某个春天清晨的空气意味着什么,哪些征兆预示歉收。那是难的地基。缺的,只是承载这知识的那一根画面之轴。三十年的记录留在褪色的本子和脑子里,因为缺了把它搬上画面的那一层,便没能成为工具。
会计懂对账的规则。 哪个科目去哪里、什么是常见错误、哪个数字对不上就该怀疑哪里。车间班长懂设备的脾气。 这台机器在轴承那边发出某种声音,就是三天内会停的征兆;雨季里哪些故障最常见;哪个阀门得比手册上的数值多拧一格才不漏。老师懂批改的标准。 什么是满分、什么要扣分,学生们每年都在第 3 题的哪个陷阱里同样地栽倒。
这些人所拥有的——对领域的深知所凝成的判断——是任何外部开发者都无法替他们拥有的。即便想通过解释把它传过去,那份微妙也会在途中被磨薄。「这种情况会有点不一样哦」的那层意味,经过需求文档、经过开发者的解读,就消失了。班长所说的「这个声音」,到了文档里变成「出现异常噪声时」,三十年的耳朵就在这缝隙里整个蒸发。所以让最懂的人亲手去做,是不丢掉那八成的唯一办法。而那八成——无需重新学习——早就在了。
缺失的两成为何庞大
那么缺失的两成——画面这一根轴——到底是什么?它又为何是一堵拦住握着八成之人的庞大的墙?
从前,做一块画面,后面拖着长长一串。装开发环境、学一门编程语言、用那门语言写画面、摆弄构建工具、把它装到设备上,每改一次又得从头把整个过程重走一遍。(在上一个 Vol 里,我们把这串叫作「把冰融了又冻上的链子」。)这串里的任何一格,对一辈子打官司或耕田的人来说,都是陌生的世界。多数人卡在最头一格——装开发环境。要在画面上摆上一个按钮,得先穿过十来道和领域毫无关系的关卡。
所以对领域专家而言,这两成并不是两成。 论量看着小,论高度却几乎是无法通过的关卡。握着八成的人,停在了最后两成的墙前。「这个我最懂,可我做不出来啊」,就是那停顿的一句话。
请把这幅画想象一次。一座厚厚的地基之塔,已经垒到八成的高度。在它上面只要搭上最后一层——画面——就成了工具。可在那最后一层之前,立着一堵墙:论量薄,却如刀削般垂直。论量是两成,而那两成——因为无路可上——让整个八成失了用处。那停顿不是因为八成不够,而是因为缺一架够得到最后一层的梯子。
所以长久以来,次序是这样的。懂领域的人在后面解释,能翻过那两成的开发者在前面做。八成与两成被分到了不同人的手里,微妙就在其间漏掉。会议排上,需求变成文档,报价出来,工期一拖再拖,第一版方案出来后又回到「不是那样,这种情况要……」——这一来一回本身,就把八成一点点削去。而许多小工具——小到不值得请开发者——干脆就没做。在「这点事还麻烦开发者?」的门槛前,无数的需要就这么被忍了下来。靠一张表格撑着,写在纸上来回倒,凝成「本来就是这么做的」的种种不便。那些不便加起来,大到没人数得过。
当两成的高度变矮
服务器定义的方式所改变的,正是那两成的高度。不再把画面写成代码烧进设备,而是把画面当作一份定义放着。要学的不是一套庞大的新体系,而只是一件事——「怎么写定义」:用约定好的形状,写清什么显示在哪里、每个按钮做什么。构建、烧录的循环、发布的链子,都不在场。第一块画面可以从十行起步(本杂志的编程文章,就从那十行打开)。
于是那根轴就变成了搭上去的东西——而非从头去建。在你早已拥有的厚地基之上,搭一层使用它的画面。「做」这个词的分量,从建造变成了完成。握着八成的人,能亲手搭上剩下的两成。领域专家从在后面解释的座位,挪到了在前面去做的座位。曾经经解释而磨薄的微妙,如今不磨损、径直成了画面。班长所知的「这个声音」的那份直觉,无需翻译,直接成了报警规则。
同一件事,有人花三天向别人解释,有人一小时亲手搭上。差别不在天赋,而在中间是否架了一架梯子。
当然,两成并没变成零。学会怎么写定义,也得花功夫。头几个小时是生疏的,要熟悉那些约定好的形状,难免有试错。只是它如今是一道翻得过去的门槛——而非无法通过的关卡。半天就能立起第一块画面,几天就能做出在自己活计里用得上的东西。这差别改变了一切。无法通过的 1m 高墙,和抬一脚就上去的一拃高的坎——两者都是「障碍」,可一个拦住了路,一个只是被跨过去。
那么谁才是创造者 — 「软」之物的平反
这个视角颠覆的,是「谁能做」。不是学过开发的人,而是握着自己领域地基的人。而这里有一个不小的反转——地基越厚、资历越长、领域越深,反倒是越强的创造者。缺的那一根轴对谁都是同样的厚度,而握着的地基,唯独属于那个人。即便学的是同一套写定义的方法,一位三十年律师做的咨询工具,和一位昨天才开始执业的人做的,差着八成。梯子的长短对谁都一样,而那梯子够到的塔的高度,却人各不同。
这也是对长久以来被视作「软」之物的一次平反。在技术的时代里,领域经验总被当成次要的,被「那又不算技术」一句打发,被当作要解释着交给开发者的输入值。律师的直觉、农夫的感觉、班长的眼力——这些被归为「难以数据化的、软的东西」,坐到了后排。会议室里干得最久的人,在真正去做的座位上,却坐得最远。如今那厚厚的经验站到了前面。做得最久的人做得最好。从前被自己「以为没什么」的那份领域深度,在这套结构里,成了工具的核心资产。
干那件事干得最久的人,做得最好。深度不再是要解释着交出去的输入值,而是直接成了工具。
老实说
当然,并非每一处两成都同样地变矮了。难以用画面表达的活——精密的实时处理、复杂的算法、深层的系统对接、海量并发用户的处理——依然得借开发者的手。争分夺秒到毫秒的控制,同时承接数十万人的后端,差一丝都不行的金融底层。「怎么写定义」这一件事,并不能成就一切。大型产品、精密服务,依旧是专业开发的领域,往后也将如此。本文不否认那个座位——只是说,那个座位仿佛就是全部的时代,结束了。
而握着八成,也不保证就能把画面做好。知道该放什么,和把它摆得好看好用,是另一种质地的活。领域专家做的第一件工具可能很糙。按钮可能错位,颜色可能土气,流程可能有一两处打结。只是那件糙工具——因为判断的八成活在其中——常常比一件光滑却抓错核心的外包工具更管用。糙可以打磨,可缺失的八成,打磨也补不上。
这个时代所打开的,是那些夹在中间的无数小工具的位置。在大型产品与外包之间,那些握着八成的人此前在两成的墙前放弃掉的东西。正好贴合自己活计的、只有自己用的、常去打磨的工具。既不大到能卖给别人,也不张扬到值得请开发者,于是就一直空着过来的东西。而这些小东西加起来,绝不小。世上的事,大多就跑在那些「小东西」之上。
接下来
所以本 Vol,我们去探访那些地基很厚、却缺一根画面之轴的地方。那台等着被无专用软件操作的实验台仪器。那位把批改标准全装在脑子里、却没有画面来承载的老师。我们看他们亲手把那根缺失的轴搭上去。看梯子架好之后,在八成的塔顶上会发生什么。
你也有这样一块地基。做得久了、闭着眼都清楚的某样东西。你心里觉得「这个我最懂」的领域。此前被你自己以「那只是我在干的活,算不上什么技术」放到后排去坐着的那样东西。那就是八成。那不是空地。缺的只是一根轴——而这根轴,如今是搭上去的东西。
makemind.dev 「探索」— 一根画面之轴如何搭上厚厚的地基,我们在仪器旁与教室里看。