【プログラミング】Progate反復学習はNG!(スキル付かない)

Progate 仕事
(前提) 

システムエンジニア:SE 

プログラマー:PG

として記載しています。
クラウド
クラウド

どうも!クラウドです!

 

将来SEやPGなどエンジニアを目指している方は

どのようにプログラミングを勉強していますか?

 

プログラミングの勉強方法の1つとして

「Progate」をやられている方も多いと思います。

Progate(プロゲート) | Learn to code, learn to be creative.
Progateはオンラインでプログラミングを学べるサービスです。プログラミングを学んでWEBアプリケーションを作ろう。

 

クラウド
クラウド

僕も利用しています!

 

Progateは

Webアプリケーション開発言語(HTML、Javascript、Javaなど)

をメインとしたオンラインでプログラミングを学べるサービスです。

内容も

  • 説明にコンテンツをたくさん使っているため、基本が分かりやすく身に付きやすい
  • 説明後に問題に沿ってプログラミングできる
  • Lv上げシステムがあり、ゲーム感覚で勉強でき継続しやすい

ため、プログラミング初心者が勉強するにはとてもよいサービスです。

 

クラウド
クラウド

僕は基本を学ぶのには最高なサービスだと思っています。

 

そのため、プログラミング初心者の方はProgateだけに集中して

レッスンを何周も繰り返し勉強されている方も多いです。

実際Progateも繰り返し勉強することを勧めています。

 

クラウド
クラウド

ちなみに何周してもレッスンの内容は変わりません!

 

でも、何周も反復して勉強することは、

本当にエンジニアとして通用するプログラミングスキルを身に付けることできるのでしょうか?

 

実はこの勉強方法、

17年以上現役SEとしてプログラミングをしてきた僕から見ると

あまりお勧めできないことなんです。

 

なぜなら、

エンジニアとして必要なスキルが身に付きにくく、仕事では通用しない

からです。

 

クラウド
クラウド

おそらく他のエンジニアの方も同意見だと思います。

 

プログラミングスキルを身に付けるうえで

Progateは基本を身に付けるのにとてもよいサービスですが、

もっと重要なのは

「たくさんプログラムを作成して経験を蓄積すること」

なんです!

 

今回の記事では

  • SEやPGになりたくてProgateを活用している人
  • 独学でプログラミングを勉強していて、今後Progateを検討している人

に向けて17年以上SEとしてプログラミングをしている僕が

仕事で求められるプログラミングスキル

をご紹介します。

それをもとに

  • Progateを繰り返し勉強していてはスキルが身に付かない理由
  • Progate勉強後にお勧めなステップアップ

をご紹介します。

おまけとして僕のProgate活用法もご紹介します!

 

クラウド
クラウド

Progateをメインに記載していますが

それ以外で独学で勉強している方にも

Progateから視点を変えれば参考になると思います!

 

是非この記事を読んでもらって、プログラミングを勉強する上での参考になれば幸いです!

スポンサーリンク

仕事で求められるプログラミングスキル

仕事で求められるプログラミングスキル

僕はSEとして長年プログラミングを行ってきました。

その際重要なのは

自分本位に作るのではなく、顧客の要望どおり自由自在にプログラムを作成すること

です。

 

クラウド
クラウド

お金を貰う以上、自分本位に作っていては顧客に見向きもされません。

最悪、仕事から外されます。

厳しいようですがこれが現実です。

 

そのために仕事で求められるスキルは

  1. どんなものでも工夫して作れるプログラミングの応用力
  2. プログラムを動かす環境の知識
  3. 発生した問題(バグ、不明点、など)を解決する調査力

が最低限必要です。

このスキルを身に付けるには

たくさんのプログラミングに触れ経験を蓄積していく必要があります。

 

最初は少しずつ身に付けていけばいいです。

ですが、常にレベルアップを意識することを忘れないでください。

でないと将来困ることがあります。

それは

環境やプログラミング言語の関係上、実現が難しい要望をいきなり出してくることがある

ためです。

理由は

顧客の大半がIT専門家ではなく知識が少ないため、実現可否を考慮せず理想だけを要求してくる

ためです。

 

当然ですよね。

専門家ではない限り、プログラミング言語や環境まで考慮するのはとても難しいです。

 

