要件定義の不安をなくす。要件定義の不安をなくす。ユニファのバックエンド分割に学ぶイノベーションメタバース開発に必要な技術の基本知識をおさらい。Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。11:15コラムツイートこの連載は、"常識"のやっかいさを知り、そこからエンジニアという仕事について考え、最終的によいモノを作っていこう、という試みです。今回はエンジニアを惑わす「常識」の正体を明らかにしていこうと思います。ツイートこの連載は、"常識"のやっかいさを知り、そこからエンジニアという仕事について考え、最終的によいモノを作っていこう、という試みです。連載名の「常識をぶち壊す」とは、非常識がよいという意味ではありません。後述する常識の特性を知り、守るべきところは守り、壊すところは壊し、できるだけフラットな頭で世に貢献しましょうという思いを込めています。第1回を読んでいない方はまずご一読ください。湧き上がってきた思い、感情、衝動を感じながらこの第2回をお読みください。今回はエンジニアを惑わす「常識」の正体を明らかにしていこうと思います。心理学まで踏み込むと複雑なことになりますので、できるだけ簡略化して考えていきます。第1回「コーディングスタイルの常識をぶち壊せ」はいかがでしたか?面白かった、ムカついた、納得した、呆れた、ほくそ笑んだ、憤慨した、勉強になった、説教したくなった、自身の常識を語りたくなった。何も思わなかった、という方もいるでしょう。不快な思いをされた方にはお詫び申し上げます。第1回目の記事は「常識」の持つ力を体感していただくために書いてみました。英文法の呪縛」では、経験してきた開発言語、コーディングルールへのこだわり具合、英語に堪能かどうかなど、皆さん個人個人で異なる常識に感情が動かされたことと思います。後半の「マルチステートメント」では、古い常識を取り入れ、より複雑な例にしてみました。常識ってなんでしょう?人の行動や思考は、学習の繰り返しにより、意識から無意識へと降りていき定着します。あれこれ考えなくても判断できるようになるものです。いつのまにか操作を意識せずに車が運転できるようになる現象がよく取り上げられますね。無意識へ降りたことで、反射的に機能することを、パブロフは条件反射として表現し、NLP(心理学の一種)ではパートと表現したりします。ブラックボックス化された関数のようなものと考えると分かりやすいです。最低限のパラメーターで呼び出すだけで結果が返ってくる。常識もこれに似たものと考えられます。繰り返しの学習や環境によりルール化され、意識しなくても行動したり制限したりできるようになる意味で、反射やパートにとても似たものと考えられます。2つの常識まず常識をざっくり2つに分けてみることにします。一つは、「世界中のどこでも変わらないこと」。「1+1=2」のような常識。1つは、ある組織内(個人)だけで通用している常識。「相対常識」と呼ぶことにします。これらはキッパリ2つに分けられるものではなく、連続的な傾向としての概念であることに注意してください。この連載では両者の違いを意識しながら進めていきます。以降、相対常識と絶対常識がそれぞれに変貌していく現象にまで触れていけたらと思います。絶対常識まずは絶対常識について考えて見ましょう。「1+1=2」これは世界のどこへ行っても変わらない常識と言えるでしょう。即座に「2」という答えが出てきます。「コンロの火に10秒手を突っ込むと火傷する」これも変わらない常識と言っていいと思います。痛い思いをする前に手を引っ込めます。このように絶対常識は比較的分かりやすい概念のように思われます。分かりやすくて普遍的であるが故に、人から指摘された場合、恥ずかしさの感情が起きたとしても、すぐに学習しようとする傾向にあるようです。頑固者は「痩せ我慢」という手法で抵抗することはあっても、繰り返すことは望まないでしょう。相対常識やっかいなのは相対常識です。無意識下にブラックボックス化された常識は、マズローの欲求段階説で言うところの安全欲求にあたると言われています。生理的欲求の次に本能レベルに近いということです。人それぞれが大切にしているものでもあります。ここを肯定されると人は安心し、常識はさらに強化されます。否定されると即座に身を守る反応をします。軽度のものはコミュニケーションを生み、重度のものは軋轢を生みます。「ラーメンは絶対こってり系だよね」「いや、絶対あっさり系だよ」この程度の個人個人の相対常識のぶつかり合いであればコミュニケーションと呼べる範疇でしょう。活造りのお頭がパクパクいってる様を他国の人が見たらどうでしょう。日本人なら新鮮でおいしそうと感じるでしょうが、他国の人にとっては「なんて残酷なことするのだ!」と感じるようです。コミュニケーションの範疇を超えて軋轢を生んでしまいそうです。エンジニアと営業、ハード屋とソフト屋、自分の部署と他の部署、日本人と外国人、男と女......。このように、相対常識とは個人、個人の所属する組織、立場、環境などによって変わる、価値観のことと言っていいでしょう。厄介なことは......相対常識が、それを信じる人の中では絶対常識化しているということが往々にしてあることです。価値観に過ぎないことが常識と信じられていることです。相対常識が違う人同士が主張を始めたとき、軋轢が発生します。相対常識とは、かくも人の心をかき乱します。常識とは本来、人の心を安定させるための存在であるはずなのに皮肉なことです。エンジニアの仕事はクライアントが抱える問題(多くが煩雑さや物量の多さ)を技術で軽減してあげることにより対価をいただく仕事です。求められるのは最大公約数的ソリューションであるため、絶対常識の要素を要求してきます。相対常識と絶対常識の対峙構造が常にあるということです。そもそもあるべき設計はこれでいいのか?」エンジニアの仕事って、なんて悩ましく、ややこしく、深い世界なんでしょう。いいものを開発したときの達成感、世に出せたときの貢献感、このエンジニアに与えられた特権を最大限に味わいたいものです。少々硬くなりましたね。次回は具体例をあげながら、もう少しやわらかくいきたいと思います。3.12」の最初のベータ版がリリース新着記事一覧を見るイベント今後の予定を見るCodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。