株式会社Spelldata

〒100-0004
東京都千代田区大手町一丁目7番2号
東京サンケイビル27階
Tel: 03-3242-3150
Fax: 050-3488-8836
営業時間: 土日・祝日を除く 9:00〜17:00

正しい方向へ導く

「正しさハラスメント」とエンジニア倫理

2017年1月1日
著者: 竹洞 陽一郎

「正しさハラスメント」?

2016年12月ももう終わる時期に、話題になっているブログ記事があります。
「不寛容社会とエンジニアの『正しさハラスメント』」という記事です。

Qiitaやはてなブログなどを始めとするインターネット上の媒体で、「正しさハラスメント」は日常に行われている。これは今作った造語ではあるものの、ワードから実例を連想することができる人も非常に多いだろう。

例えば、初学者がプログラミングを始める時に、言語としてPHPを選んだとしよう。実際に多くの人が選ぶ言語であるし、この後に述べるような現象も多く起こっている言語なので、適切だろう。

初めからMVCの概念やらO/Rマッパーやらをブラックボックスのまま使っていても仕方がないため、PHP初心者ははじめは「index.phpだけで構成された(=生のPHP)、formのpostリクエストを受け取ってどーのこーの」といったコードを書くことから始める人は多い。そうして学んだことを、個人ブログやQiitaに書くこともまた、非常に多いことだろう。

しかしながら、この初学者のはじめての挑戦、そうして、何かしら自分で「動くものを作れた」という成功体験を折りに来る人が存在する。

前述のような過程によって生み出されたプログラムというのは、概ねネットを調べて得られた情報をいくつか結合したものであり、拙いものであることも多いだろう。しかしながら、「正しさハラスメント」を行うエンジニアは、それを許さない。

例えばセキュリティ対策を例に挙げる。

Qiitaやはてなブログなどを見ていると、初学者が作った簡単なフォームによるリクエストとそれに対してのレスポンスを行うプログラムに対して、「こういった書き方はセキュリティ上問題があるからまず最低限このようにXSS対策をしましょう。また、現在のモダンなコードとしてはこのような記述のされかたが一般的であり……」といったコメントをしている人をたびたびみかける。

彼らにとっては「はじめてのプログラムが思い通りに動いた」という事実がベースとなっているわけであり、わざわざその成功体験の「気持ちいい」状態を阻害する行為には、正直疑問を覚える。

初学者の人が、Qiitaに記事を書くのはどうかなと思います。
情報共有サイトであって、感想共有サイトではないからです。

記事の情報品質(正確性)の問題

昨今、問題になっているDeNA運営のwelqの医療情報についてですが、不正確な医療情報を提供して、それを閲覧者が信じて健康被害が生じた場合、不法行為に基づく損害賠償責任(民法709条)が生じる可能性があります。
(参照: 「無料法律相談や法律事務所・弁護士の検索ができる法律情報サイト Legalus — DeNAのキュレーションサイトに関する問題について」)

我々、ITエンジニアの技術情報についても、不正確な技術情報を提供して、それを閲覧者が信じて何かしらの問題が生じた場合、同様に不法行為に基づく損害賠償責任が生じる可能性があるわけです。
それを考えると、公に読める記事を書いて、それに対して、ツッコミを入れてもらえるのはありがたい話だと思うのですが、如何でしょうか?

ツッコミの問題点

この記事で主張されている、初心者に教えるべきフェーズというか、段階は、確かにそうだと思います。
最初から全てを教え込むのは無理で、段階を踏んで教えなくてはいけないというのは仰る通りです。
そこは、賛成です。

しかし、それをインターネット上で公開するのは、話が別です。
何故なら、公の場だからです。それは、情報としては流してはいけないと考えます。

流すのであれば、当然ツッコミは受け入れられなければなりません。
何故なら、誤った情報は公に流されてはいけないからです。

筆者の方がツッコミについて、成功体験の「気持ちいい」状態を阻害する行為と書かれています。
それはエンジニアを職業でやっていくのであれば、その体験の連続であることを最初から覚悟すべきです。

エンジニアという仕事は、学べば学ぶほど、経験を積めば積むほどに、「自分はまだまだ勉強不足だ。まだまだダメだ。」と身につまされる想いの連続です。
その想いが、学習の意欲へと否応なしに駆り立てていくのです。

私の場合は、実際の計測データや調査に基づかない、推測に基づいた的外れなツッコミをもらう事があります。
初学者にとっては、正しいツッコミかどうかが判断つきません。
ツッコミが良いかどうかより、ツッコミの内容そのものが正しいかどうかの方が、大きな問題だと思います。

エンジニアとは

この問題を考えるときに、そもそも、エンジニアとはどういう存在なのかを考えるべきだと思います。
Wikipediaには、以下のように記述されています。

