私のプロフィール 技術者を戒める言葉

 以前このブログ記事で書いた通り、22歳から23歳の私は、某ソフトウェア開発会社の新入社員でした。小型応用システム部という部署に配属されて、マイクロチップ・コンピュータを応用して製作された機器の、その中で動作するプログラムを組む仕事を学んで、実際にプログラムを組む作業をしていました。それに伴って、そのプログラムの内容を発注先のメーカーに説明・解説するための、膨大な文書を作成する仕事をしていました。
 ところで、その会社では、毎朝、仕事を始める前に、全員が集まって朝礼をする習慣がありました。社員が一日一人ずつ、一つの話題で短い話をする時間を与えられていました。私が配属されていた小型応用システム部のすぐ隣には、ハードウェア開発部の部署がありました。その実行部隊の一人の技術者が、その日の朝礼の話の当番に当たっていました。
 コンピュータのハードウェアを作る仕事をしている技術者の一人が何を話すのかな、と私は注目していました。すると、とんでもないことを聞いてしまったのです。「私たち技術者は、クライアント(技術者にとってのお客さん)から夢や期待を抱かれて、仕事を任せられます。だけど、ハードウェアは『ごまかし』であり、ソフトウェアは『嘘と偽り』にすぎないのだ。ということを忘れてはいけないのです。」
 私は、耳を疑いました。これは、きっと聞き間違いに違いない。その時、私はそう思いました。時代の最先端を進んでいるコンピュータの技術に対して、そのようなことを言うことは、国家反逆罪に値するくらい罪深い発言のように思えました。IT技術が当たり前のようになってきている現代社会において、そんなことを公に言うものならば、とんでもないことになってしまいます。インターネット上ならば、炎上を免れません。そして、根も葉もない、ウソ情報の一つとして処分されることでしょう。
 今でもそうですが、あのハードウェア技術者の述べていたそのような意見は、きっとそれなりの根拠を持っていたと、私には考えられるのです。それなりの理屈があるから、そのような意見が生まれたのだと思いました。当時、私は、マイクロコンピュータ利用者認定試験というものを、同じ部署の一つ年上の専門学校卒の先輩から勧められて受験しました。四級、三級、二級と受験して合格したのですが、その過程でマイクロコンピュータのハードウェアとソフトウェアの初歩的な仕組みに関して勉強しました。
 マイクロコンピュータのメモリーは、電子部品としては、複数のフリップフロップ回路およびAND/OR/XOR回路の組み合わせで出来ています。それらの電子回路の1本1本の配線は、ON/OFFの電気信号を伝える単位の1ビットとして扱われます。それらの複数本数の信号を束にして、8本あるいは16本の同時並行処理される1バイトおよび1ワードとして扱われます。そのバイトやワードが、メモリ(記憶装置)上のデータ(情報)の単位となって、そのそれぞれにアドレス(番地)が付けられています。そのようにしてメモリ上のデータそれぞれに番地が割り当てられていることによって、何番地にどんな情報があるかが、人為的に決められます。そして、さらなる人為的な取り決めによって、そのデータの種類が、ON/OFFのフラグなのか、自然数なのか、整数なのか、浮動小数点数なのか、文字コードなのかによって、ビットの列(電気信号の列あるいはデジタル信号とも呼ばれるもの)の表現あるいは意味の解釈がそれぞれ違ってきます。
 以上が、マイクロコンピュータの扱うメモリー装置のハードウェアとソフトウェアの基本的な構造なのですが、ここには現代流行(はやり)のインターネットも無ければ人工知能もありません。仮想現実さえ無いのです。しかし、これらの先進技術は、そうしたマイクロコンピュータの技術の基本的な構造が現実に無かったならば、すべてが机上の空論であり、人間の空虚な妄想にすぎないのです。
 私たち現代人は、そのことを全く意識しなくなっている、あるいは、こうしたことを意識しなくてもいいように「させられて」います。その『あやふやさ』が、現代に生きる私たちには、よくわかっていないような気がします。マイクロコンピュータのハードウェアとソフトウェアは、それらが存在して当たり前と考えられています。スマホが、私たちの生活に存在して当たり前と考えられているのと同じわけです。
 マイクロコンピュータのアクセスする、メモリアドレスの何番地がAくんの今月の給与額だとか、ほかの何番地が日本人男子の平均寿命だとか、あるいは、別の何々番地から始まるのがBさんへのメールの内容だとか、そういったことは、国家の法律や法令とか条例または制度で決まっていることではありません。そうしたものは、クライアントと技術者の間で内々に決められたことに基づいており、スマホなどのコンピュータ機器を操作する最終ユーザー(つまり、私たち多数)の預かり知らぬことなのです。
 本当のことを申しますと、コンピュータ技術者は、クライアントが抱く夢とか期待を、その技術を開発する際に抱いてはいません。あくまでも、己の培(つちか)った技術や知識に基づいて、人知れず地道な努力を重ねていかなければならないのです。夢とか期待とか、そうしたあやふやなものではなく、あくまでも、コンピュータという『もの』に即して、そのハードウェアとソフトウェアとを開発していかなければならないのです。ですから、クライアントから要求されたことを、彼らの習得した『確かな』技術を通して見ると、『ごまかし』や『嘘と偽り』に見えてしまうこともあるわけです。しかし、たとえどんな状況に陥っても、彼らは自らの習得した『確かな』技術に忠実に従っていくしかないわけです。
 こうした『ごまかし』や『嘘と偽り』といったことは、理工系の勉強をしてきた技術者(エンジニア)にとっては、なかなか馴染(なじ)めないことだったと言えましょう。そうしたことにこだわっていると、なかなか仕事の生産効率が上がらないものです。私が、大学の文学部で『愛』とか『恋』とか『運命』とかを勉強していたと、彼ら理工系の勉強をしてきた技術者に話すと、「君のほうが、ソフトウェアの開発に向いているね。」と、しばしば皮肉られたものでした。
 案の定、私は、マイクロコンピュータに関する専門知識をせっかく身につけたにもかかわらず、それを存分に発揮できるその職業を中途で断念して、その会社を辞めました。それは、その専門知識を身につければ身につけるほど、クライアント(技術者にとってのお客さん)の要求の意図、すなわち、それを要求するお客さんの気持ちがわからなくなってしまったからでした。俗に申せば、技術的に行き詰ってしまったわけです。私は、どうしても、クライアント(お客さん)の要求に合わせたプログラムを組みたいと思いました。それには、ソフトウェア開発会社の専門知識を持つ立場を主張することよりも、クライアント(お客さん)の側の立場を十分に知らなければなりませんでした。それで、新入社員の頃からそれまでお世話になっていた、ソフトウェア開発会社の社員であることを辞職してしまったのです。
 そのことを、今になって考えてみると、若気の至りだったようにも思えるし、仕方がなかったようにも思えます。やはり、本当の技術者になりたいのならば、(何度も同じことを申しますが)自らが習得した技術に忠実に従って、現実に対しては我慢していかなければならないものなのかもしれません。