公務員から見える社会をプログラマの言葉で語ってみる。
この国は、絶賛稼動中のスパゲティコードのアプリケーションだ。データのかわりに国民がアプリの中をうろうろしてる。
法律は仕様書だ。政治家はそれを決める最上流のSEだ。公務員はそれを実装するプログラマだ。
そしてシステムは非常に大量のマシンを相互接続して作られていて、それぞれ○○県とか○○市とかの名前がつけられている。さらにそれぞれのサーバーにローカルルール・ローカル仕様(条例)があって担当のプログラマを苦しめる。
それぞれのマシンに専任のプログラマがいて、上流から降ってくる仕様書通りに実装しようと日夜あがいている。仕様書の量はまさに殺人的で、冗談抜きに人を撲殺する凶器に使える。それぞれの仕様書の間では互いに矛盾・対立する仕様があっても気づかないことが多く、実際にそれらを実装した時にどんなコンフリクトが発生するか、そしてそのコンフリクトをどう解決するかなんて誰にも判断ができることじゃない。それぞれのサーバー担当者の中で相談してなんとか決めているのが実情だ。そもそも、コンフリクトが起こっても気づかない場合が多い。誰もシステムがどう動けば正解かなんて知らないからだ。
しかもこのアプリケーションはすでに稼働しており、稼働していながら毎日刻々と仕様書が変わりつづけている。差分は官報と呼ばれていて土日を除く毎日せっせせっせと印刷されている。プログラマはアプリケーションを止めないようにしながら、システムを仕様書通りに更新していかなければならない。
デスマーチ? その通り。この国と言うプロジェクトは始まった時からすでにデスマーチだ。そしてデスマーチと同じ終わり方しかしない。すなわち、そこにいる全員が死ぬかいなくなるかだ。ああ、あるいは……誰もこのアプリを、この国を必要としなくなった時だ。
全ての仕様書の元になる設計書は、憲法と名前がついている。けど、誰もがうすうす気づいている。憲法には理想しか書いていない。「営業が顧客にした説明」って奴だ。その理想をどうやって実装するかはひとっかけらも書いちゃいない。それは全て、政治家が決めることだ。ところで、SEが有能だったことがこの業界で一度でもあっただろうか。
公務員の仕事は非効率的だって? デスマーチなんだから当たり前だ。毎年やめていき、毎年入ってくる。低スキル開発者を逐次投入していくなんて、デスマーチの最たる特徴じゃないか。
プログラマと公務員の違いがあるとしたら、リタイヤするかデスマーチが終わるかするまで、給料が保証されてることくらいだけど、デスマーチに参加したプログラマが、リタイヤした後どうなるのか、よく調べた方がいい。公務員になりたいとか言ってる奴へのメッセージだ。