Engineers design materials, structures, and systems while considering the limitations imposed by practicality, regulation, safety, and cost. The word engineer (from the Latin ingeniator) is derived from the Latin words ingeniare ("to contrive, devise") and ingenium ("cleverness"). The foundation education of an engineer is typically a 4-year bachelor's degree or in some countries, a master's degree in an engineering discipline plus 4-6 years peer-reviewed professional practice culminating in a project report or thesis. Engineers who seek a professional engineer license in N. America will be required to take further exams in ethics, law and professional practice. The work of engineers forms the link between scientific discoveries and their subsequent applications to human and business needs and quality of life.

エンジニアは、実用性、規則・法規・法令、安全性、コストによる制限を考慮しつつ、材料、建築物、システムを設計する。 エンジニア(ラテン語のingeniator)という言葉は、ラテン語のingeiare(計画を立てる、考案する)とingenium(賢さ、器用さ)に由来している。 エンジニアの基礎教育は、通常は4年制大学の学士号、国によっては4〜6年のピアレビューされたプロジェクトレポートや論文を加えた工学専門分野の修士号が必要となる。 北米において、エンジニアがプロフェッショナルエンジニアの免許を得るには、更に倫理、法律、実務に関する試験に合格することが求められる。 エンジニアの仕事は、科学的な発見と、その後に人やビジネスの必要性や生活の質にそれを適用する、その間を繋ぐものと言える。

アメリカでは、ITエンジニアも、その他のエンジニアも、また、他の職種も、大学で専門の学部を卒業しなくては、その仕事に就くことができません。
日本の場合は、工学部出身でなくても、ITエンジニアとして就職できます。
私も、法学部出身ですが、ITエンジニアとして仕事ができるのは、日本だからです。

初学者の技術的な間違いに対するツッコミが、「正しさハラスメント」と認知されてしまうのは、日本特有の事情に依るものだと思います。
アメリカでも、日本でも、ITエンジニアとして大学で学んでいれば、初学者のレベルを超えるからです。
何かしらの技術的な記事を書く際には、工学部を卒業している時点で、技術論文の作法は学んでいるでしょうし、初学者にありがちなミスも無いでしょう。

日本においても、法律、建築、医療などの資格制度に基づく就業を前提としている業界では、同じような事象は見当たらないですよね。

エンジニアリングとは

私達ITエンジニアは、ITに関するエンジニアリングを行います。

では、エンジニアリングとは、何でしょうか?
Wikipediaには以下のように記載されています。

Engineering is the application of mathematics and scientific, economic, social, and practical knowledge in order to invent, innovate, design, build, maintain, research, and improve structures, machines, tools, systems, components, materials, processes, solutions, and organizations.

エンジニアリングとは、発明、新しい技術の導入、設計、構築、維持、調査するために数学・科学、経済的・社会的・実用的知識を適用して、建築、機械、ツール、システム、コンポーネント、材料、プロセス、ソリューション、組織を改善する。

このように、私達エンジニアは、プロとして仕事をするために、数学・科学知識を習得し、経済的・社会的・実用的知識を学ぶ必要があります。
それが、今、日本のITエンジニア、特にWeb関係のエンジニアには欠けているように感じるのです。

日本において、ITエンジニアとして仕事をするには、工学部出身である必要は無いです。
だからといってエンジニアとして必要な知識を学ばなくて良いという事ではありません。
工学部出身ではないからこそ、人一倍、エンジニアとして必要な基礎知識を学ばなくてはいけないと思うのです。

エンジニア倫理とは

私が、Webで配信されている間違った、不正確な記事を読んで常々感じるのは、エンジニア倫理の欠如です。

法学部では、法の携わる者の倫理に関する授業があります。
医学部では、医療に携わる者の倫理に関する授業があります。
工学部では、工学に携わる者の倫理に関する授業があります。

専門職、プロフェッショナルには、その仕事に携わる上で、守るべき、胸に刻むべき倫理規定があります。
それは、専門家であるが故に、自分の仕事が社会に対して大きな影響を与えるからです。
間違った情報を流通させる事は、専門職としての倫理感が欠けていると私は考えます。

日本のエンジニアの資格試験である技術士試験では、倫理に関する問題が出ます。
是非、以下のエンジニアの倫理に関する文書を読んでみて下さい。

どの倫理規定を読んでも、同じような内容ですが、その共通項の一つに、「専門家としての研鑽」と「社会に対する影響を考えなさい」という項目があります。
私達、エンジニアが優先すべきは「正しさ」の方だと考えます。

もしも駆け出しの医師や建築士が、先輩たちからツッコミや指導を受けて「自分の気持ち良さを阻害された」と発言したら…と考えてみてください。

