派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

サクッとわかるITトレンド2月号:ITエンジニアのための“効率の良い”数学の学び方

IT業界にいると「ちょっと気になる」そんな話題をサクッと解説する本連載。
今回のテーマは、ITエンジニアと数学。ネット上では「ITエンジニアに数学は必要か?」という議論がたびたび盛り上がります。数学が不要な業務もありますが、中には論理的思考が活きる場合も。そこで、どのような分野で数学が求められるのか、時間をかけない学習法と合わせてご紹介いただきます。学び直しが注目されている今、「数学」はいかが?

【解説】増井 敏克さん
増井技術士事務所代表。技術士(情報工学部門)。情報処理技術者試験にも多数合格。ビジネス数学検定1級。「ビジネス」×「数学」×「IT」を組み合わせ、コンピューターを「正しく」「効率よく」使うためのスキルアップ支援や、各種ソフトウェアの開発、データ分析などを行う。著書に『エンジニアが生き残るためのテクノロジーの授業 ~変化に強い人材になれる技術と考え方~』『IT用語図鑑[エンジニア編]』(以上、翔泳社)『基礎からのプログラミングリテラシー コンピュータのしくみから技術書の選び方まで厳選キーワードをくらべて学ぶ!』(技術評論社)などがある。

職種別にみる、数学必要?不要?

ITエンジニアの業務内容は多岐に渡りますが、たとえば「プログラミング」を担当するシステムエンジニアやプログラマのような職種を考えてみましょう。

■Webアプリの開発

学校で学んだような数学が求められる場面は多くありません。入力欄を表示して利用者が入力した内容をデータベースに登録する、検索キーワードに対して検索結果を表示する、といった内容では数学的な知識は必要ありません。登録された内容を集計して表示する画面を作成するには、合計の計算や割り算といった内容は必要ですが、小学校で学ぶ算数程度の知識で十分です。

■3Dゲーム/AI(人工知能)を使ったアプリ/統計処理が必要なシステムの開発

高度な数学が求められます。高校で学ぶ程度の数学では理解できず、理系の大学で学ぶような数学が必要となる場面もあるでしょう。競技プログラミングのように、アルゴリズムの工夫が求められる場面では、数学的な考え方によって効率よく問題を解ける場合があります。

■サーバーやネットワークなどを担当するインフラエンジニア

高度な数学が求められる場面はほとんどありません。IPアドレスの管理に2進数や16進数の考え方が必要だったり、障害が発生したときの原因究明に論理的な考え方が求められたりする程度で、学校で学んだ数学を学び直してもあまり効果はないかもしれません。

他にも、さまざまな職種がありますが、「ITエンジニア」といっても高度な数学を学ばないといけない職種や業務内容は特殊なものだと考えられます。実際、職場を見渡してみると、理系出身のエンジニアよりも文系出身のエンジニアが多い会社も珍しくありません。

そんな中、なぜ数学が求められるのでしょうか?

ITエンジニアに数学が求められる理由は2つ

数学が求められる理由として考えられるものの1つが「論理的思考」です。上記では「障害が発生したときの原因究明」について書きましたが、それ以外にもビジネスにおいて論理的な説明が求められることは珍しくありません。

つまり、論理的思考を学ぶために、数学が注目されている、ということが考えられます。この場合は、専門的な数学というよりも、その考え方を学ぶことが求められそうです。

2つ目の理由としては、実際に数学が必要な業務が増えていることも挙げられます。世の中では「情報化社会」から「情報社会」に変わっていると言われ、「DX」という言葉が多く使われるように、「データ」や「情報」、「デジタル技術」を扱う現場に近いITエンジニアに求められるものも変わってきています。

DX白書2021には、「ITに関する人材の学び」という項目の中で、「今後身につけるべき技術や領域のスキルとして重要度が高いもの」についてのアンケートを実施した回答が集計されています。


