プログラミング 美徳の不幸

Ruby, Rails, JavaScriptなどのプログラミングまとめ、解説、備忘録。

プログラミング支配力学

プログラミングは書き手たるプログラマーが力点となって、コードを書いているかのような錯覚を受けるが実際は異なる。
そもそもプログラマーがプログラマーになった理由にしても、いろんな経緯を経てそうなっている(わかりやすく言えば文系で新卒SEとか)かもしれないし、プログラマーが書いているコードがビジネスのものなら、それは経済的力学が作用しているはずである。

まぁ、これらの力学はあくまで外部要因なのでここでの本題からはずれる。外部要因というのは、プログラムを書くという動機や、その大枠を決定づけるもので、今回の本題は内部要因である。つまり、あるコード1行をとって、なぜこのようなコードが出来上がったのかという歴史的要因のことだ。


とまぁ、面倒なまえがきはさておき、この土日、ある案件の修正でほとんど拘束されっぱなしだった。
それはこういうものだった。
自分は「Facebookでアプリをシェアできるといい」という感じに言われたので、その通りに作成した。
すると今度は、ここの文言はこれこれこうで、という詳細なデータが渡された。まぁここまではよくある話。むしろこちらが「こういうふうに作りましたけどどうしましょうか?」それに対してお客さんが「うーん、こういうふうにはできないんですかね?」というふうにやり取りするのは優柔不断でもなんでもなく、こちらとしてもありがたい。いいコミュニケーションなのである。

しかし問題はここからだった。
その詳細なデータは別な担当者が了解しましたと返事をした。そして私はしばらく所用で入れなかったのでその内容について詳しく見ていなかった。
というか、詳しく見てもなかなかわからなかったのだけど、だいたいこういう内容だった。
Facebookでシェアする、というボタンを押すとシェアの↓こんなのがでる。」
「下の文言はかくかく云々で、上の文言はデフォルト値がフォームに入っている状態でユーザが編集できるように」


で、実際これは昔やったことがあるとか、かるーく調べるとサンプルがあったので余裕そうに思えたのだが違った。なんとAPIの仕様が変更されていて、デフォルト値をフォームに入れることが禁止されていたのだ!

しかし、もうやりますといった手前、いろんな政治力学的モーメントが働いてしまっている。しかたなくその作用点は私に向かい、土日でややハック的な処理をしてしのいだのである。(そのやり方はまた後日にでも解説しよう、まぁ大雑把にいうと投稿のpermissionを取得して、facebookっぽいフォームを自前で作った)


ところでこれはまだいいほうかもしれない。というのは、私の関与しなかった別のプロジェクトはもっと恐ろしいことになっていた。D通を経由したDという有名なネズミっぽい国にありそうな携帯電話のプロモーションサイト作成だったのだけど、その要件たるはまさにトップダウン式で、我々製作者はあくまで末端なので伝達は遅いし、コミュニケーションの余地などないのである。ひどいのは、上流のスケジュールが遅れに遅れ、締切まで24時間というようなしわ寄せが末端に襲い掛かってくることである。

私はこのデスマーチに参加せずに済んだけど、話を聞いているとデスマーチの中で書くコードはやはり日常とは全く違うものなのだという。


支配力学にはまた別の種もあるのだけど、これは次の機会に。