見出し画像

5教科について考える

はじめに

エンジニアをしているとふと自分の基礎力のなさにガッカリすることがある。ここでの基礎力はプログラミングやコンピュータの知識よりもっと根源的なもの、いわゆる「読み・書き・そろばん」である。

このような基礎能力を培うために、「学校」、「義務教育」という制度は機能する。一般的な学校では上記の「読み・書き・そろばん」を「国語・数学・英語」とした。それらに「社会・理科」を加えて「5教科」と呼称している。

大学入学共通テストにも代表されるように、これらの科目は「この人物はこの機関に入るだけの能力たり得てるか?」という物差しとして利用される場面が少なくない。

しかし、この5教科という科目は社会に役立つ人材を養う上で本当に役に立つものが選ばれてるのだろうか?流石に現代社会とはズレが生じているのではないだろうな。本稿は、5教科とIT人材について考えてみた。

※「5教科ってなんだよw6教科7科目だろw」と指摘をされるかもしれないが、義務教育としては5教科区切りが普通なようなのでこちらを採用した。ただし、内容は高校教育にも触れる可能性あり。ブレブレですまない。
※筆者は普通中学・普通高校の出身であるため、特殊な教育機関(スポーツ強豪校やインターナショナルスクールなど)の事情を汲みしていない。悪しからず。

国語

つまり「日本語」の授業である。日本語文章を読んで、自分の考えを書く力を養うことを目的としている。筆者の記憶だと、小学校の頃国語のリスニング(テープから流れてくる内容を聞き取って問題をとく。意外と難しい)という変化球もあったが、読む・書くが基本だと思う。

結論から言うと国語はIT人材から見ても最重要課題である。ITの仕事もプログラミングやサーバーの構築だけが仕事じゃない。むしろそれらは、設計書やマニュアルの執筆、非機能要件のレビューなど膨大な日本語業務を経た上での結果にすぎない。

「読み・書き」は両方とも大事だが、特に「書き」に対しては、修練不足を嘆くことが多々あったように思える。例えば、設計書などは膨大な資料をファイル間の矛盾なく、過不足なく、誰にでもわかるような文章を作成しなければならない。

一方、古文や漢文というのはITエンジニアにとってはそれほど大事なスキルを得られる科目ではないようにも思える。とはいえ尊敬語・謙譲語を体系的に習えるため実社会で役な立つことは間違いない。

数学

「エンジニアに数学はいらない!」
エンジニアをしてると、ネット上や実生活でこんな主張を見たり、聞いたりしたことがあるだろう。(なかったとしたら、とても高純度なエンジニア環境で働いてるのだろう。)

残念ながら数学は必須だ。学生時代数学を放棄してきた自分を呪う。一つ救いなのは、「数学の知識」ではなく「数学的思考力」が重要視される傾向にある。
ではこの「数学的思考力」とは何か?私見を述べると「抽象的な課題を具体的な数字や表に整理する力」、「ふりだしから結論までのアプローチを、順序よく考えられる力」のことである。

つまり、学生時代に経験した理解不能な数式に苦しめられるということではなく、上記のような姿勢および共通思想を用いてエンジニアは仕事をするということだ。

誤解なきようにいうと、数式がバリバリ登場する分野も山ほどある。ゲームプログラミングや暗号理論、深層学習なんてのはその代表格だ。数学を自由自在に操れれば面白い世界に行けるのは間違いなさそうだ。
(恨み節を言うなら、学校の先生も数学ができるとこんなことに応用できると教えてくれたら、私だってやる気が出ただろうに…あっ、言ってた?私が寝てただけ?あい、すみません…)

英語

「必要。以上」としか言えないのだが、つまらないのでもっと掘り下げてみる。IT技術の大半が海外からの輸入品だ。日本製のサーバーなどはあるが、基礎技術は米国が席巻している。なのでIT技術に関する資料やインターネットに転がってる情報は外国語(というかほとんど英語)だ。これらの情報から知識を吸収できるのは莫大なメリットがある。

