COBOL技術者の憂鬱

COBOLプログラマは不在にしています

アスリートとアーティスト

また昔話になってしまいますが、今から15年程前、私がこの業界で働き始めた頃は、職場の各人のデスクにはPCが置かれていない席の方が多かったことを記憶しています。
設計書などのドキュメントを作成する際には、富士通のOASYSというワープロ専用機が職場の片隅に何台か置かれていて、それらをみんなで共用で使っていました。同様に、プログラムを開発する際にも、専用の端末が並んでいる部屋があり、そこへ人間が移動してやっていたように思います。
コンピュータ関連の仕事をしているにもかかわらず、作業環境が一人一台与えられているわけではないという事実に、配属された当初はかなりショックを受けましたね。
「共有」という感覚についても、今とは異なっていて、例えばプリンタでドキュメントを印刷する際にも、プリンタが唯一接続されている印刷専用のPCが一台置かれていて、そこへフロッピーディスクでドキュメントを持って行って印刷していました。
ファイルを複数で共有して編集するなんてこともできなかったし、メールなんてまだ夢のまた夢でした。
要するに、LAN環境がまだ普及していなかったんですよね。



当時は、お客さんのところで常駐して開発するタイプの勤務形態だったのですが、発注元は大手の金融機関だったし、受注元も大手SIerのプロパー社員として勤務していたので、その職場だけが特別遅れていたわけではなく、おそらくその時代はどこでもそんな、牧歌的な感じの環境で誰も彼もが仕事をしていたのでしょう。
私がこの業界に入る以前には、それこそ手書きで設計書を書いていた時代もあったそうだし、開発についても、私は見たこともないのですが「パンチカード」と呼ばれるものを使っていたりしたそうですね。



さて、今思うと、その時代から想起されるのは、一つの仕事(案件)に対して、じっくりと腰を据えて取り掛かっていくというイメージです。自分の納得のいく仕上がりまで時間をかけて丁寧に磨き上げていくといった、そういう職人チックな、アーティスティックな世界観ですね。
これは本当に実際、そうだったと思います。新人だった頃の私は、とにかく右も左もわからなかったので、各方面から回ってくる仕事をなりふり構わず引き受けては、とにかく自分のできる仕事のレパートリーを増やすことに必死になっていました。当然、どれもこれもが中途半端な状態でスタックしてしまい、結局周囲に迷惑ばかりかけていました。
ある時、この道20年以上のキャリアを持つベテランの上司が、そんな風に必死になっている私の姿を見て、「そんな風に何でもかんでも仕事を引き受けていたら、いつまでたっても一人前にはなれないよ。自分の得意分野を持っていて、自分の設定した期間内で、きっちりと完璧な仕事のできる奴が、本当に優秀な奴なんだよ。」と言われたことを今でも覚えています。





私がその職場で働き始めて2〜3年した頃から、ようやく職場にLAN環境が整い始めました。プリントサーバ・ファイルサーバ・メールサーバが整備され、さらに一人に一台ずつ専用の作業端末が配布され、そこで設計書を書いたり、プログラム開発したり、メールしたりといったことが、徐々にできるようになってきました。



LAN環境が整備された職場では、メールで顧客や上司からバンバン指令や問い合わせが飛んで来るようになりました。それらに対して、どれだけ高速でレスポンスを返せるかの勝負になっています。
設計書等を作成する際にも、過去の案件で作ったものの中から再利用できそうなものをまずファイルサーバから探してきて、それをコピー&リライトして完成させて、さくっと印刷して上司や顧客レビューに流すといったことができるようになりました。
開発についても、テストデータなんかはエクセルでドカっと加工して、それをテスト環境に一気に流しこんで終わらせるといったことができるようになりました。
職場環境がこういう状況になってからは、先のベテラン上司などは「昔と比べて仕事のスピードが飛躍的に向上したなー」と感慨深げに言っていました。
しかし、何故かその言葉の裏側には、どうも否定的なニュアンスが混じっているような気が、当時の私にはしたのです。



つまりどういうことかというと、作業環境の飛躍的な進化により、効率が上がったのはよいのですが、そのせいで、なんとなく人間の方が環境についていけていないような気がするんですよね。
誰も彼もが、絶え間なく自分に降り注いでくるミッションに対して、ひたすらタイムアタックを繰り返していっているような、そんなイメージです。
これは、プログラマだけではなくて、他の職種についてもそうです。営業やリードプログラマやプロジェクトマネージャに至るまで、スケージュール策定・見積もり作成、作業の割り振りから実際の指示に至るまで、とにかくスピード至上主義になってきていると感じます。



おかげで生産性が飛躍的に向上してきていると感じるのですが、その結果、品質についてはどうなってしまったのでしょうか。
今の職場にいる若い人達に「品質とは何か?」というテーマで議論をさせると、「トラブルを出さないこと」という結論のみが返ってきます。確かに、現在の職場環境のみで育った人たちからは、それ以外の発想が出てこないのは無理もないような気がするのですが、でもそれってものすごく恐ろしいことだと思うんです。
なぜなら、そういう発想しかない人達だけで構成された開発チームって、「食中毒を出さなければオッケー」と言いながら料理をしているシェフ達のいる飲食店と同じでしょう。誰もそんなお店で食事をしたいとは思いませんよね?
我々は、一分一秒を争うタイムアタックをひたすら続け、そのことで観客を感動させるアスリートではなく、精魂込めて丹念に仕上げた成果物を納品して顧客に満足していただくアーティストなのです。



この問題については、かなり根が深いので、今後も何度かこのブログの中で触れることになると思います。
とりあえず本エントリでは、この業界には今一度、職人性の復権が求められているのではないかと、疑問を提示して終わりにしておこうと思います。