ProgateとN予備校プログラミング入門の比較（Webエンジニア入門サイト）

N予備校のプログラミング入門 Webアプリコースをだいたい終わらせたので、１年前に利用していたProgateとともにそれぞれの特徴と向いている人を書いておきます。どちらのサービスも月額千円の初心者向けプログラミング学習サイトです。

# 対象読者
- 現在WEBプログラミングに興味があり、勉強したいと思っている方
- 体系的にまとまった初心者用のプログラミング教材を求めている方

## はじめに
（自分語りなので読み飛ばしてOKです）
１年半ぐらい前、私はWEB系の分野に興味があったので、まずは趣味としてWEBサイト or WEBアプリを作り、ゆくゆくは副業、ないしは本業にできないかと夢見て、独学でWEBプログラミングを勉強することにしました。
調べたところProgateが月額980円と値段が安く、教材も分かりやすそうだと思って、2018年7月ごろにProgateに申し込みました。
大学でプログラミングを習っていたのもあって、3ヶ月ぐらいでHTML、CSS、Ruby on railsなどのコースをクリアできました。

しかしProgateだけでは自分で思い通りのWEBアプリを作って公開できるというレベルには至れず、Progateの後に何をやればいいか調べていると、「Progateの後はTechAcademyのオンラインブートキャンプを受けて、IT企業に転職」というのが王道の学習プランのようでした。
TechAcademyは短期集中で現役エンジニアのマンスーマンレッスン付きで10万円～というけっこうガチな感じです。

