「Webエンジニアに数学的知識って必要なのかな?」
「Webエンジニアに就職しようと思ったけど文系出身だと難しそう…」
このような悩みをお持ちではないでしょうか?
エンジニア業界のなかでも話に出てくるのが、数学的な知識が必要なのかという議論です。数学は必要だという意見もあるため「自分は向いていないのかも」と自信を失う方もいるでしょう。
そこで今回は、下記の内容を解説していきます。
- Webエンジニアはサービスを大きくするために存在する
- 直接数学は必要ないが論理的思考力は必要
- エンジニアに必要とされているスキル
今回の記事では、Web系の開発会社を運営しつつもWeb系エンジニアへの転職を目指す人に向けてのプログラミングスクールを運営している弊社が、Webエンジニアを目指す際には数学的知識は必要になるのかを解説していきます。
この記事を最後まで読めば、Webエンジニアに求められる本当のスキルを知ることができ、不安を解消することができます。
Webエンジニアへの就職や転職を検討している方は、ぜひ最後まで読んでくださいね!
Webエンジニアはサービスを大きくするために存在する
結論からお話ししますが、Webエンジニアには数学的知識は必要ないケースが多いです。なぜなら、Webエンジニアがやるべき仕事はサービス自体を大きくさせることだからです。
詳しい理由については以下3つです。
- 数学的な知識を直接使うケースが少ない
- ライブラリやツールなどを最初から開発するケースは少ない
- 文系出身者でもエンジニアになれる
1つずつ順番に解説していきます。
1.数学的な知識を直接使うケースが少ない
Webエンジニアが数学的な知識を使うケースは限られています。全く使わないことはないですが以下の状況でないと必要ありません。
- 物理演算
- アルゴリズムの勉強
- ツールやライブラリの作成
アルゴリズムとは問題を解決するための手順や計算方法のことを言います。たとえば、複数あるデータを並び替えるためのアルゴリズムである「ソート機能」を学べば同じ処理でもより効率的に行えます。このアルゴリズムを学ぶ際には数学の知識が必要になるでしょう。
また後ほど紹介しますが、AIの画像認識技術やゲーム系のエンジニアなどの職種を目指す場合には数学の知識が必要になってきます。
反対にいえば、これらの職種を目指さない限りは数学の知識は必要ないとも言えます。
2.ライブラリやツールなどを最初から開発するケースは少ない
高度な数学的知識が必要になるのは、ライブラリやツールを開発している下のレイヤーの方々です。一般的な日本のWeb系企業であれば、上のレイヤーになるため必要ないのです。
Web系エンジニアの多くが、ツールを1から作るのではなく「すでにあるツール」を利用して仕事をする流れがあるため数学は不必要だと言われています。
- 1からツールを作らず元々あるツールを使う
- 新しいツールを作ると運用が大変なため作らないことが多い
- ツールの開発よりもサービスを大きくすることに重点を置く
一般的なWeb系エンジニアは、企業の価値を高めるたのサービス作りに力を尽くしています。
そのため、企業にとって必要な機能を実装することが1番の目的なので、ツールの自作など数学的知識が必要なものに時間を使うことは少ないのです。
3.文系出身者でもエンジニアになれる
Web系エンジニアと聞けば理系出身のイメージが強いですが、2020年度のIT従事者の最終学歴の専攻のデータを見ると、IT・情報系以外の文系の割合は30%もいます。
(参考:IT人材白書2020)
AIなどに携わる先端IT従事者やそれ以外に携わる先端IT非従事者でも、30%以上が文系出身者であるため、数学が必要なくてもエンジニアになれることが理解できると思います。
プログラミングと聞いたときに理系が有利に感じてしまう原因としては、数学を使うことが多いイメージが強いからでしょう。しかし、実際にエンジニアに必要になるのは数学ではなく論理的思考力です。その理由についてはこの後に解説していきます。
直接数学は必要ないが論理的思考力は必要
数学的知識は必要ないですが、エンジニアには論理的思考力は必要不可欠とされています。論理的思考力とは「AだからB」という理屈が通るように、物事を筋道立てて考えることです。
プログラミングをしているとエラーは必ずつきまといます。
エラーを解決するには、論理的思考が必要です。
「どこでミスをしているから、エラーが出ているのか?」
「エラーを解決するにはどうしたらいいのか?」
のように論理的に問題を切り分ける必要があります。以下に実際に現役エンジニアがエラーを解決している様子を動画に収録しました。
実際にエンジニアは問題を1個ずつ細分化して論理的に思考しているのがわかるでしょう。
また、プログラミングだけがエンジニアの仕事ではありません。
ソフトウェア開発の一連の流れでいえば、要件定義や設計の段階で論理的思考を使います。クライアントの要求に対して各作業の時間や技術力を割り出し、その結果どのようなアプローチになるかを考えないといけないのです。
エンジニアとして開発業務をしている最中に問題が起きた場合も、数学のように問題を切り分けて論理的に考えることで解決しやすいです。
このように、数学の問題の解き方とエンジニアの業務の進め方が似ているため、数学が得意な人は論理的思考力も高くエンジニアに向いているとも言われています。
以上のことから、数学ができれば間接的に業務に生かせると言えますが、プログラミングスキルを磨けば論理的思考力は後ほど身につくため、数学が絶対に必要とはならないのです。
後天的に論理的思考力は身につけられる
理系出身の人しか出来ないと思われがちな論理的思考ですが、後天的に身につけられます。論理的思考力がない人は、論理的に考える習慣が身に付いていないだけだからです。そのため、以下の3つを意識すると論理的思考力を鍛えられます。
- 会話中の抽象的な言葉を具体的な言葉に変換してみる
- 自分の思考を批判的に見てみる
- 物事を本質的に考えるクセをつけてみる
例えば1つ目の方法であれば「目標達成します!」という言葉を「◯月までに◯◯件の成約を目指します!」といった具体的な数値目標に変えるだけで、ロジカルな説明になります。1つ1つのテクニックを意識することで、少しずつ論理的に考える力は培うことができるでしょう。
エンジニアに必要とされているスキル
論理的思考力も大事ですが、そのほかにも必要とされているスキルについて解説していきます。以下で紹介するスキルは日々の業務で必ずといってもいいほど使うものです。身につけておくとスムーズに仕事が進むでしょう。
- プログラミングスキル
- IT技術に関連する知識
- コミュニケーション能力
- 根気強く物事に取り組む力
上から順番に解説していきます。
プログラミングスキル
エンジニアとして働くのであればプログラミングスキルは必要になります。
- HTML
- CSS
- Java
- Javascript
- PHP
- Ruby
- Python
エンジニアの種類に応じて必要になる言語は変わりますが、知識として持っておけばスキルを掛け合わせた付加価値のあるエンジニアになれるでしょう。
IT技術に関連する知識
Webエンジニアになるのであれば、IT技術に関連する最新情報は積極的に吸収していきましょう。ITの世界ではトレンドは目まぐるしく変わっているため、つねに動向を追いながらチェックすることがおすすめです。最近では以下のような情報がトレンドになっています。
- AI
- IoT
- 5G
- AR/VR
- ノーコード開発
クライアントや経営陣と関わる仕事もあるため、IT関連の知識は抑えておいた方がいいでしょう。第一線で活躍していくためにも、IT技術に関連する知識は常日頃から収集するクセをつけましょう。
コミュニケーション能力
エンジニアは常日頃からさまざまな人と関わる機会が多いです。そのため、最低限のコミュニケーション能力は身につけておくべきでしょう。
- ほとんどの仕事はチームで担当する
- クライアントと関わる機会がある
- プログラミングの知識がない人に説明することがある
エンジニアと聞くとパソコンとひたすら向き合いながら作業をするイメージですが、実際は話し合いながら進めていくことが多い仕事です。技術者じゃない人と関わるケースもあるため、誰にでもわかりやすい説明ができる能力は身につけておきましょう。
根気強く物事に取り組む力
エンジニアはパソコンで作業するよりも調べる時間の方が長いと言われています。そのため、1つ1つの物事に対して取り組む忍耐力が必要になります。
- 地道な作業を繰り返しながら1つずつ機能を実装していく
- エラーログが出てきた場合は調べて解決策を探る
- また1つずつ機能を実装するようにコーディングしていく
上記は一例ですが、Web系エンジニアは地道な作業にコツコツ取り組む姿勢が求められます。そのため、時間がかかっても根気強く課題に向き合う力が必要です。
数学が必要なエンジニア職種は?
最後に数学が必要になるエンジニアの職種を紹介しようと思います。以下で紹介するエンジニアは高度な数学の知識が求められます。
- ゲームプログラミング
- AI(人工知能)開発
- 機械学習
- ブロックチェーン
- データサイエンス
3Dのゲームを作る際にはキャラクターを動かすために三角関数などの物理に関した知識が必要になるでしょう。
また最近流行りのAI開発であれば、微分積分や線形代数など情報科学を専攻する大学に通っていないと独学が難しいレベルの数学的知識が必要です。上記のような職種を目指す場合は、必然的に数学の知識が必要になるため注意しておきましょう。
AIエンジニアやブロックチェーンエンジニアの将来性はこちらの記事で詳しく解説しています。気になる方はぜひチェックしてください。
おわりに
今回の記事では、Webエンジニアに数学が必要なのかどうかについて解説しました。
- 数学的知識はエンジニアに必要なものではない
- 数学が必要なのはゲーム関連やAI開発など一部の職種
- エンジニアは論理的思考力やコミュニケーション能力が重要
1番大切なのは数学的な知識よりも、業務に関連するIT系の知識や開発業務に活かせる論理的思考力になります。専門知識も大事ですが、チームで動けるようなコミュニケーション力など幅広いスキルが求められるでしょう。
そのため、理系・文系に限らず上記のような全般的なスキルを身につけられる人材になることが大事です。今回の記事を通してWebエンジニアに対しての理解が少しでも深まれば嬉しいです。
弊社では、開発現場が求めるエンジニアになるためのプログラミングスクール「RUNTEQ」を運営しております。この記事を読んで少しでもWebエンジニアに興味を持った方は、ぜひ無料のキャリア相談会へ足を運んでくださいね。