この記事には実証版があります。 同じ主題を、動くコードと実際に描かれた画面で作り直しました — 通訳なしで座る — 判断ひとかけらが規則になる場所。この記事は書かれたまま残します。
「あなたも自分の道具を作れる」。この雑誌が繰り返し言う言葉だ。ところが、この言葉には人をたじろがせる一面がある。まっさらな地面から始めろと言われているように聞こえるのだ。空白の画面の前に座り、何もないところから何かを築く絵。空っぽのキャンバスの前の途方もなさは、誰にとっても重い。「私は開発を知らないのに」の一言で、そこから引き返す人がほとんどだ。そしてその引き返しは合理的に感じられる — 道具を作るのは専門技術なのだから。だから最も作る資格のある人ほど、真っ先に引き返す。
今回のVolはその絵を正面から正す。真実は正反対だ — いざ道具を作れば役立つ人たちは、最も難しい部分をすでに持っている。 まっさらな地面ではない。八割がすでに築かれた場所で、最後の一層を載せる仕事だ。この文章は、その八割が何で、欠けた二割がなぜそれほど巨大な壁だったのか、その壁がどう低くなったのかを辿る。

道具の難しさはどこにあるのか
まず問わねばならない。道具を作ることの本当の難しさとは何か。よく人は「コーディング」と答える。画面を描き、動作を組む技術のことだ。ところがよく見ると、道具の本当の難しさはそこにはない。何を盛り込むべきかを知ることにある。
考えてみよう。世のほとんどすべてのデジタル道具は、技術的にはもう作れる。画面を描く技術、データを扱う技術は十分に成熟した。それでも無数の道具が作られない。なぜか。その道具に何が入るべきかを知る人と、それを作れる人が別人だからだ。そして何が入るべきかを知ることが — 作る技術よりはるかに難しい。
例えてみよう。弁護士の相談の流れを画面にするとしよう。難しいのはボタンを描くことではない。どんな順序で何を尋ねるか、どんな答えで流れが分岐するか、何を取りこぼせば依頼人に不利になるか、どの質問は先に尋ねてはいけないかを知ることだ。「賃貸借か売買か」をまず分けて初めて次の七つの枝が意味を持ち、「契約書の原本をお持ちですか」は三番目ではなく一番目に尋ねねばならず、消滅時効の一行を取りこぼせば依頼人が権利を丸ごと失う — こうしたことはどのコーディング本にもない。弁護士の頭の中、数千回の相談の中だけにある。画面を描く技術は誰でも学べるが、何を描くかについての判断は、その領域を生きた人だけが持つ。
これが核心だ。道具の八割は判断だ。何が重要で何が付随的か、どのデータをどんな形で盛れば役に立つか、どんな例外を扱うべきか — その判断は、領域の専門家がすでに持っている。難しく新たに身につけるのではなく、長くやってきて、もう手にしているものだ。そしてその判断は、他人へ移すのが恐ろしく難しい。説明しようとすると、「それは場合によって違うんだけど」の無数の枝の前で言葉に詰まる。その「場合によって違う」の地図全体が — まさに道具だ。
言い換えれば、道具を作ることにおいてコードは最後に載る薄い層であり、その下に敷かれた厚い層はすべて領域の知識だ。私たちは長らくこの比率を逆に知っていた。最も目につくもの — 画面、コード、ボタン — が道具の本体だと思っていた。だから「道具を作る」がそのまま「コーディングをする」に翻訳された。だが、よく作られた道具を解いてみれば、コードはそこに盛られた判断を運ぶ器にすぎない。器はどこでも買える。その中に盛られるもの — 作った人の30年 — こそが本当に希少なものだ。
道具の八割はコードではなく判断だ。そしてその判断は、いざ作れば役立つ人の手にすでに握られている。
難しいものはすでに終わっている — 幾つもの場で
この雑誌の過去の文章を改めて見れば、どれも同じ話だった。
LCDパネルの会社。 彼らは30年間、良いパネルを作ってきた。明るく、色が正確で、長持ちするパネル。バックライトの均一度を整え、色温度を6500Kに合わせ、数万時間の寿命を保証する — ディスプレイ駆動の深いノウハウ。それが難しい基盤だ。彼らがHMIを作れなかったのは、その基盤がなかったからではなく、画面の上に何を映すかを扱う一つの軸が欠けていたからだ。パネルは世界一に作れるが、そのパネルの上に映す制御画面は、いつも他人事だった。八割(パネル)を持ちながら、二割(画面)の前で止まり、外注に回した。そして外注が描いてきた画面は、肝心のパネルの特性を最もよく知る人の手を経たものではなかった。
農家。 30年分の栽培知識 — どの作物をいつ移すか、どんな春の朝の空気が何を意味するか、どんな兆候が不作の前触れか。それが難しい基盤だ。欠けていたのは、その知識を盛る画面という一つの軸だけだった。30年の記録は色褪せたノートと頭の中にあり、それを画面へ移す一層がなくて道具にならなかった。
会計士は精算の規則を知る。 どの項目がどこへ行くか、何がよくある間違いか、どの数字が合わなければどこを疑うべきか。工場の班長は設備の癖を知る。 この機械がベアリングのあたりでどんな音を出せば三日以内に止まる兆しか、梅雨時にどんな故障が多いか、どの弁はマニュアルの数値より一目盛り余分に締めねば漏れるか。教師は採点の基準を知る。 何が満点で何が減点か、生徒たちが3番の問題のどの落とし穴で毎年同じように滑るか。
彼らが持つもの — 領域を深く知る判断 — は、どんな外部の開発者も代わりに持てないものだ。説明を経て移そうとしても、その微妙さは移す間にすり減る。「こういう場合はちょっと違うんですよ」というニュアンスが、要件書を経て開発者の解釈を経て消える。班長が「この音」と言ったものが文書では「異常音発生時」になり、その間で30年の耳が丸ごと蒸発する。だから最もよく知る人が直接作ることが、八割を失わない唯一の道だ。そしてその八割は — 新たに学ぶこともなく — すでにある。
欠けた二割はなぜ巨大だったのか
では欠けた二割 — 画面という一つの軸 — は何だったのか。そしてなぜそれが、八割を持つ人を止めた巨大な壁だったのか。
かつては画面一つを作るのに、その後ろに長い列がぶら下がっていた。開発環境を入れ、プログラミング言語を一つ覚え、その言語で画面を組み、ビルドツールを扱い、それを機器に入れ、変えるたびにその過程を最初からやり直す。(前のVolで私たちはこの列を「氷を溶かしてまた凍らせる鎖」と呼んだ。)この列のどの一マスも、生涯弁護をしてきた人や畑を耕してきた人には未知の世界だった。最初のマス — 開発環境を入れること — からほとんどが詰まった。画面にボタン一つを映すまでに、領域と何の関係もない関門を十ほど通らねばならなかった。
だから領域の専門家にとって、この二割は二割ではなかった。 量としては小さく見えても、高さとしては事実上通過不能の関門だった。八割を手に握った人が、最後の二割の壁の前で止まった。「これは私が一番よく知っているのに、作れないな」が、その止まりの一文だった。
この絵を一度思い浮かべてほしい。厚い基盤の塔が八割の高さまですでに積まれている。その上に画面という最後の一層だけ載せれば道具になる。ところがその最後の一層の前に、量は薄いが垂直に切り立った壁が立っていた。量で言えば二割だが、その二割が — 登る道がなくて — 八割全体を無用にした。止まりは八割が足りないからではなかった。最後の一層に届く梯子がなかったからだ。
だから長らく順序はこうだった。領域を知る人は後ろで説明し、その二割を越えられる開発者が前で作る。八割と二割が別の人の手に分かれ、その間で微妙さが漏れた。会議が組まれ、要件が文書になり、見積もりが出て、日程が押し、最初の試案が出れば「そうじゃなくて、こういう場合は…」へ戻る — その往復そのものが八割を少しずつ削った。そして多くの小さな道具は — 開発者を呼ぶには些細すぎて — そもそも作られなかった。「この程度のことで開発者を煩わせる?」という敷居の前で、無数の必要がただ我慢された。エクセル一枚で凌ぎ、紙に書いて回し、「もともとこういうものだ」で固まった不便たち。その不便の総和は、誰も数えたことがないほど大きかった。
二割の高さが低くなれば
サーバー定義の方式が変えたのは、まさにその二割の高さだ。画面をコードで組んで機器に焼く代わりに、画面を定義として置く。学ぶべきは巨大な新体系ではなく「定義を書く方法」一つだ — 何をどこに見せるか、どのボタンが何をするかを、約束された形で書くこと。ビルドも、焼くサイクルも、配備の鎖も、そこにはない。最初の画面が十行で始められる(この雑誌のコーディングの文章がその十行を開く)。
すると、その軸は載せるものになる — 最初から築くのではなく。すでに持つ厚い基盤の上に、それを使う画面一層を載せる。「作る」という言葉の重さが築くから仕上げるへと変わる。八割を持つ人が、残りの二割を直接載せられるようになる。領域の専門家が後ろで説明する席から、前で作る席へ移ってくる。説明を経てすり減っていた微妙さが、すり減らずにそのまま画面になる。班長が「この音」と知るその直観が、通訳なしにそのまま警報の規則になる。
同じ仕事を、ある人は三日かけて他人に説明し、ある人は一時間で直接載せる。差は才能ではなく、その間に梯子が置かれたかどうかだ。
もちろん二割が0になったわけではない。定義を書く方法を身につけるのにも手間がかかる。最初の数時間はぎこちなく、約束された形に慣れるまで試行錯誤がある。ただしそれは今や越えられる敷居だ — 通過不能の関門ではなく。半日あれば最初の画面が立ち、数日あれば自分の仕事に使えるものになる。その差がすべてを変える。通過不能の1mの壁と、一歩上がれば済む一握りの段差は — どちらも「障害物」だが、一方は道を塞ぎ、一方はただ越えられる。
ならば誰がビルダーか — 軟らかきものの復権
この視点が覆すのは「誰が作れるか」だ。開発を学んだ人ではなく、自分の領域の基盤を持つ人だ。そしてここに小さくない逆転がある — 基盤が厚いほど、経歴が長いほど、領域が深いほど、むしろ強いビルダーになる、ということだ。欠けた一つの軸は誰にとっても同じ厚さだが、持つ基盤はその人だけのものだからだ。同じ定義の書き方を学んでも、30年の弁護士が作った相談の道具と、昨日弁護を始めたばかりの人が作ったものは八割が違う。梯子の長さは誰にとっても同じで、その梯子が届く塔の高さは人それぞれ違う。
これは長らく「軟らかきもの」と見なされてきたものへの復権でもある。技術の時代に、領域の経験はいつも副次的なものとして、「それは技術じゃないだろう」と片づけられ、開発者に説明して渡すべき入力値として扱われた。弁護士の直観、農家の勘、班長の眼力 — こうしたものは「データ化しにくい、ソフトなもの」に分類されて後ろの席に座った。会議室で最も長く働いた人が、肝心の作る席では最も遠くに座った。今やその厚い経験が前に立つ。最も長くやった人が最もよく作る。これまで「大したことないと思っていた」自分の分野の深さが、この構造では道具の核心資産になる。
最も長くその仕事をやった人が、最もよく作る。深さはもはや説明して渡す入力値ではなく、そのまま道具になる。
正直に
もちろんすべての二割が同じように低くなったわけではない。画面で表しにくい仕事 — 精緻なリアルタイム処理、複雑なアルゴリズム、深いシステム連携、大規模な同時利用者の処理 — は依然として開発者の手を借りねばならない。ミリ秒を争う制御、数十万人を同時に受けるバックエンド、一寸の狂いも許されない金融の最下層。「定義を書く方法」一つですべてが成るわけではない。大きな製品、精緻なサービスは依然として専門開発の領域であり、これからもそうだ。この文章はその席を否定しない — ただ、その席がすべてであるかのように振る舞っていた時代が終わった、と言うだけだ。
そして八割を持っているからといって、画面を上手に作れる保証もない。何を盛るかを知ることと、それを見やすく使いやすく配置することは、また別の質の仕事だ。領域の専門家が作った最初の道具は不格好かもしれない。ボタンがずれ、色が野暮ったく、流れが一つ二つ絡まっているかもしれない。ただしその不格好な道具が — 判断の八割が生きているから — 滑らかでも核心を外した外注の道具より役に立つ場合が多い。不格好さは整えればいいが、欠けた八割は整えても埋まらない。
この時代が開くのはその間にあった無数の小さな道具たちの席だ。大きな製品と外注の間で、これまで八割を持つ人たちが二割の壁の前で諦めてきたもの。自分の仕事にぴったり合う、自分だけが使う、よく手を入れる道具。他人に売るほど大きくもなく、開発者を呼ぶほど大げさでもなくて、ただ無いまま生きてきたもの。そしてそんな小さなものの合計が、決して小さくない。世の仕事はほとんどその「小さなもの」の上で回っている。
次
だからこのVolで私たちは基盤は厚いのに画面という一つの軸がなかった場を訪ねる。専用ソフトなしに扱われるのを待っていた実験台の計測器。採点の基準は頭の中にすべてあるのに、それを盛る画面がなかった教師。彼らが欠けた一つの軸を直接載せる過程を見る。梯子が置かれた後、八割の塔の上で何が起こるのかを。
あなたにもそんな基盤があるはずだ。長くやってきて目を閉じても分かる何か。「これは私が一番よく知っている」と思う領域。これまで「それはただ私がやっていることで、技術でもなんでもない」と自ら後ろの席に座らせてきたそれ。それが八割だ。まっさらな地面ではない。欠けているのは一つの軸だけで、その軸は今や載せるものだ。
makemind.dev 「探索」— 厚い基盤に画面という一つの軸が載る場を、計測器と教室で見ます。