
「プログラミングは理系の人じゃないとできないと聞いたことがある。なぜ文系の人だとダメなのだろうか?プログラミングに必要な能力ってなんなのだろう?」
今回はそういった悩みを解決します。
本記事の内容
- プログラミングは理系じゃなきゃダメ←嘘です【文系でもできます】
- プログラミングは理系が得意だと思われている理由
- 【本質】プログラミングに必要な3つの能力【文系・理系は関係ない】
記事の信頼性
この記事を書いている私はエンジニア歴8年で、今も開発現場でプログラミングをしています。
そういった経験から、エンジニアを目指す方に向けてアドバイスをお伝えすることができます。
今回は「プログラミングは理系じゃなきゃダメなのか?」というテーマについて解説します。
先に結論をお伝えすると、プログラミングを習得するのに文系・理系は全く関係ありません。本質的に必要な能力を磨けばOKです。
この記事を読むことで、文系・理系関係なくプログラミングを習得できる理由が理解できます。
プログラミングは理系じゃなきゃダメ←嘘です【文系でもできます】
冒頭でもお伝えした通り、プログラミングは理系じゃなきゃダメというのは嘘で、文系の人でもできます。
なぜなら、次の2つの理由があるからです。
- 文系の人がプログラミングを身につけて就職した実例あり
- エンジニアになるための資格は不要
順に説明します。
文系の人がプログラミングを身につけて就職した実例あり
まずプログラミングが文系の人でもできると言える最大の理由は、実際に文系の人がプログラミングを身につけて就職した実例があるからです。
例えば次の方は、初等教育専攻の文系大学生がプログラミング未経験から新卒でエンジニアに就職した例です。
>>具体例:Webエンジニアは文系未経験の新卒でもなれます【実体験と方法】(外部リンク)
また、ツイッター上で探してみると、文系卒でエンジニアとして働かれている方が見つかります。
こういった感じで、「文系だからプログラミングを学べない」「文系だからエンジニアになれない」というのは嘘だということが分かりますよね。
エンジニアになるための資格は不要
もう1つの理由は、エンジニアになるための資格は不要だということです。
例えば医者や弁護士などになるためには、専門知識を身につけて国家試験に合格する必要があるので、専門の勉強ができる医学部や法学部に進むことが必要です。
一方で、エンジニアになるための資格はありません。ネットワークスペシャリストなどの情報処理技術者試験に合格することで、自分のスキルをアピールできる資格はありますが、必須ではありません。
資格不要である以上、理系や文系といった垣根は存在せず、プログラミングを習得すればエンジニアになることができると言えます。
プログラミングに対する理系・文系という無意味な争い
プログラミングは理系がやるべきで文系はやめておけ、というのはハッキリ言って無意味な争いです。
詳しくは次の章で説明しますが、プログラミングに必要な能力に、文系・理系じゃなければ身につかない能力なんてないですよ。
たかだか学生時代の5年間ぐらい、普段はろくに勉強もせず、テスト前にちょろっと勉強しただけの違いで、文系・理系の差を語るなんてちゃんちゃらおかしいでしょ、というのが率直な意見です。
つまり、私は文系だからできませんというのは、プログラミングをやらなくてもよいという言い訳を探しているに過ぎません。
文系の人でもプログラミングを学んでエンジニアとして働けている実例がある以上、理系・文系という争いは無意味です。
【本質】プログラミングに必要な3つの能力【文系・理系は関係ない】
ここまでで、プログラミングに理系・文系というのは関係ない、ということを説明してきました。
では、プログラミングにはどんな能力が必要なのでしょうか?
ズバリ、プログラミングには3つの能力が必要です。
- 論理的思考力
- 分からないことを調べる力
- 粘り強さ・継続力
ぶっちゃけ、この3つがあれば充分です。さらに言うと、この3つの力があればプログラミングスキルがなくてもエンジニアになれます。
論理的思考力
プログラミングには論理的思考力が必要です。
なぜなら、プログラミングの基本的な考え方は、「何かを実現するために、物事を順序立てて組み立てる」ところにあるからです。
例えば、「ボタンをクリックしたら、日本の時間と海外の現在時間一覧と比較を表示する」といったアプリを作るとします。
これを実現するためには、
「ボタンのクリックイベントを拾ったら、現在時刻を取得して、各国の時差は…web APIで取得出来るかな。一覧表示だからテーブルを作っておいて…」
という感じで、必要な処理を洗い出して順序立てて組み立てることで、どんなプログラムを組めば良いかが分かります。
こういった論理的思考力ですが、理系の人が選考する数学や理科などの科目の特性上、論理的思考力が優れている人が多いことは確かです。
ですが、訓練して身につけただけであって、最初から優れた能力を持っていた訳ではないですよね。
つまり、文系の人やプログラミング未経験の人であっても、学習を続けていれば自然と論理的思考力が身につくので、心配する必要は全くないです。
分からないことを調べる力
次に大切な力は、分からないことを調べる力です。
プログラミングをしているとエラーの対処法や、何かを実現するための方法分からないことがたくさん出てくるので、調べて解決する必要があります。
エンジニアも全て理解してプログラミングをしている訳ではなく、分からないことは都度調べてますよ。
では、分からないことを調べて解決する力が理系の人だけにしかないか?というと、答えはNoですよね。
プログラミングに大切な分からないことを調べる力も、文系・理系は関係ありません。
なお、どうやって調べたら良いか?については、以下の記事で解説していますので、合わせてご覧ください。
>> 参考:【超簡単】プログラミングが分からないときの解決法
粘り強さ・継続力
最後は粘り強さ・継続力です。
先程説明した通り、プログラミングはエラーや分からないことにたくさん遭遇します。そういった時に粘り強く問題と向き合う必要があります。
さらには、多くの問題と向き合いながら、長期間プログラミングを継続する必要があります。
そのため、粘り強さや継続力が重要になるのですが、これも文系や理系、関係ない力ですよね?
むしろ粘り強さは文系の人の方があるのでは?
プログラミングに大切な粘り強さ・継続力も、文系と理系関係なく身に付けることができます。
まとめ:プログラミングは誰にでもできる
ということで、「プログラミングは理系じゃなきゃダメなのか?」というテーマについて解説しました。
内容をまとめると、プログラミングを習得するのに文系・理系は一切関係ないので、学びたい人は気にすることなくチャレンジしてくださいね、ということです。
ぜひプログラミングを学んで、ステキなエンジニアライフを送りましょう。