値段が高く、転職というのもそこまで考えていなかったので他のオンライン教材を探していたところ、
[まじな話をすると、N予備校のプログラミング入門コースやるのがオススメ](https://anond.hatelabo.jp/20170911110731)
という記事を読んで、（なんかすごそう）と思ってN予備校に申し込みました。
それが2019年の4月で、半年後の現在、だいたい入門コースの最後の方までいったところです。

# Progate
[Progate](https://prog-8.com/)は「初心者でも、独学できるレッスンを」がテーマのプログラミング初心者向けのオンライン学習サービスです。
一番の特徴はProgate上にプログラミングを書ける環境が用意してあるので、サイトにアクセスすればそれだけで学習できるというところでしょう。
「１．イラスト中心のスライドで勉強」して、「２．実際にプログラムを書く」というのを繰り返し行っていきます。
スライドが非常にわかりやすいので、ちゃんと理解でき、「言葉の意味を別に調べる」みたいな作業は不要で、Progate内で完結できます。
今はアプリもあるので、スマホで勉強できるとか。
おすすめは、HTML/CSS、JavaScriptなどのクライアント側の部分とサーバー側はRuby on rails。
## Progateの良かったところ
- わかりやすい資料（スライド）
- 初心者がつまずきやすい環境構築が不要
- 検索も使いやすく、忘れたところは前の資料を見れば思い出せる
- 総じて完成度が高い印象

「初心者でも、独学できるレッスンを」に偽りなしという感じで、初心者が独学するのには適していると思います。

## Progateのイマイチなところ
- 環境構築を教わらないので、Progateで勉強した後に自分一人でプログラミングできない（特にWindowsユーザー）
- あまり難しいところや理論的な話はない

## こんな人はProgateがおすすめ
IT企業に転職 or 就職したい人は、MacかUbuntuのPCで、Progateで勉強して、Ruby on railsで自分のポートフォリオを作成→Herokuで公開して、それを面接時にアピールにするっていうのが一番の近道かつ高コスパじゃないかと思います。
転職活動前にTechAcademyなどのマンツーマンレッスンを利用しながら実績を増やしておくのも良しです。
その後は勉強しながらさらに転職していけば、キャリアアップ、スキルアップも狙えるので、未経験からWEB系プログラマーになりたいならおすすめです。
（参考記事：[Ruby->Go->Scalaという習得順序がエンジニアの爆速の成長に最適である理由](https://qiita.com/poly_soft/items/1feaa1ec5ecab08dc6db)）

月額980円で有料会員になれますが、一部レッスンは無料会員でも学習することができます。
[https://prog-8.com/](https://prog-8.com/)

# N予備校プログラミング入門
N予備校はニコニコ動画で有名なドワンゴが提供するe-Learningサービスです。予備校という名前の通り、大学受験生が主なターゲットで、プログラミングコースは教材の一部にすぎません。N予備校に申し込むと日本史や英語なども受けられます。
しかし、はっきり言ってプログラミングコースは高校生がやるレベルではなく、社会人でも難しいと思います。
私は情報系の大学を出ましたが、なんとかできるかできないかという難易度でした。

教材はこのQiitaと同じマークダウン形式で書かれたテキストが中心です。
教材を理解した後は、演習課題を毎回GitHubのプルリクエストで提出します。
e-Learningシステムとしては進捗が何％と出るだけで、ニコニコ生放送のシステムを使った動画コンテンツもありますが、内容に対して時間が長すぎるので、基本的に使えるのはテキストコンテンツだけと考えてよいでしょう。
わからないところはyahoo知恵袋みたいな感じで質問できますが、コミュニティはそんなに活発じゃない印象です。

## N予備校の良かったところ
- 扱っている内容が技術的に新しい（新しそう）
- 予備校と紐付いているため、年度ごとに内容が新しくなる
- Vagrantを使ってVM上で開発を行うので、Windowsでも開発環境が整えられる
- Webフレームワークを１から理解できる
- API・モジュールの使い方がわかる
- モジュールの作り方がわかる

## N予備校のイマイチなところ
- 全４章で構成されるが、３章→４章のように章が変わると進むペースが一気に変わる（途中で脱落しやすい）
- 専門用語が多い割に説明が不十分
- バージョンの関係などで動作確認が不十分な箇所がある
- 誤字脱字があるなど、全体的に完成度が低い印象
- コメントが少なく、コードが何の処理をしているか把握しておくのが難しい

３章でSlackのBot開発する回がありますが、動作しなかったので飛ばして進めました。
結局Botは本筋のWebアプリ開発には関わらなかったので、問題ありませんでしたが、逆に（あれ？いらなくね？）と思ってしまいました。
Progateと比べるとサービスの質にはかなり差があると思います。


## こんな人はN予備校プログラミング入門がおすすめ
最初は初心者でもついていける難易度、ペースですが、途中から初心者はついていけなくなると思います。
中級者向けという感じでしょうか。
少なくとも初心者が独学でやるというのは難しいと思います。
プログラミングの本を読みながらだと何とかいける……かも。

ただ、初心者の一歩先（中級者）の知識がまとめてあるのはかなり貴重なコンテンツだと思います。
特にVagrantの導入方法とWebフレームワークの仕組みが私にはちょうど一番知りたい知識だったので、やって良かったです。

Disではないですが、説明不足なのが、逆に自分で調べる能力を育ててくれた感もあります。
また、詳しくはここを見てねという感じでリンク先が英語のページ（公式）ということも多かったので、（独学でやろうと思ったらWEBエンジニアに英語は必須なんだな…）と分からせてくれたというのもあります。
そういう点では、N予備校の難関大向け英文法のコースが良く、そちらも受けさせてもらいました。

また、[こちらの記事](https://anond.hatelabo.jp/20180322155658)に私の感じたことが全部書いてあったので、やる前に一読しておくと良いと思います。

N予備校は月額1000円で、大学受験の科目や機械学習、コンピュータサイエンス（情報科学）、大規模Webアプリ、スマホアプリなど、様々なコースが受けられます。
[https://www.nnn.ed.nico/](https://www.nnn.ed.nico/)

# 総評
Progate：実践的
N予備校：理論的

とりあえずWEBエンジニアになりたいなら、Progateで学習すればWEBサイトが作れます。
特にRuby on railsは思っていた以上に簡単にWEBサイトの機能が実装できるので、学習時はびっくりしました。
ガチのWEBエンジニアになりたいなら、N予備校で分からない部分はググりながら進めていく、っていうのが結果的にはいろいろな知識がつきそうでいいと思います。

終わり。

# 今後について
[WEB DEVELOPER ROADMAP - 2019](https://github.com/kamranahmedse/developer-roadmap)というのがあったので、これに沿って進めていこうと思います。
まずは[MDN web docs](https://developer.mozilla.org/ja/)でHTMLから勉強し直しかな。
MDN web docsは海外のサイトで一部はまだ日本語化されていないので、難易度は高めっぽいです。