Facebookで話題になっていたこの本を早速手に入れて読んでみた。
この本を読んだら、プログラマーと仲良く仕事ができるようになったらいいな、と思って。
結果。
暗澹たる気持ちになった。
私には、どうやらプログラマーの人と仲良くやっていくという素養が一切ないようだ。
私が係るソフトウェアはたいてい金儲けのためのものだ。金儲けをするためには、このソフトウェアを使う人が幸せな気持ちにならなければならない。イヤなことを押し付けるようなソフトウェアでは、繰り返し使いたくなる人は少ないし、使ってもらえないソフトウェアではお金が儲からない。
この本の冒頭に、お祝いのカードを発行するソフトウェアの例が出てくる。
自分の名前とメッセージを入力するとかわいいグリーティング・カードができあがり、これをプレゼントすることができるものだ。
プログラムができあがって使用を始めると
グラフィック・デザイナーが設定した寸法では長い名前の人は名前の表記が途中で途切れてしまうことがわかった。その段階で、自動的に文字のサイズを縮小して入力した名前が全文字表示されるように仕様変更すればいいと思うのだが、プログラマーはなかなか言うことを聞いてくれない。「だって、そういう仕様だったじゃないですか?」
メッセージも同様だ。長いメッセージを入れると切れてしまうか、カードからはみ出してしまう。だったら文字カウンターを付けて、自分が今何文字入力していてあと何文字入力可能なのか表示できるようにすればいいと思う。このときにもプログラマーは言うことを聞いてくれない。「他のことはすべてサーバー・サイドで処理できるけれど文字カウンターはクライアント・サイドでないと処理できない。だから、これが必要なら全く別の開発が必要で、この開発は自分の領域ではない」とのたまう。
あ〜あ、私にも全く同じような経験がある。
仕様の決定の段階で、私がそんなに長い名前の人がいるだなんて想像できなかったこと、あ〜悪うございました。「××ちゃん、お誕生日おめでとうっ」以上の文字数のメッセージを入力する人がいっぱいいるだなんて想像できませんでした。はいはい、悪うございました。
やってみないとわからないことなんて、いくらでもあると思うんだけどね。
受託の時、ほとんどは既存の有名サービスを参考にしている。「このボタンを押すとamazonみたいにこうなる」とか「Facebookみたいな画面遷移がすぐにぱっと行われる」とかを希望する。すると、たいていプログラマーからは「amazonやFacebookみたいなインフラが用意できないんならこの速度でこういうことはムリです」とか言われる。僕らがamazonやFacebook並のインフラを持っていないことなんてみんな知ってるよ。あくまで「ああいう感じ」って言ってるんだから、打合せの冒頭で出席者の大半ががっかりするようなこと言うなよ。
もっと困るのは、仕様決定の際にプログラマーが「むずかしい」「ムリだ」というから別の仕様にしていたら完成間近になってそのプログラマーから「当初の希望通りにできましたっ」とか嬉しそうにやってくること。
仕様変更したの知ってるだろ? 変更した仕様で完成させろよ、もう今や変更前の仕様のことなんか誰もこだわってないよ。
この本を読み進めていくに従って、プログラマーの心理、プログラマーが私にやってほしいこと、プログラマーが喜ぶこと、全てわからなくなった。
もう、私は一生プログラマーという種類の人とお付き合いしないほうがお互いのためのような気がしてきた。
私もがっかりのしっぱなしだし、プログラマーの人もストレスを積み重ねていくしかなかろうからね。
プログラマーの人とこの先一切お付き合いしないで職業生活は全うできるのだろうか?