みなさん、Progateというサービス知っていますか。僕はIT企業に入ってもなお、同僚の友達にProgateを進めています。
実際、世の中、プログラミングを学べるサービスってたくさんありますよね。いくつあるかご存知ですか?僕が知っているプログラミングが学べるサービスを今列挙してみると、少なくとも僕の知っている範囲では、10種類以上あります。(気になったらいろいろ調べてみて下さい)
- Code Academy (海外のエディタ形式のプログラミングサービス)
- Khan Academy (海外のプログラミングサービス)
- Udemy (日本でも展開している、動画学習サービス)
- Coursela (海外のコンピューターサイエンス授業を配信しているサービス)
- Udacity (海外のコンピューターサイエンス授業を配信しているサービス)
- ドットインストール(日本で展開している動画学習サービス)
- Tech Camp (日本で展開しているブートキャンプサービス)
- Code Camp (プログラミング家庭教師サービス)
- PyQ (日本で展開している、動画+オンライン家庭教師サービス)
- Progate (日本で展開している、エディタ形式のプログラミングサービス)
その中でも、なぜ私が、初心者こそProgateを使うべきなのかについて、Progateを使って勉強を始めて、現役でエンジニアをなった体験談をもとに話してみたいと思います。
そもそもProgateとはどんなサービスなのか。
なぜ、僕がProgateをお勧めするか。それには、たくさんの理由があります。今回はそれについて詳しく説明していきます。その前に、Progateとはどんなサービスなのかを説明させてください。
Progateは、「初心者から、創れる人を生み出す」を理念に、オンライン上でプログラミング学習サービスを提供している会社です。現在はHTML, CSS, JavascriptからRuby, Python, Javaなどの言語を取り扱っていて、いっちゃえばなんでも学べるようになっています。
最大の特徴は、実際に自分の手を動かして、コードを学習するところにあると思います。普通の多くのプログラミングサイトは、動画を配信して終わりなのですが、Progateは非常によく作りこまれたカリキュラムと、実際のエディタが存在した環境で、コードを書きながら学習することができます。
もちろん、とても分かりやすいスライドもあるので、学習に困ることがありません。
月額980円という破格で有料会員になると、すべての学習コースが見れるようになります。コンテンツの質は普通によいので、初心者向けの本を買うよりも、元を取れるように学習できるので、かなりおすすめです(僕も課金していました。)
プログラミングは、写すだけでは上達しない。かけ。
でですね、なんでProgateがほかのサービスよりもいいか。
初心者でも、自分で考えながらコードを考えられる点です。僕はこれに尽きると思います。
これがプログラミング上達にはすごく大事で、用はこうやるんだよ~と言われたものをそのまま書いていても、いつまでたっても自分でコードをかけるようにならないんですよ。でも、初心者に普通に自分でコードを書けと言ってもかけるわけないじゃないですか。
でも、Progateのカリキュラムって、そこがものすごく緻密に計算されていて、初心者でもカリキュラムをしっかりと読めば、その情報だけでちゃんと考えてコードが書けるように設定されているんですよね。
Progateはプログラミングで、間違えることで学習できる仕組みになっている
それで、さらにこのサービスがすごいのは、ちゃんとプログラミングで間違えることまでデザインされていることなんです。
プログラミング初心者が大体つまづく理由が、エラーの壁なんですよね。わけわからない文字列が出てきて、どう解消したらいいかわからない。どうググればいいかもわからないから、結局あきらめざるを得ないんですけど。
でも、Progateってカリキュラムをおそらく、ユーザーが間違えることを想定して作っているので、間違えてもかなりエラーを直しやすいようにメッセージを出してくれるので初心者でも自分で考えて、間違えることによって学習して乗り越えていく、ある意味一番大事なスタンスが身につくんです。
Progateで身に着けた、プログラミングのスタンス
「初心者から、創れる人を生み出す」上で、一番大事なのって、さっき書いた(1)自分でアウトプットをこうしたいと想定して実装する力と、(2)何かエラーが起こった時に、自分でいろいろ解決できるようになる力だと思うんです。
で、Progateで身に着けられる力って、まさに(1)だと思うんですよね
Progateで学習して、カリキュラムからこういう知識を得たから、今度はこういうことを作るためにはこういう風な実装にしないとできない・・・・と、こんな感じでいろいろと想定しながらつくるのが、後に非常に役に立ちました。(特に道場クラス)
また、エラーもちゃんと日本語の文字列で理解できたので、いざ英語のエラーが出てきても、「あ、あれってProgateのエラーで出てたあれと一緒やん」みたいのがわかるんですよね。そんな感じでいろいろやっていくと、未知の課題でも
(1)自分でゴールを描く力
(2)ゴールに向かう途中で出てくる障害を乗り切る力
が身につくと思うんです。
Progateで学んだその後、ついにサービスをリリース
ちなみに、もともと僕がプログラミングを始めたのは、「出会い系サイトを作りたい」という欲望で始めたのです。そこで、Ruby on Railsを使って作ろうと思っていましたので、ProgateのRubyとRuby on Railsを学習しました。
そのあと、今はもうありませんが、Progateのオンライン家庭教師サービス(月額3980円くらい)で、ひたすらどう実装すればいいか相談に乗ってもらいながら、Rails Tutorialという、ツイッターのクローンを作るチュートリアルを二回繰り返した後に、Curiocityというアカデミック出会い系サイトを作ることに成功しました。(今はもう動いていないですが、Facebook認証をしたり、フレンド機能やチャット機能をつけたりしました)
メンターがいないときつかったのはありましたが、それでもある程度の方向性がしっかりと定まれば、(1)ゴールを描く力と(2)課題解決能力はProgateのおかげで基礎的な能力が身についたので、4カ月ほど大学4年生の最後の時間を利用して、ローンチできました。
ちなみに現在はPythonでデータサイエンスよりのことのコードを書いています。(Rubyの基礎がわかればPythonもすぐできるようになります。)
今だから自信をもって言えること:やりたい言語を全クリするまでは教材はProgateで十分
なんで、どんな言語を学ぶにせよ、とりあえずその言語の最終的なレベルをクリアするまでは、Progateで十分です。逆に、Progateのコースがクリアできてしまったら、今度はやりたいことをどう実現するかを相談するメンターが必要だと思います。
というのも、メンターがいないと、どの方向で努力すればいいかわからなくなるので、何を学習すればいいかわからないという壁にぶち当たります。
そこまでまだ行ってないのであれば、Progateの基礎コースと、道場コースを2週しておくくらいやりこむのがよいです。
Progateをクリアしてしまったらどうしたらいい?
Progateをクリアしてしまったら、今度は本当にやりたいことを明確にしてみるのがよいと思います。スマホアプリが作りたいのか、Webアプリを作りたいのか、データサイエンスをやりたいのか。
そして、それを実現できるメンターを探して、何を学べばいいのかを検討してみるのがいいと思いますね。
メンターはどこで見つけられるのか
メンターが友達にいればよいのですが(僕はたまたま友達にもいたのでなんとかなりましたが)高度なことをやろうとすると、どうしてもメンターなしだとしんどいです。(躓いたときにエラーで死にます)
そこで、メンターが見つけられるサービスを検索してみたところ、Code Campというサイトがよさそうです。
こちらはマンツーマンでプログラミングを教えてくれて、くれるようです。講師も実績がある方ばかりのようなので、質で選ぶのであればここが一番よいと思います。
ただし、およそ30万円ほどかかってしまうので、本当にガチでプログラミングをやりたい人じゃないと、結構厳しいかもしれませんね。
ここはスキルを売り買いできるサイトなのですが、プログラミングのメンターサービスをやっている人が結構います。大体2000円から1万円ぐらいの間で、プログラミング聞き放題というサービスが多いです。
なので、上のが高すぎるよ!って人がいたら、かなりおすすめですね。ただ、人によってはスキルが保証されないので、注意が必要ではあります。
>>ココナラとは?
まとめ
ということで、いかがでしたでしょうか。Progateは、本当にプログラミング初心者には最高のサービスだと思うので、ぜひ特定の言語を全クリしてみてください!そして、本当に自分の作りたい基礎体力がついたら、メンターを探して自分の作りたいものを実装してみましょう!