「プログラミング学習を始めたけど、どのくらい学習すれば良いのか分からない、、」
「学習の基準値がわからない。。」
「そもそも、どのくらい時間がかかるんだろう?」
という方がいらっしゃるのではないでしょうか?
今回はそういったお悩みにお答えしていきます。
結論から申し上げると、プログラミングにおける言語学習は1ヶ月もいりません。
何故そういった事が言えるのか、筆者の経験談を交えて解説していきたいと思います。
目次
プログラミングの基礎学習について
そもそもプログラミング基礎学習をする上で、どこまで学習していけば良いのか分からないという方もいらっしゃいます。
多くの人は基礎学習の重要性ばかりに目を向けてしまいがちです。
しかし、プログラミング学習において重要なのはいかにアウトプット前提で動けるかということです。
本来、座学で私達はインプットを中心に考え学習しているのが基本的な流れになります。
当然、その背景には小中高大と受験という課題が提示されているため、その課題をクリアする為に筆記試験に合格するための最善としてインプット中心の学習が行われています。
ですが、プログラミング学習においてインプット作業はさほど重要ではありません。
なぜなら、プログラミングの本質として成果物というアウトプットが重要だからです。
学んで役に立つことではありますが、実務で活かせるかどうかが顕著に現れるのがこのプログラミングです。
そのため、インプット学習に目を向けていると肝心のアウトプットによる成果物がいつまでたっても作成できず、学習を挫折してしまいがちになるわけです。
また、さらなる悩みとして初学者は当然右も左もわからない状態からスタートするわけなので、どこまで学習するべきかわからず、参考書やオンライン学習教材の隅から隅まで網羅して、時間を多く費やしてします。
実際にこういった悩みを持つ方は基本的に下記の項目を学習していけば、基礎の学習は概ね完了です。
・変数
・リスト
・ループ
・条件分岐
・関数
・クラス
多言語に渡って触れてきた筆者でさえも、経験から基礎固めはこの程度で十分足りると感じています。
つまり、取り組んでいるプログラミング言語の文法を押さえられていれば、基礎学習として必要な知識は付いたと言えると思います。
基本的にどの言語であろうと、コードの記述方法が違えど扱う概念はある程度決まっているので、基礎学習に時間をかけるより、実際に実務で利用されている生きたコードにいち早く触れるステップを組み込んで学習することを強くお勧めします。
細かい部分は省きましたが、基本的にこれらの項目をある程度理解できれば、簡易的なアプリケーションの開発やPythonであればスクレイピングなど着手して問題ないかと思われます。
プログラミングは暗記ゲーではない
プログラミング初心者が学習において陥りやすいのが、基礎の文法を暗記しようとすることです。
基礎の文法のみでしたら、記憶する事はできるかもしれませんが今後学習を行っていく上で、記憶だけではどうしても難しい部分が出てきてしまいます。
また、プログラミングは学習の連続です。
一つの言語を学習してそれで終わりという事はなく、仕事のプロジェクトによって扱う言語は左右される事もあります。
大事なのは暗記ではなく理解をする事です。
プログラミング言語の基礎は書き方は違えど、概念の部分は同じです。
そのため、記憶するのではなく理解する事で新しく学習するものでも最初に学習したプログラミング言語より爆速で習得する事が可能になります。
よく、エンジニア業界では「ググって。」という単語が飛び交うのが一般的ですが、まさにわからないときはGoogle先生に聞くことが学習においても重要な考え方になります。
例えば、受験とプログラミングでの取り組みの一番の大きな違いは、記憶で戦うのと調べながら戦うという違いがあります。
当然、カンニング行為となってしまうで記憶を頼りに今まで努力の集大成を結果としてつなげるのが受験です。
一方で、プログラミングによる成果物の作成は、むしろカンニングありきです。
むしろ実務をこなしている筆者ですら、ググりまくっています。わからないことなんて数えられません。日夜新しい技術が生まれるIT業界のため、当たり前のように調べながら学習を継続しています。
その場で調べてその場で理解する、この繰り返しがプログラミング学習において必要な姿勢です。
大事なのは「実践しながら学ぶこと」
結局のところ、実際に使ってみないと学習の定着はしません。
なるべく、学習したらすぐに使ってみるのが一番効率のよい学習になります。
つまり、上記でもお話した通りアウトプット前提の学習方法になります。
技術書やオンライン教材などを読んで作った気になってはいけません。
たとえ課題が自分にとって作りたいものでなくても、コードを記述するべきです。
手を動かした人だけが感じ取れる気付きが必ず学習の中に存在するからです。
人は自分のルールに対して甘い傾向があります。
「明日までにこれをやるぞ!」
「この日までにここまで終わらせる!」
こういった計画的に取り進めるのが得意な人はうまく行くと思います。
ですが、軒並みこの手法でうまくいかず断念している人を幾度となくみてきました。
やはり、インプット作業ばかりを中心に取り組むことによって、いつまでも自信がつくことはなく、自分自身の満足がいくまで学習を続けてしまうので、基準が自分の中から生まれないのです。
他者がどのレベルでどこまでの学習で止めているのか、何を作ったことで現在の学習までを理解したと判断しているのか、様々な初学者や実践者の情報を収集して取り組んでいきましょう。
それは自ずと、あなたの理解度の基準として持つことができますし、成果物も手に入りますので学習継続の糸口になります。
さらに、実践しながら学ぶことで知識でとどまることなく実務に生かす方法などを思考することができてきます。
事実、私達は手に入れた知識を活用して今を生きていることに他ならないので、使ってなんぼのプログラミングであれば、どんどん実践経験を積んでいきましょう。
必ずやめてほしいのは、「参考書やオンライン学習教材の流し読み」です。
これだけ注意しながら、書くことを当たり前にしてみてください。
エンジニア業界であまりにも有名な名言がありますが、「いいから黙って手を動かせ、ハゲ。」という言葉通り、アウトプットしまくりましょう笑
プログラミング学習の手を止めない
大切なのは学習の手を止めない事です。
もっと言えば、インプット作業はほどほどに自分なりに考えながらアウトプット前提の学習をやめないということになります。
SNS等で自分よりも早くプログラミング学習を進められている方がいて、「この人に比べて自分は全然できてない、、」と気を落とす方がいます。
しかし、学習の進捗は人それぞれであって他人と競争したところで何の意味もありません。
戦うべきなのは過去の自分です。
過去の自分よりも、何か新しいことに取り組んでいるのあれば十分な成長となっています。
成長していないと感じてしまうのは、インプットばかりで自分自身で完結していることに他なりません。
アウトプットの重要性をこれでもかと書きなぐっていますが、常に足りないのはアウトプット前提のプログラミング学習だと認識していただければと思います。
無料カウンセリングを活用すること
プログラミングの学習において、基準値を知ることが重要になります。
例えば、HTML/CSSでサイトを作った経験があるのであれば、周囲の人はどのレベルに仕上げているのか気になりますよね。
おそらく作成したものに動作を加えたり、デザインの精度を高めるためにjQueryやJavascript、BootStrapなど多様な言語やフレームワークを利用することでしょう。
このような内容でどのような成果物を作成した卒業生が存在しているのか、周囲でどんな結果を残しているのか、プログラミングスクール等で実施している無料カウンセリングでお聞きするのがオススメです。
やはり費用がかからず利用できるものはじゃんじゃん使うのが筆者のモットーでもあります笑
それに、今後の学習方針やキャリア相談も含めて無料カウンセリング実施できるので、活用して損はありませんよね。
さらに、比較対象を作るあるいは多くの情報を得るためにも、複数の無料カウンセリングを利用するのが賢い方法だと思います。
そのかき集めた情報の中で、あなたの目的・目標に合った内容に取り組んでいきましょう。
DMM WEBCAMP 無料カウンセリングはこちら ※プログラミング未経験者のためのサポート体制がしっかりしてます |
【COACHTECH】無料カウンセリングはこちら ※学習管理とモチベーション維持のコーチングが好評です |
【リナックスアカデミー】無料カウンセリングはこちら ※18年間の実績があり、無料資料請求から始められます |
基礎学習に1ヶ月もかけるな!
おそらく、プログラミング言語を選択した時点から、プログラミング言語における基礎学習を開始したと思います。
その際に、選択した言語の文法を学習し始めるわけですが、先述した通り暗記するものでは決してないので、一度概念を理解できたらレベルアップ教材に取り組んでいきましょう。
たとえ忘れても本当に不安を感じることなんてありません。
とにかく文法を忘れても、繰り返しググって思い出す作業ができるようになれば、どんどんサイト制作・アプリ開発に挑戦してOKです。
世の中のプログラミング学習者は本当に失敗を恐れすぎて、全くレベルアップできる学習内容に挑みません。
同じ問題集ばかり解いても、問題自体は変わらないし、暗記したら思考も停止します。
常に考えることをやめないために、新たな問題集に取り組まなければ、新しい知識も経験も得られないわけです。
そもそも、新しい挑戦をするためにプログラミングを学習し始めたのに、挑戦自体をしない学習をしていたらそれこそ矛盾した取り組みになってしまいますよね。
そして、挑戦やレベルアップする内容、トレンドに沿った学習等を繰り返すのが基本のプログラミング業界だからこそ、何周もProgateやドットインストールなどの無料教材に取り組むのはやめてください。
せめて、常に違う無料教材を情報収集して、別教材を触れるようにしてください。
そうすれば、1ヶ月もかからない基礎学習どころか、2週間で1アプリ開発といった速度感も手に入れられると思います。
まとめ
いかがでしたでしょうか?
今回はプログラミングの基礎学習は1ヶ月で足りる理由、そして効率の良い学習の仕方をお伝えしていきました。
9割近くの人がインプット作業に疲れて、次のステップに移行できず断念するのを見かけます。
必要なのは、アウトプット作業です。
そのための学習内容の基準値を確認する作業から始めましょう。
学習内容の基準値を知るために、無料カウンセリングはおすすめなので、改めて記載しておきます。
そこからインプット作業をアウトプット作業に移行させて、学習ステージを変化させてみてはいかがでしょうか?
DMM WEBCAMP 無料カウンセリングはこちら ※プログラミング未経験者のためのサポート体制がしっかりしてます |
【COACHTECH】無料カウンセリングはこちら ※学習管理とモチベーション維持のコーチングが好評です |