プログラマに興味があるけど、数学や物理が苦手で、自分でもIT業界・Web業界で働けるのか不安な方も多いと思います。
エンジニアは数学苦手な方でも全く問題ありません。なぜ数学苦手でも問題ないのか、文系出身者はどの分野のプログラミング言語を学ぶべきかを解説したいと思います。
数学が苦手でもプログラマになれる5つの理由
数学が苦手な方でもプログラマになれる理由は主に以下5つからです。
- プログラミングは四則演算の集合体
- 求人に数学が得意な方限定なんて書いてない
- ライブラリやフレームワークがある
- 数学よりも英語のスキルが重要
- 天才的な数学センスよりもコミュ力が重要
プログラミングは四則演算の集合体
プログラミングは基本的に四則演算(足し算・引き算・かけ算・わり算)の集合体です。他に配列や条件分岐、クラスなどのプログラミング独自の概念を覚える必要はありますが、基本的に小学生が習う算数の領域の組み合わせで構成されています。
難しい数学の公式や考え方は必要ないので数学嫌いな文系出身者でも十分プログラマとして働くことができます。
求人に数学が得意な方限定なんて書いてない
世の中の大半のプログラマの求人に記載されてある求める人物像に「数学が得意な方」なんて書いてありません。文系の方はプログラミングと数学を関連付けがちですが、どちらかと言えば、プログラミングは英語などの外国語の科目に似ており、文系・理系あまり関係ありません。
また自分の卒業した大学の文系学部の先輩の多くがIT系の会社に就職しているのが就職実績で確認できると思います。基本的に日本のIT業界では理系出身であることが重要視されていません。(アメリカだとコンピュータサイエンス専攻が優遇されるのは事実です)
IT白書では理系・情報系こだわらず、どの学部出身者でも採用している企業が半数以上
ライブラリやフレームワークがある
数学ができない方でもプログラミングの仕事はできますが、やはり全く高度な数学が必要な訳ではありません。
たとえば、「10000秒を分で表す計算」がしたいとします。数学が苦手な方だとちょっと面倒ですよね。
しかし秒を分に換算するようなことはよく使う機能です。そういった汎用的な計算はフレームワーク・ライブラリといったプログラムの塊を誰かが作ってくれており、実際のプログラマはおまじないのように1行書くことで実装することが可能になっています。冷凍食品みたいな感じで、自分でイチから調理する必要がありません。
現場ではライブラリやフレームワークを使って開発してくので、多くのプログラマはゼロからスクリプトを書く技術よりも適切にライブラリやフレームワークを呼び出すスキルの方が重要になります。
数学よりも英語のスキルが重要
理系より文系出身者が得意な科目として英語があります。IT業界では英語のフォーラムや公式サイトでAPIなどの確認や使い方の情報を入手したりするので、英語の読み書きはできなければなりません。
外部情報の検索能力やそこからの問題解決方法が重要であり、自分の数学的センスを頼って、イチからアルゴリズムを考える必要はありません。
それよりも英語で、情報を理解できる方が、結果としてプロジェクトに生産性をもたらすことができます。
天才的な数学センスよりもコミュ力が重要
天才的な数学センスを持ったスーパープログラマが求められる会社も一部のメガベンチャーやスタートアップではありますが、基本的にコミュニケーションスキルなどが求められる会社の方が多いです。
また昇進していくと自然とプログラミングではなく管理のポジションになるので、クライアント企業としっかりと意思疎通が行えて、言外の言葉なども汲み取れるような機転の利く時頭の良さが求められます。数学が得意な方はこういったヒューマンスキルは低い傾向があります。
フリーランスエンジニアでも、プログラミングのスキルが高いエンジニアよりも、スキルがそこそこで、営業力のあるエンジニアの方が稼いでいます。
数学苦手な文系でもプログラマになりやすい言語はRubyとPHP
ということで、プログラマは実は世間のイメージとは違って、文系にも十分成り立つおすすめな職業です。むしろコミュニケーション能力を活かせる文系の方が向いているケースも多いです。
しかしどんな分野のプログラマでも数学ができない方が向いている訳ではありません。以下のような分野のプログラマは数学が苦手な方は避けた方が無難です。
- ゲームプログラマ
- AI(機械学習)・IoT分野のプログラマ
- ブロックチェーンエンジニア
ゲームや機械学習の分野は高度な数学や物理の知識が必要なことや、最先端の分野でまだまだライブラリが少なく自分でアルゴリズムを考える必要があるからです。また、数学が得意な頭脳的に優秀なプログラマほど、こういった最先端分野でのエンジニアを目指してくるので、結果として就職のハードルが高くなりますし、仮に就職できたとしても劣等感に悩まされることになります。
文系がプログラマを目指すのであれば「SNSなどのWebサービス」を開発している分野や「業務アプリケーション」の分野が王道になります。
こういった分野であれば、基本的にログイン情報やユーザー情報の管理、検索機能など、どのサービスでも大体使うものが決まっていますし、高度な数学も必要ありません。ライブラリも豊富ですし、いくらでも数学苦手な方がプログラマとして就職を成功させてきた歴史があります。
具体的なプログラミング言語で言えば業務アプリケーションはJava、SNSなどのWebサービスはPHPやRubyになります。
Rubyは今一番Webエンジニアとしての就職がしやすい言語と言われおり、しかもプログラミング言語の中でも特に学習が簡単ということで評判です。数学苦手だけどプログラマを目指している方はRubyを勉強することがオススメとなります。
またPHPは、ECサイトやWebメディアなどのWebサイトで数多く使われているプログラミング言語です。2010年前後ぐらいに流行ったのですが、今は人気は下火になっているので、数学が得意な方があまり就職活動のライバルになりにくい分野です。
しかしWordpressといった全世界の4分の1のサイトが構築されているCMSで採用されていたりと、今後も需要が減らないプログラミング言語の1つなので、PHPプログラマとしてWebサービス開発会社やWebメディア運営会社、Webサイトの制作会社などを狙うのも数学苦手な方がプログラマとして目指すキャリアとしてはオススメになっています。