考えないユーザ

柴田芳樹氏のブログに「考えないエンジニア」というエントリが載っていた。言われるままに矛盾を含んだソフトを平気に作ってしまうとか、問題を予見することなく実際に作った後でようやく問題を考え始めるとか問題が多いエンジニアが多いことは事実だと思う。昔はそんな事が無かったと言うつもりはないけれど、ソフトウェア開発に関わるエンジニアが増えて「必ずしもソフトウェア開発が好きではない」人が多くなってきた今では無視出来ない状況だと思う。

こんな書き方をすると、そんな事はない、自分はしっかり考えて作っているというコメントの類が有るのだけど、こんなブログを読んで自ら勉強しているような人はそもそも「考えないエンジニア」には該当しないことだろう。問題なのは、技術書を読むこともなく、技術系のサイトで勉強することもなく、言われた仕事だけをこなしつつ、マネジメントに対する文句を並べてばかりいるエンジニアではないだろうか。

そんな事を考えつつ柴田氏の著書を読んでいるのだが、書かれている内容は実はエンジニアだけではなく、ソフトウェアを使うユーザも当てはまるのではないかと気が付いた。例えば、ブログには著書より下記のような引用が載っている。

 その結果、書いたコードにエラーがあると、「なぜエラーになったのか」を考えることなく、ちょっとだけソースコードを修正して、すぐにまたコンパイルと実行を行ったりする人が少なくありません。さらに、動作させてうまくいかないと、その理由をじっくりと考えることなく、またちょっとソースコードを修正して、同じサイクルを繰り返したりします。
 つまり、ソースコードやエラーメッセージをじっくりと読んで考えることなく、試行錯誤を繰り返すのです。
 このようなことを繰り返していると、自分が書いたプログラムであっても、コードを実行せずにコードの動きを頭の中でシミュレーションしながら、正しいかどうかを冷静に判断することができなくなります。そして、どのように動作するかを実行することだけで確かめようとするのです。
 このように、コンピュータ技術の急速な発展は、皮肉にも、論理的に思考あるいは推論をしないでソフトウェアを開発するエンジニアを増大させる一因となっているような気がします。

考えないエンジニア:柴田 芳樹 (Yoshiki Shibata):So-netブログ

この記載を、エンジニアからユーザに書き変えてみたのがこちら。(太字部分)

 その結果、納品されたコードにエラーがあると、「なぜエラーになったのか」を考えることなく、ちょっとだけソースコードの修正を要求して、すぐにまた仕様変更と実行を行ったりする人が少なくありません。さらに、動作させてうまくいかないと、その理由をじっくりと考えることなく、またちょっとソースコードの変更を要求して、同じサイクルを繰り返したりします。
 つまり、マニュアルやエラーメッセージをじっくりと読んで考えることなく、試行錯誤を繰り返すのです。
 このようなことを繰り返していると、自分が要求したプログラムであっても、コードを実行せずにコードの動きを頭の中でシミュレーションしながら、正しいかどうかを冷静に判断することができなくなります。そして、どのように動作するかを実行することだけで確かめようとするのです。
 このように、コンピュータ技術の急速な発展は、皮肉にも、論理的に思考あるいは推論をしないでソフトウェアを利用するユーザを増大させる一因となっているような気がします。

全然違和感なく読めるように思う。コンピュータ時代には、エンジニアだけではなくユーザ側においても、それなりのスキルやリテラシーが求められるはずなのだが、矛盾だらけの要求を平気で並べるユーザに対して反省を促すことは少ない。大抵の場合、「作るエンジニアが悪い」ということになってしまい、泣く泣く対応を迫られる現場が少なくないのではないだろうか。「考えないエンジニア」が開発現場に多いのは事実だけど、それと同じくらい「考えないユーザ」も存在するように感じる。

柴田氏の鋭い洞察は、ソフトウェアを開発するエンジニアだけではなく、ソフトウェアを利用するユーザにも当てはまるように思う。

プログラマー”まだまだ”現役続行 (技評SE選書)

プログラマー”まだまだ”現役続行 (技評SE選書)



関連