ツイッターでIT業界の情報収集をしていると頻繁に流れてくるのがprogateイイ!という評判。ほむ。そんなにオススメなのかと思い、ちょっとやってみる事にしました。
Progateとは?
リンク先の説明を見ればわかるように、Progateは総合的にプログラミングを学べる教材で中身を見ると
- HTML&CSS
- JavaScript
- JQuery
- Ruby
- Ruby on Rails 5
- PHP
- Java
- Python
- Command Line(Linux系)
- Git
- SQL
- Sass
- Go
- React
- Node.js
など、フロントエンド/バックエンド系言語がこれ一つで学べちゃうというとても素晴らしい学習ツールになっております。しかも初期レッスンは無料で開放されていて文法など基礎は無料レッスンでつかむことができます。
上記リストは2021/12/26現在のもので今後対象が増えるのは間違いないでしょう。最近追加されたものだと思いますがQuest(道場レッスン)は基本だけでなく、バグ修正やより良い開発を行えるためのレッスンをしており、少しずつに実務に寄せようとしている努力も見えます。
進め方
最初にイラストも含めてコードの使用方法等を説明した後、下記のように手順を参考に自分でプログラミングしていって正解を見つけるやり方になっております。
どれだけ進んだかはいつでも確認でき、経験値とレベルが上がっていくことによってどれだけやりこんでいるのかも判断することができます。
値段
値段は基礎が学べる無料と応用的なレッスンも含めた全てのレッスンが学べる有料版があって1078円/月です。プログラミングスクールだと大抵20~30万円を超えたり動画購入の教材型でも単体で10000円を超えるものが多い中、月で1000円ちょっとしかかからないのはかなり破格だと思います!
Progateはどれだけオススメするか?
【未経験者】無料版オススメ度:★★★★★ (とりあえずやっておこう)
【未経験者】有料版オススメ度:★★★★☆ (プログラミングスクールとどちらかがオススメ)
【経験者】無料版オススメ度:★★★☆☆ (スキル転換を考えてる場合は参考にできる)
【経験者】有料版オススメ度:★★☆☆☆ (ポートフォリオ作れる動画サイトを見る方がオススメ)
【未経験者向け所感・オススメの進め方】
エンジニアを目指す登竜門としては大いにアリ。オススメの進め方としては無料版で一通りの技術を触ってみる。特にサーバ系言語はレッスン内容が殆ど同じで文法だけが違うのでどの文法を使う言語が自分に合っているかを判断できるのは大きい。
もちろんProgateだけでなく、ネイティブアプリやVue.jsも含め、一通り触りたければその言語が学べる他無料サイトがあればそのサイトの無料枠も利用するべき。
一通り無料版を触った後でやりたい技術が決まったらお金がそれなりにあるなら有料版はやらずに「その技術が学べるプログラミングスクール」を利用した方が良いでしょう。前回記事にも記載したように有識者の知識が得られたりチーム開発ができるカリキュラムがある、転職サポート付きだからです。
お金がないなら、やりたい技術がProgateにあれば有料版を契約しつつ、ちゃんと自分で環境構築してポートフォリオを作っていくことをオススメします。
ただ下記の理由により、有料版では全部のレッスンを進めていくのはオススメしません。例えばサーバサイド言語であればRuby/PHP/Goの中からPHPに絞ってレッスンをやるなど、浮気せず学習していった方がいいでしょう。
転職業界でもフリーランスでもそうですが、扱ってる技術は企業毎に違うので一つの技術を長くやってる方が採用されやすいし、お金も稼げます。
【経験者向け所感・オススメの進め方】
レガシーな技術者がモダンな技術を学んでスキル転換を図るにはアリだと思います。経験者でも全部の言語を触った事ある人はあまり多くないので文法確認にはピッタリでしょう。
そこは各々の今後目指す技術次第なので特にRailsがやりたいという方は有料版をする価値があると思います。(Progateでは現在唯一MVCフレームワークを学べる技術なので)
私は現在ツイッターでも情報収集していますが今後はUdemyをやろうか考えている所です。これだとポートフォリオを作れる動画もあるらしいことを目にしました。
以降は良い所、悪い所を個別に綴っています。
良い所
- 有料プログラミングスクールでも習う内容が無料で学べる
- 演習につまづいてもすぐにスライド(説明)に戻れる
- 手順にある動作に必要な文字がボタンでコピーができる等、操作性も悪くない
- RailsなどのWebアプリレッスンも動作させるのに必要な環境(サーバ・ブラウザ・ターミナルに至るまで)があらかじめ用意されているのでプログラミングを覚える事に集中することができる
- とにかく受けられる言語の種類が多いのでエンジニア経験者でも未経験言語の文法を簡単に学ぶことができる
- LinuxコマンドやGitなど、かゆい所に手が届くレッスンも有り
有料プログラミングスクールでも習う内容が学べる
サーバ言語のレッスンにある画面への出力やif文・for文・While文の繰り返しレッスンは有料プログラミングスクールでも学びます。共通の基本構文なのですがそれが無料で提供されているのは素晴らしいの一言です。
LinuxコマンドやGitなど、かゆい所に手が届くレッスンも有り
こちらも基本しかやりませんがコマンドラインやGitのレッスンがあるのはいいと思いました。知り合いに独学でJava/JSPを組んでWebサーバにポートフォリオとして公開していた意識高い未経験エンジニアもいましたがその人でもLinuxコマンドの知識までは手出していなかったそうです。
AWSなど、自分でLinux系のWebサーバを構築するなら、権限/所有者変更に関するコマンドも活用できないと厳しいのでそのレッスンも取り入れていればもっとよかったと思います。
微妙な所
- プログラミング技術書でも覚えられる内容にとどまっている
- 良い所に挙げた、「必要な環境があらかじめ用意されている」はそのまま環境構築のノウハウまでは学べないということにつながる(環境構築に関する説明は省かれているのでポートフォリオを作ることまではできない)
- 一人で案内の通りに淡々と進めていくレッスン方式のため不明点の質問ができず、チーム開発のノウハウは学べない
- 覚えられる技術が偏っている
プログラミング技術書でも覚えられる内容にとどまっている
例えばJavaの最終レッスンⅣ~レッスンⅤを見ると覚える内容が「オブジェクト指向」「継承」関連となっていますが、Javaの技術書にも載っています。(とはいえ月1078円で学べるなら短期利用限定ではあるものの下手に技術書(大体一冊2,500~3,000円前後)買うよりよっぽど安い)
そうしたら継承にはextendsを使う。等文法については学ぶことができるでしょう。ただ、継承・実装などのオブジェクト指向コードを実務でどう活かして行けばよいかは実務の数だけパターンがあるので触れてみなければわかりません。
例えば継承はよくA車・A車のバージョンアップしたB車はプログラミング的に言うと「車Bは車A」の継承。と説明してありますが、実務のコードでは当然車とかわかりやすい例があるわけではないので何を継承して使っていけばいいかは小手先の技術ではダメで経験を積んで体(脳)が覚えていないとダメです。
環境構築に関する説明は省かれているのでポートフォリオを作ることまではできない
Webサーバが学べるレッスンである「Ruby on Rails5」の中身をチェックしてみると、あらかじめ環境が用意された状態でいいね!やパスワードハッシュ化など、実務でも活用できそうな内容になっていますがこの内容はProgate内で用意された環境でいじるだけで自分の資産にできないのでポートフォリオ作りには向きません。
一応付録「Ruby on Railsの環境構築をしてみよう!(Windows)」に実際の環境構築の手順の記載がありますが、正直オススメしないですね・・・
- 環境構築できたとしてもその後のProgateのRailsのレッスンに結び付けるのが難しい(レッスンは最初から環境が用意された状態でできるし、新規に作った環境でも同じように動作するかの保証はない)
- 簡易勉強用DBでSQLiteがよく使われるため、例外なく案内されているがせっかく自力で環境構築するならポートフォリオを作る目的のが良いため、実務での採用率が高いMySQLもしくはPostgreSQLを使用した方が良い。(SQLiteを使うプロジェクト見たことない・・)
一人で案内されている通りに淡々と進めていくレッスンのため不明点の質問ができず、チーム開発のノウハウは学べない
こちらはやはり、プログラミングスクール系が強い項目ですね。基本はプログラミング教科書(Progateのレッスン)の内容をただなぞって進めるタイプのサイトのため、逆にレッスン内容以外の事ができず、Progateで覚えたことを応用していくとなると一人では厳しいでしょう。
覚えられる技術が偏っている
Web系言語・サーバ系言語一通りそろっているので一見すると便利のように思えますが2021/12/29現在で取り扱ってない技術もあるので過信のしすぎは禁物です。
- Swift/Kotlin/Flutter など、ネイティブアプリ(スマホアプリ)に関連する技術
- PHPのMVCフレームワークであるLaravel (下記画像に示すように近年Railsより人気高まっています)
- C# (サーバ系言語の人気としてはJavaより低くレガシー(年代が古めの)言語に入っていますがアプリゲーム業界で需要あるUnityで使用しています)
- Goと並んでこれから人気上がりそうなScala
- Vue.js(こちらも下記画像が示すようにReactと人気を2分しているJavaScriptのフレームワーク)
まとめ
いやー。昨今のエンジニア人気すごいですね!!学生のカリキュラムにプログラミング言語が必修になるみたいですし、自分が19年くらい前にC言語を使ってた時代がウソのようです!
今や教材も充実し、家でいつでも学べちゃうし、収入も高くなりつつあるし、他業種からの転職者が多いのも頷けます。
今はコロナも落ち着いてるので求人も結構多いみたいです。未経験者も経験者もこの機会にスキルアップしてより良い収入を目指してはいかがでしょうか?
それでは~
私の場合今後の志望がLaravel(もしくはASP.NET(C#のMVCフレームワーク))やVue.jsのため、これ以上Progateで学ぶ技術はないかなと思い、有料版はやりませんでした。