プログラミングがやってみたいので、Progateを始めてみた!
でも、コースがあまりにも多くて、何から始めたら良いのかよくわからない……
最初は何から手を付けるのがおすすめ?
今回は、こういった疑問に答えていきます。
Progateを始めてみると、たくさんの言語や仕組みに触れる事ができるようになりますよね。
でも、そもそもプログラミング言語についてよく分かっていないのに、どれが良いかなんてわからない!
そんな事があるかと思います。
最近で言えば、AIに関わりたいならPythonがいいとか、Web系でいくならPHPがいいとかRubyがいいとか、調べた経験もあるのではないでしょうか。
そこでこの記事では、Progateを実際に全コースやってみた身として、『何から始めたら一番理解が早いか』という事について、個人的な見解を述べていきます。
参考までに、私は技術系の学校からソフトウェア開発系の会社に入り、今日まで10年を超える程度は企業向けシステムの企画・開発に携わってきました。
インフラ・フロントエンド・バックエンドどれもやりますが、今回社員教育の観点からProgateを触ってみたので、その経験をもとにお話します。
この記事を読んだ人が、Progateのコース選びで迷わなくなることを目標に書いていきます。
それでは、さっそく本編に進みましょう。
Contents
スポンサーリンク
結論:Web開発パス(Node.js)
何から始めたら良いのか。私のおすすめは『Web開発パス(Node.js)』です。
なんだよ一番上にあるやつじゃん、と思われるかもしれませんが、仮に他の言語をやりたいと思っていたとしても、とりあえずWeb開発パスを触れておいて損はないかな、と。
Ruby on Railsと2択で少し迷いましたが、個人的にはNode.jsが良いと感じています。
Railsコースは最も詳しく解説しているのですが、それ故に道のりが長くて、達成感を得られるまでが遠いんですよね。
ということで、Node.jsが良いかなと。
Web開発パスを選ぶ理由は、主に下記3つのポイントによって成り立っています。
- 運営が最も力を入れているであろうコースだから
- フロントエンドの知識を全般的に学べるから
- 基本的な考え方は他の言語に応用できるから
それでは、それぞれの詳細について触れていきます。
1.運営が最も力を入れているであろうコースだから
これは簡単な理由で、Progateって、コースによって力の入り方が全然違うんですよね。
なので、基本的には一番上で宣伝されているWeb開発パスをやっておけば、とりあえず「失敗したな……」という感想にはならないと感じます。
たとえば、他のコースでは具体的に何が作れるようになるのか想像もできないけれど、Web開発パスだったらひとまずモノが作り始められるようになる。
これくらい内容の厚みが違います。
そもそも、初心者がプログラミングを覚えた時の達成感とか面白味とかといったものは、『目に見える形でモノが完成しやすい』といった視点では、Web系が一歩優れているんですよね。
ここは主観によって意見が別れるところだとは思いますが。
アプリを作るのは、初心者にはちょっと難しい。でも、ひとまずHTMLでホームページだったら作り始められる。
難易度として、そのくらいの違いはあると思うんですよ。
もちろん、HTMLを終えればサーバサイドの話に入ることになるのですが、これもJavascriptって癖は強いけど、導入はかなり簡単ですよね。
少ない知識でコードが書き始められるというのが、入口として最適かなと思います。
逆に、必要とする知識が多い代表格はC言語だと思います。これはProgateにはありませんね。
私は過去、プログラミングを人に教える時にC言語から入って、非常に後悔した記憶があったりします。
というのも、最終的に作れるようになるモノのイメージが紐付いていかないので、途中でめちゃくちゃ人が挫折するんですよね。
別の言語も試してみて、ああ、C言語は初心者に向かないんだなあと。
ということで、少ない知識でコードが書き始められるというのが大事だと思うんですよ。
2.フロントエンドの知識を全般的に学べるから
次に、フロントエンドとバックエンドのお話ですね。
Web開発パスから入ると、フロントエンドの事をわりと満遍なく学ぶことができます。
これもかなり大きなお話かなと思います。
言葉がわからない方のために誤解を恐れず簡単にお話しておくと、フロントエンドというのはユーザーと直接やり取りを行う部分のことで。
バックエンドというのは言わば、そのフロントエンドを出力する部分のことです。
Webアプリって、注文してから目的のモノが出てくるまでが2段階あるんですよね。
イメージとしては、飲食店みたいな感じです。ホールがフロントエンドで、キッチンがバックエンド。お客様の相手をするのはホールだけど、実際に料理を作るのはキッチンです。
まあ今回の話をするためには、そのあたりの概念的な事が理解できていれば大丈夫です。
これをWebに置き換えて考えると、フロントエンドというのは実際にみなさんが目にする画面そのものです。
操作する画面そのものがフロントエンドで、その画面を裏側で料理している部分がバックエンドということです。
それで、Node.jsというのが、このフロントエンドとバックエンドをJavascript一本でやれちゃうという仕組みになっています。
他のケースでは、フロントエンドはJavascriptで、バックエンドはPHPやRubyなどを使って開発したりするのですが、覚えることが1つで良くなるんですよね。
そういう意味で、Node.jsから入っておくと便利ですよね。いや、これも賛否両論あるかなとは思うのですが。
同じWeb開発パスでも、Ruby on Railsはフレームワークなので、初心者には覚えることが多くてちとキツいなと感じます。
プログラミングとしての基礎だけではなくて、Ruby on Railsのルールを学ばなくてはいけないんですよね。
なので、入りを簡単にするという意味で、Node.jsがいいかなと。
3.基本的な考え方は他の言語に応用できるから
最後に、応用のしやすさに関してですね。
Web開発パスをひとつ覚えておくと、他のコースにもすんなりと行きやすくなります。
なぜかと言うと、プログラミングとしての基礎の基礎である、ifやfor・whileといった文法は、必ず他の言語にもあるからです。
ちょうど、他のプログラミング言語系のコースの第一章をまるごとクリアした後のような状態になるわけです。
いや、もちろんやることが0になる訳ではないですよ。
言語によって書き方が違うので、たとえばセミコロン(;)があるとかないとかで、全く覚えることが無い訳ではないです。
ある言語にはswitch〜caseがないのでif〜elseで代用しないとダメとか。foreachがあるとかないとか、書き方でカバーできる程度の違いはあります。
そうは言ってもその程度なので、他のコースを触っても、わりと超速で終わったりします。ペコペコ飛ばしながら、第一章のクリア時間が10分とか。
もちろんPythonなんかのコースから始めても両方やるなら結果は同じですが、気持ちの問題があるかなと。
Progateはフロントエンドに力を入れている傾向にあるので、やっぱり1つのコースで満遍なく学べた方が気持ちが楽かなという思いがあります。
Web開発パスを終えたら何をやればいい?
一応、今回の記事はこれで終わりなんですが、最後に『Web開発パスを終えたらどうする?』という問題について、軽く触れていきたいと思います。
Web開発パスさえやっておけばプログラミング技術としては万全かというと、やっぱりそんな事はないんですよね。
ここまで詰まらずテンポよくやって来たなら、大体1ヶ月もあれば終わっているのではないかと思います。
この先、やることは以下の2つですね。
- 別のコースも合わせて学んでおく
- 自分でアプリケーションを作ってみる
それぞれの路線について、説明していきます。
別のコースも合わせて学んでおく
何もすべてのコースを学んだ方がいいという事ではないんですが、別のコースをやってみるのは経験としてはありかなと思います。
特に、Web開発パスのRuby on Rails編もやってみると、フレームワークがなんぞやという事も学べて一石二鳥です。
- jQuery
- Ruby on Rails
- Git
- SQL
- Command Line
- Sass
このあたりは知識が被らないので、やっていて楽しめるのではないでしょうか。
基本的にこれらは組み合わせて使うものなので、やっておくと作れるモノの種類も増えます。
上記以外のコースについては、様々な言語で同じものを作るというコース設計になっています。
私は一応全コース触ってみたのですが、あえてやらなくても良いかなという感じがしました。
元々Progateだけやっていても、何かが作れるようにはならないんですよね。
同じコースを何周もやるとか、別々の言語で似たようなテキストをこなす経験よりは、自分で何かを作る経験の方がはるかに多くのことを学べます。
それを加味した上でも、知識が被らないしフロントエンドをやる上では避けられないということで、上記のコースはやっておいても良いかなと思います。
自分でアプリケーションを作ってみる
ここが大本命なのですが、『自分でアプリケーションを作ってみる』というのが良いです。
やっぱり、人に言われて作る経験と自分で悩んで作る経験では、得られるものが違います。
でも、Webアプリケーションってプログラミングそのものより環境構築の方が大変じゃないか、って思う方、多いんじゃないかなと思います。
これはですね、環境構築も大変です。それは間違いない。
でも、Progateで環境構築って結局できないので、これを機会に覚えてしまうのが良いかなと。
Webアプリケーションだったらおすすめは、自分のPCに仮想環境を作って、サーバ周りの知識を学んでしまうことです。
アプリだけではなく、アプリが動く環境というものがどう作られているのかも知ることができるので。
どの道Webアプリをやるんだったら、AWSやHerokuなんかのサーバ側はいつか触れる事になるでしょう。
ここが理解できないと、Progateで学んだことが活かせないという側面もあります。
いやいや、レンタルサーバー借りたらお金かかるし、それはちょっと……と思うのであれば、たとえばAndroidアプリなんかは需要がありますよね。そっちに行くのもいいですね。
たとえば転職したい時でも、そういった成果物があるのとないのでは印象が大きく変わります。
自分で作れる簡単なものでも構わないので、ひとつ作ってみると、Progateで学んだ知識がちゃんと活用できる知識に変わるかな、という所です。
Progateの経験は、自分の作品に繋げよう
ということで、ProgateはWeb開発パスから始めるといいよ、というお話でした。
得られる知識の量が明らかに違うので、同意してくださる方も多いかなあとは思います。
ただ、Progateってあくまで入口です。それは意識しながら学ぶというのが大切です。
大本命は、やっぱり自分の作品を作ることです。
私もプログラミングを教える際によく直面していたのですが、『何が作りたいかはイメージしていないけど、なんとなくプログラミングを覚えたい』というのは難しいですね。
プログラミングって、モノを作るために覚えるものなので。言わば自分の作品です。
アレを作るためにコレが必要だ、となって、初めて知識が定着するところがあります。
自己アピールとしても使えるので、ひとつ作ってみるのがおすすめです。
私もこれまで作ってきたものはすべて会社の商品になってしまったので、自分の商品を何か持ちたいなあ、と思っています。
共にがんばっていきましょう!