クラウド
クラウド

僕の経験上、ある程度開発が終わったころに、仕様変更として要望されることが多いです。だから、すごく大変。。。

 

そのため、

1~3の知識がない、もしくは少ないと

実現が難しい理由を顧客に納得させ、別案を提案すること

ができません。

 

クラウド
クラウド

3は別案を提案する際に実現可能かどうか調査するため必要です。

 

エンジニア成り立てのころはこういった対応はすることはほとんどないですが

将来必ず対応することになります。

 

以上のスキルはProgateを繰り返し勉強してもなかなか身に付かないと思います。

次項でその理由をご紹介します。

 

クラウド
クラウド

プログラミングスキルは

単純にプログラミングすることだけではないのでご注意を!

Progateでは仕事に必要なスキルが身に付かない理由

Progateでは仕事に必要なスキルが身に付かない理由

Progateを繰り返し勉強しても仕事で求められるスキルを身に付けるのは難しいです。

なぜかというと経験が蓄積できないからです。

次にその理由を紹介します。

(理由1)基本がメインのため、一部しか学べない(応用力が付きにくい)

Progateはプログラミング初心者が基本を学ぶ際、

難しくて挫折しないよう工夫されてた内容になっています。

Progateは基本を学ぶうえで個人的は最高なサービスだと思います。

 

クラウド
クラウド

プログラミング言語は基本が重要です!

そして習得するのはとても大変で挫折する方が多いです。

Progateはこの点が考慮されていて初心者には最高なサービスです!

 

ただ、あくまで基本がメインであり、その基本も一部しか紹介されていません。

また、内容は変わらないため、Progateを繰り返し勉強しても、

紹介された内容以上のことに触れることができません。

そのため、いろいろなプログラムを作って経験を蓄積することができず、応用力が付きにくいです。

(理由2)自分で環境構築しないため、環境の知識が身に付かない

Progateではすべて環境が用意されています。

そのため、環境を考慮することはほぼありません。

 

クラウド
クラウド

中には環境構築のレッスンもありますが、ごく一部です。

 

プログラムを組むには最低限必要なものがあります。

  • プログラミング言語を記載するエディタ
  • プログラミング言語のインストール

です。

エディタも単純に用意すれば良いわけではなく

プログラミング言語が動くように設定しないといけない場合があります。

 

クラウド
クラウド

VS-Codeは比較的多くの言語にも対応していますが、

Debugを行うために必要なパッケージをインストールしないといけないなどあります。

 

また、OSを用意しないといけない場合もあります。

例えばRubyやphpはサーバに依存した言語のためLinuxにインストールが必要な場合があります。

その際はLinux環境も構築する必要がありますが、環境によっては問題が発生する場合もあります。

例えば

  • インストールしたファイルが現在あるファイルと互換性がない
  • 言語のバージョンにより環境に適さず処理できない場合がある

などです。

そういった問題は自分で環境構築して解決していかないと経験できません

 

Progateでは

  • 基本的に環境が用意されている
  • 環境構築するレッスンでも必ず問題が発生しないようになっている

ため、環境の知識について経験を蓄積することが難しいです。

(理由3)すぐ答えが分かり調査することが少ない(調査力が付きにくい)

各説明の後には問題があり、実際にコーディングを行いますが、

  • 内容は穴埋め問題みたいなもの
  • 答えがすぐ分かる(すぐ見れる)
  • どこに何を記載するかほぼ指定されている

ため、自分で調べてプログラミングしたり、エラーを解決することはほとんどありません。

そのため、調査力が付きにくいです。

(理由4)覚える作業になりやすい

  • 2周目以降も内容は変わらない
  • 問題形式が穴埋め問題みたいな感じで、一部分を記載するもの

のため、内容や答えを覚える作業になりやすいです。

覚えること自体は悪くないのですが

覚えたものを他のパターンで応用して使えないと意味がありません。

重要なのは

プログラムを自在に組めて、正確に動かすことができること

です。

そのためには多くのプログラムを作って経験する必要があります。

 

実はプログラミングではコードを覚える必要はありません。

というか覚えきれません。

例えば、Javaのレッスンでは

外部ライブラリ:MathクラスとMathクラスのmaxメソッド

が紹介されています。

 

クラウド
クラウド

