文系学生が未経験からエンジニアになった独学勉強法

こんにちは。

私のことを知らない人がほとんどだと思うので、軽く自分の状況を説明すると、

私は文系大学卒業後、未経験で新卒で入った会社は、業界的にはIT土方と呼ばれるようなシステム開発会社。

未経験で入社し、入社後独学でプログラミングの勉強を始めました。

右も左も分からない海外に放り出されたような、一般的に見たら「やばい」状況でした。

そんな状況から、約2年半、毎日のようにプログラミングをしていました。

そして、どうにか未経験からの脱出し、

エンジニア見習いくらいにはなれた…かな。

せっかくの機会なので、

・未経験から独学でどうやってプログラミングを勉強してきたのか

・おすすめの勉強法

・勉強するにあたって意識していたこと

・おすすめサイト

などを詳しく書いていこうと思います。

自分と同じような状況にいる人や、未経験からエンジニアを目指している人、Webデザイナーからステップアップしたい人に読んでもらいたいです。

半分ぐらいは備忘録と思って読んでください。

なぜプログラミングを始めたのか

まず最初に、なぜ私がプログラミングを始めたのかについてですが、

「仕事で必要だった」からです。

中には、HTMLとCSSに触れる機会があり、その際に「あれ、プログラミング面白いかも」と思ったのがきっかけで、

趣味として始める方も多いはず。

なんでもそうですが「面白そう」というポジティブなきっかけから始めるのがベスト。

私は英語を勉強するのが好きなのですが、プログラミングはそれと似たところがあるような感じがしました。

英語もプログラミングも、話す相手は違くても同じ"言語"です。

相手が、外国人か機械かという違いです。(と単純に思うことにしています。。)

私は、いやいや始めたプログラミングですが、

純粋に、趣味としても楽しそうだなあ、と思い、

プログラミングの勉強を本格的に始めるという流れが理想的だなと感じます。

なぜなら、特にプログラミングは、人によって向き不向きがあるように感じるからです。

苦手で自己嫌悪になるくらいなら、

苦手だったら、プログラムはプログラマーに任せよ♪くらいの気持ちで勉強を始めてみましょう。

どうやって独学でプログラミングを勉強したのか

プログラミングの勉強を始めようと決めた際に、プログラミング言語ってこんなにあるの?!

と驚いた方もいるかもしれません。

プログラミング言語と一口に言っても、様々な種類があります。

闇雲に勉強していたら効率が悪いのは、いうまでもありません。

プログラミング言語は大きく分けて、フロントエンド(Markdown含む)とバックエンドの2種類あります。

例えば、Webデザイナーの場合、フロントエンド側のHTML,CSS,Javascriptをまずは勉強するのがおすすめです。

なぜなら、経験上、画面を作るには、この3つが分かっていることが大前提になってきます。

ある程度、目標が決まっている人は、それにあった言語を選択してください。(Webアプリケーションを作るにはRubyPHPPythonJavaなど)

おすすめ勉強方法

ヘビロテしていたサービスは「Progate」と「ドットインストール」です。

私は、元々、教科書などの文字を理解して勉強することが苦手だったので、

できるだけ、動画コンテンツなどの視覚的な勉強方法を取り入れていました。(Yutube,Udemyなど)

知識がとっ散らかってきたら、書籍。

Progate

まずは「Progate」というサービスを使いました。

Progateは、なんと言っても、開発環境を自分で整えなくていいというのが魅力。

私は、Progateのアプリ版をスマホに入れて、電車の中でやっていました。

私が勉強していた時は、ほとんど無料で学習できていたのですが、現在はほとんど有料枠のようです。

ただ、私が勉強していた際も、これが無料なのが理解できない程の優良サービスなので、

十分払う価値ありです。

Progateでは、手短にやりたい人は、ひとまず上記に出したHTMLとCSSJavascriptを一通り終わらせましょう。

Progateは超初心者向けサービスですが、後半ステップでつまずく可能性大です。

もし、つまずいても、あまり深く考えず解答をみて次に進みましょう。

(ここで、挫折してしまう方がもったいない)

ドットインストール

ドットインストール は、Progateに比べ、若干中級者向け。

まず、開発環境を構築する必要があるからです。(これが、初心者にとっては大きなハードル)

こちらも、ほとんど有料枠になっています。

有料になると、再生速度が変えられるので、とても重宝しました。

ゆっくり再生しながら、模写したりできます。

