未経験の文系でもエンジニアになれた!初心者向けプログラミング勉強法
18/07/29 13:48:04 19/05/05 11:47:41
目次
プログラミングは理系?
プログラミングは理系分野だと言われることが多いですが、必ずしもそうとは言い切れません。2020年から全国の小学校でプログラミング教育が必修化すればなおさら文系理系の垣根はなくなるでしょう。
とは言え、現状理系の方がプログラミング教育に力を入れていることは事実です。たとえば、同じ大学のカリキュラムでも法学部よりは工学部の方がプログラミングを行う授業は多いです。
むしろ法学部でプログラミングを学習する大学は稀でしょう。工学部の場合は多かれ少なかれプログラミング学習を行います。また情報学部のような文系、理系が曖昧な学部に関してはプログラミング学習を行う場合が多いので、やはり文系だからプログラミング学習を行わず、理系だからプログラミング学習を行うというわけではありません。
昔とは状況が変わってきた
昔はプログラミングがハードウェアとセットで学習されることが多かったため、慣習上、今でも工学部がプログラミング学習に力を入れているイメージです。しかし今の時代ハードウェアの扱いも簡単で、なおかつハードウェアの知識がなくてもプログラミングができます。
また学部に関係なくプログラミングができた方が便利なので、文系でもプログラミング学習に力を入れていくことになるでしょう。しかし、すでに文系大学を卒業していたり、現在文系学部に在籍する学生は自力でプログラミングを習得する必要があります。
今後プログラミングが必要になるにも関わらず大学の文系学部のプログラミング教育が行き届いていないという世代なのですが、状況を嘆いていても仕方がありません。仕方がないので自力で学習しましょう。
そして、未経験文系でもプログラミングを習得してエンジニアになることは可能です。日本の大学は慣習的に理系でプログラミング教育を行っていますが、文系だからプログラミングを習得できないというわけではないので、気負う必要はありません。
このページでは、未経験文系がプログラミングを習得してエンジニアになる方法を解説します。
たしかに最初は理系よりも不利になる
具体的な学習法を紹介する前に、最初のうちは理系よりも不利になると知っておいた方が挫折が少なく済みます。今後は文系理系関係なく大学でもプログラミング教育が導入されると予測できますが、現状そうではありません。
つまり、理系の学生は大学で初歩的なプログラミングをすでに学習済みです。それに対し、文系の学生は多くの場合プログラミング未経験です。何事も最初の一歩は足が重く、何をどうすれば良いのかもわからないものです。
理系の学生はすでにその一歩を大学のサポート付きで踏み出せているので、明らかに有利ではあります。文系の学生は、最初の一歩を自ら踏み出さなければならないのです。次に、理系の学生は最初の一歩を大学で学習するため躓いても講師や一緒に学習する学生がいる場合が多いです。
文系の学生は最初の一歩が思い上に、躓いて挫折してしまう可能性があるのです。ここまで説明すると文系の学生はプログラミング学習において圧倒的に不利な感じがしますが、それは最初のうちだけです。
最初の一歩と、そこから躓かずにスムーズに進むか躓いても立ち直ることができれば、文系理系関係なくプログラミングを習得できます。結局のところ多くの理系学生が大学で勉強しているプログラミングは初歩的なものです。
独自に学習している学生は別にして、大学の講義で行うことは基本です。講義で学習しただけの理系学生はプログラミングのやり方を忘れてしまったり、覚えていても変化には付いていけないでしょう。
プログラミングの世界は広い上に変化も激しいので、結局やり続けないとスキルアップもできず変化に対応していくこともできないのです。その点を念頭に置いたうえで文系出身者はプログラミングに取り組むと良いでしょう。
文系が不利なのは、はじめの一歩
繰り返しになりますが、文系学生が不利になるのは最初の一歩と初期の頃の躓きだけです。これをクリアすればあとは出身学部等のバックグラウンドは一切気にせず習得していきましょう。
多くの場合理系の学生も大学でそれほどプログラミング学習を行っているわけではないので、文系学生はコンプレックスや先入観を捨て、取り組めると良いですね。実際私自身文系から独学でIT企業に就職した経験があるのですが、理系出身でスキルの高い人に対して劣等感を持っていました。
しかし理系の学生に話を聞くと、学生時代からプログラミングをやっていたものの、ほとんどは独学とのことでした。学校で学習する内容は初歩の初歩なので、あまり意味はなかったとのことです。
理系でもあまり良くない学校なのではないかと思われるかもしれませんが、これは東大や京大や早稲田といった大学の工学部、理工学部出身の学生でも同じようなことを言っていました。
なので、ぜひ文系出身の学生もコンプレックスや先入観を持たずにプログラミングに取り組んでいってください。
未経験からのプログラミング勉強法
前置きが長くなりましたが、プログラミングの勉強法自体は非常にシンプルです。好みによって具体的な勉強法は変わってきますが、以下のようなものです。
- 動画で学習する。(ドットインストールなど)
- 書籍で学習する。
- 実際に手を動かしてみる。
以上のようにシンプルです。
今の時代プログラミングに関するノウハウはインターネット上でも書籍でも多数存在するので、専門学校や理系大学で専門的に学んだ人だけのものではありません。
どの方法を選択するかは自由ですが、まずは動画や書籍で基礎を学習し、その後実際に手を動かしてみるのがおすすめです。そして、なるべくならインプットとアウトプットは平行すると良いでしょう。
インプットとアウトプットの例
たとえば、動画や書籍で環境構築の方法を学んだら、実際に環境構築してみるといったことです。もちろん後からまとめて実行しても良いのですが、インプットばかりだと飽きてくる上に未経験だといまいち実感がわかないかもしれません。
ある程度プログラミング経験を積めばインプットだけでアウトプットのイメージがつかめるのですが、最初のうちはイメージしにくいので、むしろ初心者ほどアウトプットを試してみた方が良いかと思います。
環境構築や簡単な計算出力処理などからで良いので、書いてみると良いですね。ただし、動画や書籍で見たもの全部を試す必要はありません。明らかに時間の無駄なので、基本的なロジックを書いて実行してみたら、あとはその他の基本となるロジックをインプットしていくと良いでしょう。
一通り基礎的なことがわかって少し実際に書いてみたら、次に作ってみたいシステムを選定します。実際の選定方法ですが、インターネット上にはプログラミング初心者がシステム開発にチャレンジした事例が多々あります。
それらを参考に、練習として真似してみるのがおすすめです。
焦らず一歩一歩勉強する
勉強効率を重視する方は、どうしても実際に手を動かしてプログラミング学習する時間が無駄に感じるかもしれません。
しかし、プログラミングはあくまでも物作りです。学校の勉強的な面はあるものの、たとえばプラモデルや料理のように手を動かして何かを作るという面も強いのです。
最初のうちは無駄な記述をしてしまったり、小さなバグに躓いて時間を無駄にしてしまったりしますが、時間と労力を無駄にしてしまった、と落ち込まないようにしましょう。失敗して時間と労力を浪費するのも勉強の一環で、その間リサーチしながらいろいろ試した経験は次に活きます。
なるべくなら子供の頃に時間も労力も気にせず夢中で遊んだ経験や、なんの生産性もないゲームのクリアやレベル上げに夢中になった経験を思い出しながら、童心にかえってプログラミングできると理想的です。
プログラミング勉強法シリーズ
1、Python始めるなら見るべきサイト5選
2、プログラミング初心者が勉強を継続するための3つのコツ
3、Javaを始めたい人が見るべき入門用サイト一覧
4、Ruby on railsの入門書3選
5、C#の入門書3選
6、初心者向けプログラミング勉強法
人気記事