技術者が得意げに解説することこそ解決すべき技術的課題

技術者というのは、製品の仕組みだとか作リ方だとか飼い慣らし方だとかを知っている。それが彼らの自尊心だから、知っていることを得意げに語りたがるし、知らない人を下に見たりする。気持ちはわかるし、誇りを持つことは良いことだ。

ずっとやっていたら詳しくなって当然だ。それが彼らの優位性なので、そこにプライドを持つのは当たり前のことだ。歳月を費やしてわかりにくいものを覚えていったのだ。それをドヤ顔で語るのも無理からぬことだ。

しかし、俺の知っていることはお前らも覚えろと他人に求めても、technologyって何も進歩しないのでないかと思う。

ソフトウェアの歴史は、抽象化の繰り返しだ。人間にやさしくないものに皮をかぶせて、ユーザーフレンドリーに見せかける。それを何十年も繰り返している。

技術者が得意げに語るようなところというのは、まさに皮をかぶせるべきところだと思う。何これ使いづらいなと思って文句を垂れると、なんべんもやって筋トレしてなれろみたいな風に怒られるわけですが、その努力をなくすことがすなわち技術革新だと思う。事実そういう風に技術は発展している。マシンの管理とかめんどくせえと言ったらVMになるし、OSのインストールすらめんどくせえとなったらDockerになるし。

皮を剥いだら現れるようなものも、これ分かりづらいなと思うようなところも、当然ある。分かりやすく書こうなんて風潮は最近のことだから、読めないコードがあっても不思議ではない。読んで分かれと言われたところで、分かりにくいものがそのままなら何の進歩もない。得意げにこれがこうでと説明するなら、そういう風に書き直せばいいのだ。そうしたら、皮の内側を分厚くするもできるし、皮の内側が怪しげなシロモノであることを恐れずに、外に新しく皮を増やしていくこともできる。

めんどくさいとか分かりにくいとかに慣れたら、どうしようもなく古い発想のものしか作れないと思うわけです。これらの感性が使う人の気持ちになれる唯一のヒントだ。低レベルのプログラミングができる人は高レベルもできるとかいう人がいるが、それは嘘だ。レベルを降りるのはできなくもないが、登るのは不可能だ。使う人の気持ちが分からないから。原始的なところとか複雑なところにを潜ってもいいが、傲慢だけ身につけて、怠惰と憤怒を忘れたら、もう帰って来れなくなる気がする。

大して潜ってもいないのに、すでに遭難気味だ。製品の中身は分かるが、使い方は分からないとか言いたくねえな。アプリケーションを、ちゃんと作ったほうがいいのだろうか。