プログラミングの挫折しないための学習法

# プログラム初心者の方へおすすめの学び方

## プログラミングの挫折ポイント

### 何から手をつけていいかわからない

- そもそもプログラミングというものに興味はあるけど、何ができるのかわからない
- HTML,CSS,Javascript,PHP,Java...って何が違うの？
- Webサイトを作るには何をどうしたらいいの？


### 環境構築ができない

- Eclipseの日本語化ってどうするの？
- XAMPPって何をしているの？
- Apacheって何？
- ネットに載っている手順書通りにやったけど、動かない...。

環境構築をするには、サーバ側(PCの基本設定やミドルウェア)からアプリ側(プログラミング言語)の広い範囲の知識が必要になります。
まずプログラムがとにかく書けるようになりたいっていう人は自分のローカルPCの中に環境を設定するのはやめて、ネット上でコードが書けるサービスを使いましょう。


### つまづいても誰も教えてくれる人がいない

- ネットで調べても何をやっているかわからない
- 本の通りにやったのに詰まってしまった
- 一人だとモチベーションがあがらない

プログラミングはやはり誰か知っている人に教えてもらうのがやはり近道です。
周辺の知識も教えてくれるのでかなり吸収が早いです。

## 挫折しないために

### プログラミングを勉強すると考えるのではなく、何がしたいを考える

- ブログを書けるWebサイトが作りたい→HTML,CSS,WordPress(PHP)など
- スマホアプリを作りたい→Kotlin,Xamarin,Objective-C,Swift,Java(Android)など
- 自分の作ったものを売ることができるサイトをつくりたい→WordPress,PHPなど
- SNSを作りたい→Ruby on rails(ruby),Django(Python),CakePHP(PHP)なこ
- 上記サービスが動くサーバを作りたい→クラウドサービス(AWS,GCP,Azureなど),Linuxコマンド,各種ミドルウェアなど

プログラミングは何かを作るための手段です。
何を作りたいかによって学ぶことがかなり変わります。
自分が作りたいものにどんな技術が必要かを知って、１つずつ学ぶのがよいかと思います。
全部学ぼうと思うときりがないので、したいことを考えてそれに合った技術を学ぶのがよいのではないかと...。

###  ひとまず環境構築はしない

確かにサービスを作ろうと思うと環境構築はしなければいけないのですが、まずは基礎を学ぶ、動く→楽しい！と思うことが大事なのかなと思っています。
なので、簡単に学びたいコードが動く環境を利用しちゃいましょう。

#### コードを書くのにおすすめサイト

- **Progate**(https://prog-8.com/)
　日本語の学習サイト。有料のコースもあるけど、基礎については無料でできる！！！本当にありがたいサイト。
　有料版も月額1000円程度とお安く素晴らしい。自分でサービスを作りたい人は応用編でも練習できる。
　
- **paiza**(https://paiza.jp/)
　動画での学習や練習問題を解くことができるサイト。
　動画はたまに無料で公開していることもあるので、その時は必見。
　転職サイトも運営しているので、書いたコードを見て転職オファーももらえる。
　未経験の人に向けのen:try求人というのもあるので、勉強しつつ転職活動もできる便利なサイト。
 
- **SoloLearn**(https://www.sololearn.com/)
　英語が得意な人にはおすすめ。週間ランキングもあってモチベーションあがります！
　スマホでも実行できるのが手軽で便利。
　通勤時間で学べます。

- **Cloud9**(https://c9.io)
　AWSというAmazonのクラウドサービスに統合されて実行するのにAWSのEC2インスタンスの起動が必要になっているかもしれないのですが、もともとのサイトだと(クレジットカードの登録は必要なものの)無料でPHP,Django,RubyonRails,Python,Node.js,C++などが動く環境をブラウザから起ち上げてコードを書くことができます。
　AWSでもEC2インスタンスというコンピューティングサービスを起ち上げると無料でCloud9が使えるようです。
　EC2自体もAWS指定の小さいスペックのものであれば、1年間1台分は無料で使えるので使ってみるのもよいかもしれません。

#### コードではないけど動画で学べるおすすめサイト

- **ドットインストール**(https://dotinstall.com/)
 短い動画で学べるので集中力も続く！たくさんの種類の動画が見られるサイト。

- **Udemy**(https://www.udemy.com/jp/)
 有料・無料含めていろんな分野の動画がある。英語も日本語も。
 セールで1200~1400円くらいになる動画もあるので安くなっていたら買い時かも?

### とはいえ、教えてもらうのが近道

無料や格安で教えてもらえるところをまとめてみました。

- **conpass**(https://connpass.com/)
 無料の勉強会もたくさんあります。
 好きなところに顔を出して話を聞いてみると、最初全くわからなくても徐々にわかってきます。
 Progateをひと通りやってみて参加するのもよいかもしれませんし、本当に全くのプログラム初心者に教えてくれるような勉強会もあるので探してみてください。

- **ポテパン**(https://camp.potepan.com/)
 ポテパン経由で転職すればという条件付きですが、転職すると全額キャッシュバックがあります。
 最初の費用も10万円とほかのプログラミングスクールに比べるとお安めです。

- **職業訓練校**(http://course.jeed.or.jp/onestop/)
　最近、職業訓練でもパソコン関連の科目が増えています。
　有料のものもありますが、原則1年以上雇用保険を会社が支払っている形で働いていた人であれば半年～2年の間失業手当をもらいながら勉強することができます。
　要件などが決まっていますので、ハローワークで相談してみると詳しく教えてくれると思います。
　リンクから条件を絞って検索できます。

- **求職者支援訓練**(http://course.jeed.or.jp/onestop/)
　失業保険が支給されない人でも求職者支援訓練に通うと月10万円をもらいながら3か月～6か月程度、民間のスクールに通うことができます。
　これもハローワークで相談すると詳しく教えてくれると思います。
　リンクから条件を絞って検索できます。

- **企業のインターン・勉強会**
　企業が採用活動の一環でインターンや勉強会を開いている場合があります。
　WantedlyやTwitterなど企業が情報を発信していそうなところで検索してみるとよいかもしれません。


### 未経験でも雇ってくれるところもあるし、とりあえず就活してみるのもあり。実践が一番吸収速い。

IT系未経験でもおすすめの転職サイト。
ちなみにどれも使ったことがあります。

- **Green**
　とにかく求人多いので、探しやすい。

- **paiza**
　コードを見て連絡もらえるので、自分のレベル感を知って声をかけてもらえる安心感。

- **Wantedly**
　企業に所属している人たちがどんな人なのかわかったり、企業の考え方を知れる。

- **エン転職**
　UIが使いやすい。カイシャの評判という口コミがあるので、なんとなくいいところ悪いところがわかる。

- **ポテパン**
　前述のとおり無料になるプログラミングの講座あり(講座受講はしたことないのでわかりませんがRubyだったはず)。　



### まとめ

とりあえずプログラミング楽しいから、動くコード書いて楽しさ実感しながら勉強しましょう！！

私もまだまだ初心者なので、一緒にプログラム勉強できる友だちほしい！！

情報の誤りやご指摘、その他なんでもコメントください！