(出典)「DX白書2021」 p.155(https://www.ipa.go.jp/ikc/publish/dx_hakusho.html

 

これを見ると、AIやデータサイエンスのスキルを重要度が高いと感じている人が多いことがわかります。実際、「データサイエンス」という言葉をGoogleトレンドで調べると、次の図のように、徐々に注目を集めていることがわかります。


(出典)Googleトレンド

最近では、多くの大学で「データサイエンス学部」などが登場しているように、データを扱う考え方が注目されているのです。このAIやデータサイエンスという分野には、数学や統計が必須であり、こういった知識を持つエンジニアが求められているのです。

時間をかけずに学び直すには、取り掛かる前が重要

このように、求められているものが違うことがわかると問題になるのが、数学や統計という範囲の広さです。中学校や高校で学んだ内容を復習するだけでも大変ですし、AIやデータサイエンスに必要な数学はもっと幅が広く、深いものです。業務に必要な範囲を意識しないと、延々と数学を学び続けることになってしまいます。

そこで、まずはどのような範囲を学ぶ必要があるのか、周囲の人と相談することも有効です。ビジネスに必要な論理的な考え方を身につけるために数学を学びたいのに、専門的な数学を学ぶのは少し遠回りになってしまうでしょう。

特に、数学を学ぶとき、前から順に学ぼうとする人がいます。学校での数学は「積み重ねの学問」と呼ばれることもあり、前提となる知識がないと理解できないと考えているためです。しかし、さまざまな分野が絡み合っている数学を、大人がビジネスの場面で学ぼうとすると、本当に学びたい分野に辿り着くまでにとても時間がかかってしまうことも少なくありません。

これを避けるためにも、必要なところだけを学ぶことが効果的です。全体をざっと把握し、必要なところだけを詳しく勉強すればよいのです。このような考え方として、「パラシュート勉強法」があります。必要になったときに、必要になった分だけを学ぶ方法で、『「超」整理法』の著者である野口悠紀雄氏が提唱する以下のような方法です。

たとえば、「山の頂上に立ちたい」と思ったとき、登山のグッズを揃えて、綿密に計画を立てて準備をし、一歩一歩登ることもできますが、そもそも登山をする必要があるのかを考えるのです。飛行機に乗って、途中で飛び降りてパラシュートで山の頂上に立つ方法でも目的を達しています。まずはゴールを考え、それを実現するために必要な方法を考えれば、最短経路で目的を実現できる可能性があります。

ITを使った場面で考えると、「文章と文章がどのくらい似ているのか調べたい」とします。このとき、単語を比較する方法や文法を考える方法が思いつきます。そして、少し調べてみると、「Word2Vec」や「コサイン類似度」といった言葉に到達するでしょう。これらをもう少し深く調べると、ベクトルや三角関数が使われていることがわかります。

このような場合は、他の数学的な知識が抜けていても、やりたいことに必要な部分だけを学ぶことで、できるだけ時間をかけずに学ぶことができます。やりたいことを考え、それがどのように実現できるのかを調べていくことで、必要な数学だけを学ぶという考え方もあるのです。

まとめ

専門的な数学を求められる領域では、積み重ねが必要な場合があり、学校で使った教科書を復習する方法もあります。しかし、社会人が仕事の合間に数学を学びたい場合には、使いたい技術などについて調べたうえで、わからない言葉が出てきてから、その単元に戻って学び直す方法が効率的なことが多いでしょう。まずは自分に必要な数学がどのようなジャンルなのか、キーワードを検索することからはじめてみましょう。

▼これまでのサクッとわかるITトレンド
Pythonはなぜこれほど人気なのか
大人も自由研究!IoTでプログラミングを体験しよう
サイバー攻撃に備えている?その対策は本当に有効ですか
Javaで開発するプログラマに将来性はあるのか
ITエンジニアはWeb3とどう向き合えばいいのか
RPAとプログラマーの役割はどう分担されるのか