外部ライブラリはJava側で用意されているライブラリです!

 

Mathクラスにはmaxメソッドだけでなく他にもたくさんのメソッドが用意されています。

Math (Java Platform SE 8)

このリンクを見ていただくと、Mathクラスだけでもメソッドが大量にあることがわかります。

もし覚えられたとしても、バージョンが変わると、クラスやメソッドが使えなくなったりします。

そのため、覚えるのは無意味です。

 

クラウド
クラウド

Javaに限らずどの言語もバージョンが上がると使えなくなるクラスやメソッドが出てきます。

 

実践では処理に必要なクラスやメソッドは何があるかを調べて、プログラミングします。

Progateでは、すでに用意されているし、使うクラスやメソッドはほんの一部です。

これらを覚えたところで使う場面がなければまったく意味がありません。

結論:多くても2周したら次のステップへ進むべき

Progateはこれまで述べた理由により

プログラミングに必要なスキルの経験を蓄積することができないため、

何周繰り返しても仕事で求められるスキルを身に付けるのは難しいです。

 

とはいえ、プログラミング初心者は1周では自信が持てないかも知れません。

その場合はもう1周やってそのあとは次のステップへ進みましょう

その際、Progateで学んだことをすべて理解していなくても大丈夫です。

 

理由は簡単です。

調べればいいからです。

 

それに、Progateである程度基本が身に付いていると思うので、

それ以降は自分で調べていくほうが確実に身に付きやすいです。

 

学校の試験勉強や資格勉強をイメージしてもらうとわかりやすいかと思います。

恐らく皆さん多くの問題を解いて間違ったところは調べていたと思います。

単純に本を読んでいるより、そちらのほうが頭に入ったことないですか?

それと同じです。

 

次にProgateを学んだあと経験をつけるためにお勧めなステップアップをご紹介します。

 

クラウド
クラウド

ちなみに次のステップへ進んでわからないところが出た時、

Progateを参考にして勉強するのはとてもお勧めです!

Progateの次へのステップアップは何をすればいい?

ステップアップ

結論から言うと

とにかくたくさんのプログラムに触れて経験を蓄積する

ことです。

 

個人的にはIT業界に就職して現場で揉まれることが一番力が付くと思っています。

  • 多種多様なプログラミングにたくさん触れられる
  • 周りは経験豊富なプロばかりなのでいろいろと教えてもらえる
  • 顧客の考え方が分かり、それにあわせてプログラミングを行うことが自然と身に付く

からです。

実際に年齢関係なく未経験から頑張っている方も僕の周りにいます。

以下の記事でもご紹介しているのでよかったら見てください!

 

クラウド
クラウド

40代・50代以降でも活躍している人の特徴」

以降に紹介しています。

SEの年齢の限界は?人間性が高ければ年齢は関係ない事実について
SEは35歳が限界(SE35歳定年説)と言われますが、人間性が高ければ年齢なんて関係ない事実について、同じSEとして多くのSEと接してきた経験をもとに記載しています。 SEはもちろん、SE以外の方でも参考になると思うので是非見てください!

でもいきなり仕事についても通用しなさそうだからやっぱり不安。。。

クラウド
クラウド

確かにね。。。

 

。。。というわけで、僕が考える次のステップとしてお勧めなものを

たくさんプログラムに触れることができ仕事に役立つスキルが付く

という視点から2つほどご紹介します。

 

クラウド
クラウド

書籍を使った勉強は、本が自分に合っていないと最後まで続けるのが難しいので、今回対象外にしています。

良本であれば、今後のバイブルとしても使えるのでお勧めです!

(お勧め1)ポートフォリオを作成【お勧め度:★★★】

ポートフォリオ

クラウド
クラウド

僕の1番のお勧めです!

まずはこれを試してください!

 

まずは簡単なものでいいので、ポートフォリオを作ってみましょう!

そして、1個出来たら2個、3個とそれぞれ違う内容のものをどんどん作っていきましょう!

その際、次のことを必ず実行してほしいです。

  • 何を作りたいかを考えて、実際に作る
  • Progateで学んだプログラミング言語を使う
  • 自分で環境を用意する

たぶん初めは躓くことが多いと思いますが

ググったり、Progateを見返しながら一つずつ解決していってください。

 