数学とは異なり、英語は具体的な知識が必要になるため、「英語的思考力」なんてのが議論にあがることはない。仮に「英語的思考力」を定義してみると、「外国語だからと恐れずに足を踏み入れ、情報を取得・発信していく力」とでもなるのだろう。日本語で「〇〇 エラー 原因」などで調べてでなかったら諦める…なんてことはしてはならないのだ。それが英語だろうと中国語だろうとタガログ語だろうと、必要な情報があればそこから取得しなければいけないのだ。

若干救いなのは、英語は国語と違ってまずは「読む」ができれば十分と考える。上記の情報に触れて知識を獲得するというのがとても重要だからだ。幸い現代は優秀な翻訳ソフトが無料で使える。そこに文章をコピペしながら英文を読み進めることができる。

そして、次に大事なのが「聞く」だと考える。YouTubeなどでも有用な講義動画が英語で挙げられてたりする。

「書く」、「話す」などのアウトプットは上記に比べれば優先度は低いと考える。ただ、オフショアや海外ベンダーへサポートを受ける場合は必要になるので準備はしておいた方が良い。そして私は今この渦中にいる。畜生。
ここ最近の気づきとして「書く」、「話す」は難易度も高いが楽しい。幼稚な考えかもしれないが、自分のアウトプットが相手に届いて相互理解が捗る体験はすごく気持ちがよいものだ。この気持ちよさをモチベーションに英語学習にも拍車がかかる…はず。

理科

「仮説を検証して評価する姿勢を養う」ためには、理科がうってつけではないだろうか。
この思考がダイレクトに役に立つという例としてはテストがある。ITエンジニアはテストが避けられない。テストは難しい。そのうえ、工程が終盤になっていくほど難易度があがる。
ただ、どの工程のテストでもやりたいことは同じだ。「仮説→検証→評価」である。実はこれは、理科の実験に似ている。仮説を持ち出し最適な実験計画を考え実行、結果が仮説を裏付けるものかどうかを評価するといったものだ。もちろん、ITのテストには具体的なテクニックや調整能力など多面的な能力が求められるが、上記のフレームワークさえ理解していれば的外れなテストになりにくいと考える。そして、この態度を訓練できるのが理科という科目ということだ。

書いていて思ったがこの能力は、ITエンジニアだけではなく、マーケティングやコンサルにも需要があるのではないだろうか?いやいやトライアンドエラーという意味ではアーティストやアスリートにもあてはまる。全人類は理科を勉強せよ!

社会

さて5教科の中で、ITエンジニアと一番縁遠い科目と思われがちなのが、この社会ではないだろうか。実際に「守護と地頭の違いとは?」とか「五賢帝の最後の皇帝は?」とかいう知識がITエンジニアに関わってくるかと言われたら、距離の遠さを感じずにはいられない。

じゃあ、社会の学習は役に立たないかと言ったらあながちそうでもないと考える。「数学的思考力」の、「抽象的な課題を具体的な数字や表に整理する力」に若干被ってるが「散在している社会の事象を体系的に整理する力」が養える。

これらは特に上流工程で力を発揮する。要件定義は作業開始時点では顧客の要求以外は何もない白紙である。もちろん顧客の要求はあらぬ方向に散らばっていて、重複していたり必要なものが足りなかったり…このように、システムの「シ」の字もない状態から要件を具体化していく必要がある。

社会科目も単純な暗記ではなく、散らばってる歴史の登場人物や出来事を整理するように学習すれば、効率のアップのみならず、「社会的思考力」の良い訓練になるはずだ。

おわりに

5教科とITエンジニアの仕事の関連性について考えてみた。「全てに役立つ」という結論ありきで進めてみた感は否めないが、意外と無理なく全ての教科に有用性を見出せた。文科省がこの5教科を採用し続けるはずである。

私が気づいたこととすればやはり「アウトプットの機会の少なさ」であろうか。いや、アウトプットはあるのだが「長文を書く」とか「議論する」などのアウトプットが足りない。社会では一年目から求められてるのにも関わらずだ。文科省はプログラミングを必修にするまえに、ここら辺の訓練をする機会創出に腐心してみてはいかがだろうか…

この記事が気に入ったらサポートをしてみませんか?