みなさんProgateというサイトはご存知ですか?
プログラミング初学者の方には最早お馴染みの学習サイトですよね。
今エンジニアとして活躍している方も最初はこのProgateからプログラミングに触れたという方も多いのではないでしょうか。
プログラミングに触れたことが無い全くの初学者の方が最初の一歩としてやってみるには非常に優れた学習サイトなのですが、なかなか卒業できずにずっとレッスンを周回している人をTwitterなどでよく目にします。
ですが、僕的にはあまり長時間Progateに時間を費やすのはおすすめしません。
今回はその「Progateをずっと周回してしまう病」を患ってしまっている初学者の方向けに警鐘を鳴らすべく、なぜ周回がおすすめできないのか、効率的な学習方法はなんなのかを解説していきます。
この記事を読めばProgateでの効率的なプログラミング学習の進め方が分かってもらえると思うので是非最後まで読んでみてください。
目次
実は僕も周回しちゃってました
余談ですが実は僕も初学者の頃は「Progateをずっと周回してしまう病」を患っていました。
今の僕のProgateのダッシュボードを見てみると、「Lv.239」「総演習クリア数760」「修了レッスン数45」となっていて結構なレベルまでやり込んでしまいました。
Progateには「レッスンをクリアしていく毎にレベルが上がっていく」システムがあるのですが、これがゲームのレベル上げみたいで結構楽しいんですよね。
個人的にはこのゲーム感が学習のハードルを一気に下げてくれて学習時間を自然と伸ばしてくれるので良いシステムだなと思っています。
そんなこんなで楽しくプログラミングを学習していた初学者の頃の僕なのですが、一つの言語のレッスンを修了させた時にふと思いました。
「あれ?序盤のレッスンってどんな事やってたっけ?」
レッスンが進んでいくにあたって前に終わらせたレッスン内容をすっかり忘れてしまっている事に気づきました。
それによって再度同じ言語のレッスンを始めから受講し直すという事をやってしまっていた訳です。
エンジニアの世界では常識ですが、「プログラミングは暗記科目ではない」という事をこの当時は分かっていなかったのです。
おそらくトータルでだらだらと3,4ヶ月くらいProgate周回に費やしてしまったので今となってはもっと早く卒業していればよかったと後悔しています。
この記事を読んでいる方には僕と同じ過ちをしてほしくないです。
いつまでも自立できない
これが今回の記事タイトルの答えになる部分です。
ここで言う「自立」とは、「自分で考えてコードが書ける」事を指しています。
個人的にProgateは自転車の補助輪みたいな役割だと思っていて、いくら補助輪付きの自転車に乗れてもずっとそのままでは本当の意味で自転車には乗れていないです。
個人的にプログラミングおいて大事なのは自分でロジックを組み立てて何かを作ってみる事だと考えます。
「こんなアプリを作るにはどんな処理をつくればいいかな」
「この処理を作るにはどうプログラムを書けばいいかな」
「プログラム書いてみたけど動かないな、なんでだろう」
といった感じに自分で考えて自走する事が大事です。
Progateをただ周回しているだけでは、残念ながらこの自走力を身につける事はできません。
ではなぜ周回してしまう人が多いのか、それは基礎文法やメソッドなどを完璧に暗記したがる人が多すぎるからです。
先程触れましたが初学者だった頃の僕も例に漏れずそんな考えでした。
もちろん基礎は大事で、ある程度文法は理解しておく必要はありますが、最初の内はあくまで「ある程度」で問題ないです。
プログラミングは基本的に
- コードを書く
- エラーが出る
- 調べて解決する
の3つのプロセスを延々と繰り返していきます。
これらを繰り返していく内に自然と色々な文法もメソッドもコーディング方法も覚えていくものです。
極端に言えば個人的にはプログラミングの3大要素である「順次進行」「繰り返し」「条件分岐」だけ抑えていればokだと思っていて、この3つを体系的に学習するだけであれば一つのプログラミング言語を1週するだけで十分です。
多くても復習の2週で止めておくのがおすすめです。
あなたがなぜプログラミングを学習しているのかを改めて考えてみてほしいです。
おそらく何か面白いアプリを作りたい、普段の仕事をもっと楽したい、転職したいなどプログラミングを習得した先に目的があると思います。
そうであればいつまでも基礎ばかりやっていないで実際に成果物を作ってみるべきです。
プログラミングにおいてはそれが上達への一番の近道だと僕は思います。
おすすめのProgate活用法
冒頭でも触れましたがProgate自体はプログラミング初学者にとって分かりやすくて非常に優れた学習サイトです。
周回はNGですが正しく活用できれば最も学習効率が良い方法の一つになると思います。
ここではWebエンジニアを目指している初学者向けに例として、僕が受講するのをおすすめするレッスンを優先度順に紹介していきますので、参考にしてもらえれば嬉しいです。
最初にやるべきレッスンは「Command Line」です。
Command Lineではコンピュータを操作する際に必須のコマンド等を習得することができます。
よくエンジニアが向き合っている↓の様な黒い画面ですね。
初学者の人はまずHTML,CSSやプログラミング言語から始めるパターンが多いですが、まずはコンピュータをある程度自在に扱える用になる方が優先です。
例えば「ディレクトリ間の移動」「ファイル、ディレクトリのコピーや移動」「ファイルのリネーム」等のエンジニアが普段頻繁に行う動作をコマンドで簡単にこなす事ができる様になります。
遠回りに見えるかもしれませんが、将来的に必ず必要になる知識なので焦らずに一週やっていきましょう。
次のレッスンとして「Python」か「JavaScript」をおすすめします。
・バックエンドをやってみたい人はPython
・フロントエンドをやってみたい人はJavaScript
といった具合に、ここは自分が主にやってみたい分野によって選択すると良いと思います。
ただ、Pythonに関しては他に自分がやりたいバックエンドの言語がある場合はそちらをやるのも全然ありです。
(Progateでは他のバックエンド言語として「Ruby」「PHP」「Java」「Go」「Node.js」が用意されています。)
JavaScriptはブラウザ上で動作できるプログラミング言語で、フロントエンドを専門にしたい場合はほぼ一択で触れる事になります。
Pythonは文法がとてもシンプルで理解しやすくかつ将来性、汎用性が非常に高い言語です。
双方プログラミング初学者が最初に触れるプログラミング言語としては最適だと思うのでこれも一週やってみましょう。
当ブログではPythonについての関連記事を多く投稿しているので良ければそれらの記事も参考にしてみてください。
【必読】Pythonで仕事を取りたければ絶対読んでおきたいおすすめ技術書を紹介!【初心者向け】Pythonを学習すると何ができるのかとインストール方法を解説
3番目のレッスンとしては「HTML」と「CSS」をおすすめします。
世の中に存在する全てのサイトはこのHTMLとCSSが使われて画面に表示されています。
例えると、HTMLがサイトの骨組みを作る言語、CSSがその骨組みを装飾する言語になっていて、基本的にはこの2つでセットの認識が一般的です。
いくら優れたシステムを開発したとしても、それを見やすく画面に表示されていなければユーザーは使ってくれません。
バックエンドのエンジニアを目指している人であってもWebの世界で生きていくのであれば必須の知識になるので面倒でも避けずにトライしてみるのがおすすめです。
一度プログラミング言語の学習を経験した人にとってはそれほど複雑な言語仕様ではないのでとりあえず一周してみてください。
最後に「Git」のレッスンをやるのをおすすめします。
Gitは言語ではなく、ソースコードのバージョン管理に使われるツールです。
例えばあなたが今2時間プログラムを書いていたとして、何らかの理由でプログラムを1時間前の状態に戻したいとします。
そんな時にGitを使ってプログラムを管理していれば、コマンド一つで簡単に過去のプログラムに巻き戻す事ができます。
これがソースコードのバージョン管理と呼ばれるものです。
イメージとしてはゲームのセーブポイントを予め作っておけるツールと言った感じでしょうか。
これからエンジニアとして就職を目指している人にGitは今やエンジニアとして仕事をする上では必須の前提知識になっていて、これを知っているのと知らないのとでは就職活動にも影響が出てきます。
現在ソフトウェアを扱う会社がソースコードを管理する上でこのGitはほぼ必ず使われているので、是非一週してみて最初の内から少しずつ扱い方を習得してみるのがおすすめです。
ここまで紹介したレッスンを受けてみて、余裕があれば「SQL」のレッスンもやってみるのがおすすめです。
SQLは主にデータベースを操作する時に使われるデータベース言語です。
個人的には最初の内は無理してSQLを学習する必要は必ずしも無いとは思いますが、今後データベースが必要になるくらい規模の大きいアプリやサイトを開発するとなった時には必須になる知識なので、必要に応じて検討してみてください。
あとSQLはデータベース言語として作られてから20年以上第一線で使われ続けていて、代替のデータベース言語も今の所無い状態なので今後もおそらくずっと使われ続けるであろう知識です。
つまり一度習得しておけば潰しがききやすく、仕事に困らないくらいのポテンシャルを秘めているのでその観点でも学習は非常におすすめです。
以上6つのレッスンを紹介してきました。
個人的にはこの6つのレッスン以外は一旦飛ばしてしまって、将来必要に迫られた時に応じてやってみるのが効率的だと考えます。
これらの受講が終わったら先程も触れたとおり自分の力で調べながら何か成果物を作ってみてエンジニアとしての自走力をつける訓練をひたすらこなして行くのがおすすめです。
まとめ
ここまで「Progateは早く卒業するべき理由」と「おすすめのProgate活用法」について解説してきました。
内容を短くまとめると、
- 基礎は早めに終わらせて自分の力でプログラムを書いてみるべき
- プログラミングは暗記科目ではない
- Progateは効率よく活用しよう
という事になります。
やはり時間は有限ですから非効率な学習に時間を多く使わず有意義に知識を積み上げて行きたいものですね。
(これを書いている僕自身も色々遠回りしてきたのであまり偉そうに言えませんが。。)
この記事によって少しでも多くの「Progateをずっと周回してしまう病」を患った初学者の目を覚ます事ができれば嬉しいです。
最後まで読んでいただきありがとうございました。