これをやると、

  • どんなものでも工夫して作れるプログラミングの応用力
  • プログラムを動かす環境の知識
  • 発生した問題(バグ、不明点、など)を解決する調査力

が自然と身に付いてきます。

 

クラウド
クラウド

例えば最初は「おみくじ」とかいいと思います!

ボタンを押すとおみくじが出るみたいな感じで!

難易度もそこまで高くないです!

もちろん同じ「おみくじ」を繰り返し作っても意味ないよね?

クラウド
クラウド

それだとProgateを繰り返しているのと同じ。。。

でも、作ったおみくじに何か機能を追加するなど

改良していくならありだよ!

 

重要なのは

とりあえず作ってみること

です。

必ずしも作れなくても大丈夫です!

なぜなら

どこが理解できていないのかということが分かるから

です。

そして、出来なかった部分をググって少しずつ対応していけば必ずスキルが身に付いてきます。

 

このググることは、エンジニアが仕事をする上で必ずやっていることです!

前述した通りコードを覚えようとしても無理なので調べることが多いためです。

つまり身に付ければ、最低限の仕事ができるようになる

ということです。

この苦労を乗り越えて1つのポートフォリオができた時

今までの苦労が一気に歓喜や自信に変わります!

 

クラウド
クラウド

特に初めて自分で作ったときは

例えようがないくらいの喜びを味わうことができます!

是非、皆さんにもこの気分を味わってほしい!

 

自分で考えたものを作れないようでは顧客の要望を実現するプログラミングは難しいです。

ですが、焦ることはありません。

少しずつでもできるようになっていけばいいと僕は思っています!

大変だとは思いますが、ぜひ頑張ってください!

 

クラウド
クラウド

個人差や言語によりますが、一つの言語の基礎を習得するのに

200~250時間時間くらいはかかる」とよく言われています。

それだけプログラミングって難しいです。

(お勧め2)エンジニアがいるスクールに入会【お勧め度:★★☆】

school

ポートフォリオを自分なりに作成してみてたけどやっぱりまだ自分には難しくてできない

という方は

スクールに入会することをお勧めします。

 

ただし、僕がお勧めするのは

  1. 現役エンジニアのサポートがある
  2. 転職サポートがある
  3. オンラインでいつでもどこでも受講できる
  4. 無料体験がある

スクールです。

それぞれの理由は

  1. 現役のエンジニアからエンジニアという仕事について本音が聞ける
  2. 就職活動が有利になり、問題なくエンジニアになりやすい
  3. 仕事で時間が取れなかったり、出張でスクールに通えないということがなく
    いつでもどこでも受講できる
  4. そのスクールが自分に合っているか確認することができる
    ※合わなければ長続きしない

ためです。

特に1.は最重要だと思っています!

  • どのような仕事をしているか
  • どういったところが大変か、またやりがいがあるか
  • エンジニアになって良かったところ悪かったところ
  • 体験談

などネット上でなく直接生の声が聞けるんです。

これってエンジニア本人が直接答えるのでまず嘘はありません!

それにより

自分が考えているエンジニア像が本当にあっているか

ということを再確認できます!これ本当に重要です!

エンジニアになってから

イメージと違う

となって、つまらなくなったり辞めるのは、

せっかく貴重な時間やお金を費やして勉強したのにもったいないです。

そうならないためにもエンジニアとたくさん話して、

エンジニアという仕事をしっかり理解することを強くお勧めします!

それだけでもとても充実する内容になります!

 

これらを踏まえると、僕のお勧めは

TechAcademy(テックアカデミー)

です。

 

クラウド
クラウド

厚切りジェイソンがCMしているやつです。

 

なぜお勧めかというと他のスクールに比べて

  • 上記4項目がしっかりしてサービスが充実している
  • Progateにあるプログラミング言語が多いためProgateからステップアップしやすい
  • コースが多く選択幅が広い

からです。

 

以下参考までに項目ごとにリンクを張っておきます。

興味のある方は是非内容を確認してみてください!

【全般的な情報】



【無料体験】



【エンジニア転職に関する情報】



【エンジニア転職保証】

 

やっぱり気になるのは有料会員になったときの料金ですね。

 

クラウド
クラウド

プログラミングスクールってどこも高いんですよね。。。

 

