久しぶりに肩が凝って、頭が痛いのが続いている。
なんか最近しゃべってるのが仕事みたいな時間が長かったのと、ペアプログラミングはともかく、ペアドキュメンティングみたいなのは疲れやすいなのかもしれない。プログラミングはなんだかんだで特定のファイルに飛んだり戻ったりがサポートされてるし慣れてるけど、テキストファイルとかだとそれが難しかったり、むしろ構造を作るのが本題だったりして、まがりなりにもコンパイラや実行時の挙動によって成立させられている構造を、より大きく、より複雑に、より良いものに変えていくプログラミングより疲れるのは当たり前かもしれない。文字通りあるいは実質的にgoto文だらけのコードだと、似たような疲れ方になるかもしれない。
ここ数年、「なんかちょっと複雑になりすぎちゃってますね」みたいなことをよく言っていて、もちろんそこを書き換えた結果を見てもらうと分かってもらえるんだけど、出発点として複雑ということを共有するのが難しい。「プログラミングというのは問題を理解する過程そのもの」みたいな話があるけど、あれをやって、これをやって、それもやって、アドホックな足し算を積み重ねて面倒なコードになるまではいいとして、コードを書いた人間の理解がそのコードと一致してしまう、つまり、書き終わると同時に理解の過程が終了してしまうことがあるように見える。成立した理解を変えるのは難しい。「完全に理解した」が覆されるのは、コードの場合はバグが出てからということになる。
問題が出てから考えればいいじゃないか、と言えなくもない。でも、そういう問題と戦っていきたいのかな。そして何より、人間が扱える複雑さには限界がある。目の前の複雑さを減らしていかないと、より複雑なものを扱えるところまでいけないんじゃないかな、って。じぇーくえりに親を殺された人が叫んでいるのと同じ話だとは思う。でも、だからこれはダメ、だからこうしないと、という話は些末な小言として、せいぜい遠吠えになるだけで、届くが伝わらない。エンジニアリングというよりは「より良いマニュファクチュア」を目指そうとするアジテーションになってしまう。とはいえ大きな課題に地道にぶつかり続けると、人間は擦り減っていく。人間には叫びが必要である。
サービスやプロダクトを生み出すやつが偉い、みたいなのはそれはそうかもしれない。まあでも、いろんな志向と思考が合わさったほうが人類は強くなれそうだし、いいじゃないですか。ただ、分断されちゃってそうね。エンジニアではなくプログラマと名乗る人々の一部には、そういう分断を無効化しようとする意図を感じる。