プログラミングってやっぱり理系じゃないと無理なのかな…?
「文系でもプログラミングはできる」ってのはただの宣伝文句なんじゃないの?
本記事ではこのような文系でもプログラミングは実際にできるのかという疑問や悩みについて解説していきます。
- 「文系でもプログラミングはできる」の本当の意味
- 文系プログラマには何が可能で、逆に何が不可能なことが多いか?
- 文系・理系に関係なく必要なプログラミングへの適性
僕自身、プログラミングをしている知り合いや友人はそこそこいますが、文系の方も少なくないと感じる一方、やはり文系では太刀打ちできない分野も存在はするなぁとも感じます。
最後まで読んでいただければ、文系でもプログラミングは通用するのか、どの分野なら文系でもプログラミングをやっていけるのか把握できるはずです。
【事実】新卒プログラマで理系は55%文系は45%
出身学部 | 人文科学系 | 社会科学系 | その他 | 全学部合計 |
---|---|---|---|---|
人数 | 4175人 | 11790人 | 18870人 | 34835人 |
政府による調査「学校基本調査 / 令和2年度 高等教育機関《報告書掲載集計》 卒業後の状況調査 大学」によると、「情報処理、通信技術者」で文系である人文科学・社会科学系の学部出身者は34835人中、15965人にのぼります。
これは実に全体の45%に上ります。半分弱なので、決して少ない数字ではなく、文系でもIT技術関連の技術職にしっかりなれているという事実があります。
このことを頭に入れた上で記事を読み進めてください。
プログラミングに理系のイメージがある理由
事実、文系でIT関連の技術者になる方が少なくないにも関わらず、プログラミングってなぜか理系のイメージが世間的にもついていると思います。
仕方ない部分もあるのですが、なぜプログラミングと聞いただけで理系を想像してしまうのかを紐解いていきます。
エンジニアや技術職は理系というイメージ
そもそも、プログラマーのことを「エンジニア」と呼ぶことも多く、またプログラマーやエンジニアは「技術職」に分類されます。
技術職やエンジニアはIT領域以外だと、機械系だったり、化学系だったりと実に理系出身の人間が第一線で活躍している分野です。
「IT以外のエンジニアは理系出身だから、IT領域でもエンジニアは理系出身でないと無理なのだろう」という推測がなされるわけです。無理もない話ですが。
プログラミングに数学っぽい理系の用語が登場する
実際に、プログラミングをしていると「変数」や「関数」、「代入」など、どこか中学や高校の数学の授業で聞き覚えのあるワードが登場し、いかにも理系という感じがします。
確かに、変数や関数は数学における変数や関数と比べて似ている部分もありますが、基本的に別の概念です。
なので、数学における「変数」や「関数」などを勉強する必要はなく、プログラミングにおける「変数」や「関数」などの概念を学ぶだけで十分なのです。
大学でプログラミングを学ぶ情報系の学部・学科が理系の学科だから
大学には「情報学部」や「情報学科」を名乗る部門があり、たいてい理系です。
このような情報系の学部・学科ではプログラミングを学ぶことが多いのですが、プログラムを学んでどうするかというと、数学や工学などに役立てたり、もしくはコンピュータそのものについて勉強します。
なので、数学や物理・化学などの知識が必要となり、なるべくして情報学部・情報学科は理系に分類されています。
しかし、実際はこのようにプログラミングを理系的なものごとに役立てるだけでなく、ホームページやスマホアプリ作成のように理系の専門知識がいらない分野も多いです。
プログラミングに必要とされる論理的思考力が理系っぽい
「プログラミングには論理的思考力が必要だ」というのを見たり聞いたりする機会は多いのではないでしょうか?
正直、「論理的思考力」と言われると、なんだか理系っぽくて難しそうだし、自分には無理な気がする…
このように感じるのも無理はないです。
論理的思考力というのは筋道が通った考え方ができる力のことを指します。例えば、因果関係を考えたり、抽象化・具体化をしたり、要素分解をしたりといった具合です。
確かに、理系の方に論理的思考力が高い人は多いですが、文系の方でも論理的思考に優れている方はたくさんいます。
それに加えて、論理的思考力は後天的に身につけることができる能力なので、プログラミングをしながら鍛えてゆけばいいのです!
実際に理系でないと難しいプログラミングの分野も存在する
実際に、理系でないと太刀打ちできない分野も存在します。
例えば、機械学習やAIを学ぼうとすると大学レベルの数学の知識が必要となりますし、複雑なゲームを作ろうとしても数学や、さらには物理の知識も必要になることもあります。
このような分野を見ると、確かに「文系には難しそう」と感じるのは無理もないですが、先ほども述べた通り、理系の知識を必要とされない分野も非常に多いことは頭に入れておいてください。
「プログラミングは理系でなく文系でもできる」の本当の意味
「プログラミングは理系でなく文系でもできる」とはよくいうものの、結構ざっくりしている言葉ですよね。
この言葉の意味を再度しっかり考えていくとともに、「本当にプログラミングは文系でもできるのか」ということまで考察していきます。
プログラミングは文系でもできる分野があるという意味
理系的な知識が要求されないので、文系の人でもできるプログラミングの分野がある
注意しないといけないのは「プログラミングのどんな分野でも、文系出身の人が理系出身の人と比べて難なく習得・マスターできる訳ではない」ことです。
例えば、以下に紹介するような分野なら出身に関係なく、文系の方でも習得することができるでしょう。
- webサービス開発
- webデザイン
- スマホアプリ開発
- webスクレイピング
- PC上の単純作業などの自動化
これらの分野に共通しているのは数学などの理系的な知識をほとんど必要としないという点です。
もちろん理系でないと厳しいプログラミングの分野も存在する
「文系の人でもできるプログラミングの分野がある」という言葉の裏を返せば、「文系の人には厳しいプログラミングの分野もある」ということです。
理系でないと難しい、つまり文系の方には厳しいプログラミングの分野で代表的なものは主に以下の3つでしょう。
- AI・機械学習エンジニア
- ゲームエンジニア
- データサイエンティスト
なぜ、これらの分野が理系でないと難しいかというと、もろに数学や理系の知識を要求される場合があるからです。
AI・機械学習やゲームエンジニアだと、微分・積分や線形代数(大学レベルの数学)だったり、データサイエンティストだと統計・確率分野の知識が必要になります。
文系の方が、これらのエンジニアになることが絶対無理な訳ではないですが、理系科目が苦手な方はかなり向いていないと思います。
理系・文系かより大切なプログラミングへの適性
プログラミングを始める際、あなたが文系なら「文系でもやっていける分野なのか」というのはもちろん気にする必要があります。
しかし、それ以上にプログラミングをやっていく上で大切な適性があり、この章ではこれを紹介していきます。
プログラミングをやろうか迷っている方は自分には適性があるのかチェックしてみてください。
【大前提】プログラミングをしている時間が苦痛でない
結局のところ、最重要なのはプログラミングをしている時間が苦痛でないかどうかです。なので、一度手を動かしてプログラミングをやってみてください。
なぜなら、プログラミングを実際にやってみることが、適性があるかどうか判断する最も手っ取り早く、間違いのない方法だからです。
確かに、例えば「集中力が続く」ことが適性だと言われても、好きなことなら集中は続くし嫌いなことなら続かないし、プログラミングが好きかどうかわからないから集中続くかわからないよね。
だから、プログラミングに適性があるかどうかは、実際にやってみて判断するのが一番よさそうだね。
そこで、初心者が実際にプログラミングをやってみる方法としておすすめなものを以下で紹介ます。
プログラミングスクールの無料体験を利用する
実は、プログラミングをするまでに環境構築でつまずいてしまい、プログラミングを実際やってみるまでに至らず挫折してしまう初心者はかなり多いです。
そこで、プログラミングスクールの無料体験レッスンをおすすめします。
なぜなら、プログラミングスクールなら、初心者が挫折しやすいポイントを徹底的にサポートしてもらえ、「プログラミングを実際にやってみる」までに至ることは確実だからです。
別にプログラミングスクールの講座を取る必要はなく、無料なので、無料体験レッスンを利用するだけ利用してしまえばいいのです笑
\プログラミングの適正を見極めるのにもってこい!/
独学で少しコードを書いてみる
「progate」などのオンラインのプログラミング学習サービスを使って独学でプログラミングをやってみる方法もあります。
progateの良い点としては、環境構築不要で、ブラウザだけでコードを書き始められるということです。
無料プランと有料プランがありますが、とりあえずは無料プランで試してみればいいと思います。
プログラミングへの適性:自分の頭で考えることや試行錯誤が好き
- この機能を実装するには何と何が必要で、どういう風にコードを書けばいいんだろう?
- このエラーやバグの原因はそもそも何で、どうやったら解決できるんだろう
という感じで、プログラミングでは自分の頭を使って考えることがたくさんあります。
また、同じような場面で、「これがうまくいかなかったら、あれをやってみよう、それでもだめなら別の手段を試してみよう」と試行錯誤することも多いです。
このように、プログラミングでは自分の頭で考えたり、試行錯誤することが嫌いな人には苦痛になる可能性が高いです。
プログラミングへの適性:粘り強く、根気強い
プログラミングではエラーやバグなどが頻繁に発生します。
簡単に修正できるエラーやバグもあれば、原因不明で下手すれば1日以上考えたり調べても解決できないエラーやバグも出てきます。
エラーやバグが簡単に解決できないからと言って、諦めてしまえば前に進めず、また知識やスキルも身につきにくいです。
このように、エラーやバグに対する粘り強さや根気強さがプログラミングには重要です。
プログラミングへの適性:好奇心旺盛で探求心がある
- 「ここがどうなっているのか知りたい」
- 「どういう仕組みで動いているの?」
- 「根本的にこのエラーはなぜ起こるの?」
のように貪欲な知的好奇心や探究心はプログラマーとしての成長に直結します。
自分が疑問に抱いた「なんで?」や「どうして?」を追求することが結局1番の勉強になりますし、頭にも定着しやすいからです。
プログラミングへの適性:集中力がある
集中力を保ちながらコードを書く能力は必須です。
プログラミングをしていると、やはりパソコンに向かい合ってコードを書いている時間が長くなります。
集中力があまり保てない人は作業効率が悪く、コードを書くのにかなり時間がかかってしまうため挫折したり、仕事にならない可能性が割とあります。
プログラミングへの適性:コミュニケーション能力がある
プログラミングは、特に仕事などになると、1人でなく複数人のチームで開発したりすることも少なくないです。
その場合、やはりプログラマー以外の普通の職業などと同じく、コミュニケーション能力が必要とされます。
文系の方はコミュニケーションが得意な方が多いと思うので、このような点に関しては理系より文系の方が強みを発揮できると思います。
この記事ではプログラミングの適性については、重要なものをかいつまんで紹介しました。
もし、「プログラミングの適性について他にどんなものがあるか詳しく知りたい」という方がいらっしゃいましたら、下に紹介する関連記事も一緒に読んでみてください。
プログラミングの理系・文系に関するまとめ
少し長くなってしまったので、最後におさらいをしておきましょう。
まず、事実として、令和2年度の新卒で情報・通信関係の技術職に勤める人間の45%が文系で、55%が理系でした。この事実から、そもそも文系でもプログラマになれることは分かります。
このように、「プログラミングは理系でなく、文系でもできる」というのは事実ではあるものの、実際、文系の人に向いていないようなプログラミングの分野も多くあります。
理系的な知識が要求されないので、文系の人でもできるプログラミングの分野がある
事実、数学や物理の知識が必要になるようなプログラミングの分野、例えば機械学習やAI・ゲームプログラミング・データサイエンティストなどは文系には難しいでしょう。
こんな感じで、プログラミングをするときに文系・理系などは多少気にするべきではあるものの、もっと大切な適性は存在します。
「自分がプログラミングへの適性があるか確認したい」という人はプログラミングスクールの無料体験レッスンなどに申し込んでみるといいかもしれません。(無料期間だけ受け逃げしてもOK笑)
\プログラミングの適正を見極めるのにもってこい!/
コメント