ちなみにTechAcademyはコースごとに料金が違います。

またコースによりキャンペーン中で若干安くなっているものもあります。

※2020/10/11現在

 

例えば「PHP/Laravelコース」だと以下の表のとおりです。

コース
※期間
4週間
※集中して
学びたい人向け
8週間
※じっくり
学びたい人向け
※キャンペーン中
12週間
※多忙で
時間がない人向け
※キャンペーン中
16週間
※焦らず
学びたい人向け
※キャンペーン中
料金(円)
※税別
社会人:149,000
学生 :129,000
社会人:199,000
学生 :159,000
社会人:249,000
学生 :189,000
社会人:299,000
学生 :219,000
受講期間開始:10/26(月)
終了:11/22(日)
開始:10/26(月)
終了:12/20(日)
開始:10/26(月)
終了:1/24(日)
開始:10/26(月)
終了:2/21(日)
メンタリング
回数
7152331
チャート15~23時(8時間)15~23時(8時間)15~23時(8時間)15~23時(8時間)
学習時間の目安
(1週間)
20~40時間10~20時間7~14時間5~10時間

 

  • Tech Boost
  • 侍エンジニア塾
  • ヒューマンアカデミーTECHBASE

に比べたら若干安いけど、決して安い料金ではありません。

ただ、エンジニアと直接話せるのはかなり有益なので、この点にお金を払うべきかが重要ですね!

 

ちなみにTechAcademyの料金、

安くする方法もあるみたいですよ!

受講を検討される方はご参考までに。

https://collegemoney01.net/2017/11/25/164122

 

スクールは決して安い金額ではありません。

まずは無料体験からはじめて

  • 自分に合っているか
  • 内容はわかりやすいか

を見定めて問題なければ入会するようにしましょう!

エンジニアの生の声を聞けるのは本当にお勧めです!

【おまけ】僕のProgate活用法(基本を押さえておくために利用)

Progateの利用方法

先述したとおり、僕もProgateを使っています。

 

クラウド
クラウド

まだすべてを完了していないですが。。。

 

僕の場合は基本を押さえておくために活用しています

詳細は以下の通り。

  1. 使ったことないけど、今後のために知っておきたい言語の概要を知るため
  2. 暫く使っていない言語の復習をするため

勉強時間は大体30分~1時間程度です。空き時間にやることが多いです。

 

1.は一回やってみて、その言語の基本を押さえたら

あとは環境を用意して簡単なポートフォリオを作っています。

繰り返すことはせず、分からないことがあれば、ググって調べながら作ります。

そのほうが、

Progateでは知ることができなかった他の情報を得ることができステップアップできるから

です。

 

2.は今後仕事で使いそうだなと思ったときに、思い出すために、使っています。

仕事をしながら思い出してもいいのですが

プログラミングだけではなく他の作業もあるため

時間も取れず、集中できず、中途半端になってしまうからです。

そのため、事前に見直して

仕事とプログラミングどちらも集中してできるようにしています。

そうすれば仕事も効率よく行うことができます。

 

クラウド
クラウド

プログラミングも仕事と言えば仕事だけどね。。。

まとめ:Progateは2周まで!そのあとはたくさんプログラムに触れ経験を積もう!

いかがだったでしょうか?

 

Progateはプログラミング初心者が基本を学ぶうえで最高なサービスですが、

それ以上のことは学べないため、何周繰り返し勉強しても一定以上のスキルは習得できません!

ただ、基本は絶対必要なため

まずProgateを1,2周したら

ポートフォリオの作成やスクール入会など次のステップに進んで、

たくさんのプログラムにふれてください!

それにより経験が詰めるのでプログラミングスキルは格段に上がるはずです!

 

自分で思うようにプログラミングができるようになると

プログラミングの楽しさや視野がぐっと広がります!

是非、この気持ちを感じてほしいです!

僕はエンジニアのやりがいの一つだと思っています!

 

将来皆さんがプロのエンジニアとしてご活躍されることを願っています!

そのときは同じIT業界のエンジニアとして共に頑張りましょう!

 

クラウド
クラウド

以上っす!

プログラミングは難しいですが乗り越えれば楽しいことばかりです!

頑張ってくださいね!

コメント

タイトルとURLをコピーしました