ツッコミによって、成功体験を阻害されて、エンジニアが育たないというのであれば、いくら人材不足であっても、そんなエンジニアを世に出すべきではないと私は考えます。
専門職は社会に対して与える影響が大きいが故に、専門知識に欠けるエンジニアの仕事は社会に与える損害が大きいからです。

他の専門職の犯したミスが、どれだけ社会的に大きなインパクトを与えているか、考えてみて下さい。
医療ミス、弁護士の不適切な法律行為、監査機能を果たさない監査法人、建築士の設計ミス…

倫理や質が低下すると、業界全体の評価・信用が下がる

IT業界では、人月単価の低下や、受注額の低下を嘆く声が数多く聞かれます。
それは、クラウドコンピューティングの普及による、システム機器納入で稼いでいた利益が失われたとか、参入障壁が低いとか、競争が激しいとか、色々と要因はあるでしょう。

しかし、私がIT業界以外の経営者の人達と話をしていて痛感するのは、IT業界に対する評価の低さ、信用の無さです。
ITシステムの開発や、Webサイトの制作などで、痛い目にあっているから、疑いの目を持ち、お金を出す事に慎重になります。
信用の低下、評価の低下が期待を低下させ、そして発注額をできるだけ下げようとするのです。

情報の非対称性

ITのような専門知識を必要とする市場での信用の低下が市場全体を落ち目にしてしまう現象を解明したのが、1972年に51歳という史上最年少でノーベル経済学賞を受賞したアメリカの理論経済学者ケネス・アローです。
これは、「情報の非対称性」と呼ばれています。

情報の非対称性は、市場における各取引主体が保有する情報に差があるときの、その不均等な情報構造である。「売り手」と「買い手」の間において、「売り手」のみが専門知識と情報を有し、「買い手」はそれを知らないというように、双方で情報と知識の共有ができていない状態のことを指す。情報の非対称性があるとき、一般に市場の失敗が生じパレート効率的な結果が実現できなくなる。このとき、必ずしも情報を持たない側に不利益が生じるわけではなく、情報を持つ側に不利益が生じることもある。

情報の非対称性という用語は、アメリカの理論経済学ジョージ・アカロフが1970年に発表した論文 “The Market for Lemons: Quality Uncertainty and the Market Mechanism” で初めて登場しました。
彼は、2001年にノーベル経済学賞を受賞しています。

The Market of Lemonsというのは、中古車市場の事です。
購入する前に、中古車に欠陥があるかどうかを、一般消費者が判断するのは難しいです。
欠陥のある中古車を売りつけられてしまった場合に、自分では見分けることができないが故に、その市場全体に対する評価が下がり、そして中古車市場に対する期待が下がり、結果として、良品の中古車すらも高く売れなくなります。

「中古車」を、「ITシステム構築」や「Webサイト構築」に置き換えてみて下さい。
そっくり、そのままの事象が発生しているのです。
このような事態を改善するためには、業界全体としての技術力向上や専門知識の習得が欠かせません。

アメリカのTVドラマ「Numb3rs」では、麻薬市場を崩壊させるために、FBIが質の悪い麻薬を市場に流通させる作戦が出てました。
(Seaon 5 第17話 "Cover me"(潜入捜査))
これも、この情報の非対称性の理論を応用したものです。

セキュリティは最優先事項

このブログ記事の中で、ツッコミの例としてセキュリティの件が挙げられていました。
セキュリティの重要性は、Web業界のエンジニアは無頓着なような気がします。
だから、様々なインシデント(コンピュータやネットワークのセキュリティを脅かす事象)が発生しているのです。

是非、NHKオンデマンドで今年放映されたNHKスペシャル「CYBER SHOCK 狙われる日本の機密情報」を観て下さい。
これを観ると、例えば「WordPressでサイトを構築しましょう」と、安易にブログの記事等で本当に提案して良いのか、真剣に考えるきっかけになると思います。
同様に、セキュリティについて最初から考慮してコーディングする事の重要性も認識できるのではないでしょうか?

ITエンジニアの育成は専門家の育成

ITエンジニアは知識労働者であり、専門家です。
専門家の育成には、長い専門教育が必要です。
工学部出身者以外のITエンジニアについては、基礎教育がおざなりになってしまっているのが、そもそもの根本的な問題だと思います。

ITエンジニアとして、学んでいく上で、きちんとした専門機関で学ぶのが理想です。
それが難しい場合は、きちんとした師を見つけるべきです。
それも難しい場合は、独学となりますが、その場合に、自分の学びが正しい方向に向かっているかどうかを確認する必要があると思います。

それを考えると、ツッコミは適切さの問題はあるかもしれませんが、初学者には全般的には歓迎されるものだと思います。
後から、何か取り返しのつかない問題を発生させて、ITエンジニアとしてのキャリアを失うより、遥かに良いと思うのです。

[前のページに戻る]