ちなみに、私は、Progateもドットインストール も課金勢でした。

ちゃんと勉強したい人は、プログラミングスクールで何万も払うより、

まずは、これらのサービスを試してほしいです。

Yutube

現代は、Yutubeでたくさんの学習コンテンツが上がっています。

無料なので、それを活用するのも手です。

Udemy

IT関連の動画コンテンツも豊富。

Udemyは、割引になっているときに安く買いましょう。

書籍

知識ばかりが、増えて体系的に学びたい時は、

やはり書籍です。

ある程度勉強して、学んできた知識の点と点をつなぎたい時に活用しました。

おすすめの書籍

初心者向け↓

プログラミングを学ぶ上で大前提の知識になってくるので、

最終的にはプログラミングの理解もしやすくなるかな。

・本質がわかる“なぜ"シリーズ

https://www.amazon.co.jp/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%81%AF%E3%81%AA%E3%81%9C%E5%8B%95%E3%81%8F%E3%81%AE%E3%81%8B%EF%BD%9E%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A8%E3%82%A2%EF%BC%86%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A8%E3%82%A2%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98%EF%BD%9E-%E7%9F%A2%E6%B2%A2-%E4%B9%85%E9%9B%84/dp/4822281655

番外編 プログラミングスクール

x-hack.connpass.com

circlearound.co.jp

sunabaco.com

独学といいながら、実は、何回かプログラミングスクールにも通いました。

3スクールほど受講経験があります。総額20万くらいはかかったかな。

プログラミングスクールは、なんといってもお金がかかります。

なおかつ、プログラミングってそんな短期間で習得できるものでもないので、

よほど余裕がある人以外は、あまりおすすめしません。

その他 おすすめサイト

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

このサイトは、本当に本当にお世話になりました。

プログラミングは英語と似ていると前述しましたが、

英語も単語を覚えないと、何も始まらないですよね?

それと同じで、プログラミングの学習中も知らない単語がたくさん出てきます。

そして、その単語は、英語と同じく完全に理解しようとすると効率が悪いです。

そこで、その単語のイメージをなんとなーく掴むためにこのサイトが重宝します。

分からない単語がでてきたら、都度、このサイトで検索していました。

https://wa3.i-3-i.info/

Qiita

qiita.com

ググる際は、Qiitaなどが有名です。

なんといってもIT関連記事が豊富です。

ただ、初心者にとっては、レベルの高い記事も多いので、

実務レベルで問題が生じた時、こんなサイトもあるよくらいに覚えておけばよいです。

検索能力は、エンジニアにとって必須スキルです。

しかし、まず、エラーが出たら

ちゃんとエラー文を読む!!!

初心者のときは、これができない人も多いです。

  1. エラー文を正しく読む

  2. ソースコードを読みながら処理の流れを追う

  3. ググる



まとめると、、

1、Progate

2、ドットインストール

3、書籍

4、Yutube,Udemyなど

で勉強しました。

以上が勉強方法についてです。

勉強方法は人によって全然違うと思うので、参考まで。

勉強をつづける上で意識したこと

アウトプット重視

プログラミングは、英語と似ていると前述しましたが、

英語もただ、机上で勉強していても一向に使えるようになりません。

プログラミングも一緒で、使わないと使えるようになりません。

もし可能であれば、実務経験を積みながら勉強するのが、近道です。

モチベーションの維持

まず、一つ目が「情報を発信」です。

学習を始めた頃からは勉強用のツイッターを開設しました。

「#駆け出しエンジニア 」などとハッシュタグをつけると手軽に仲間が見つかります。

ツイッターは、情報発信という面だけでなく、エンジニアの方と繋がることができるという面で、非常に良いツールです。

特に、地方だと全然人と知り合う機会なんてなく、

ましてやエンジニアの方と交流する機会なんて全くないので、

モチベーションを保つのにも役立ちます。


2つ目は、「プログラミングスクール」です。

少しお高いですが、モチベーション維持には効果的です。

オンラインよりはオフライン。

個人よりはグループのスクールがおすすめです。


また、よくある勉強方法で、

オリジナルのWebサービスを作る、というのがありますが、

私は、そんなに意識が高くなかったので、やったことがありません。

もちろん、勉強にもなりましたし、同時にポートフォリオも作れて、一石二鳥です。

オリジナルのWebサービスを作りながらも、技術書を読んでインプットすることは欠かさないようにしましょう。