効率の良い勉強法プログラミングの学び方講座vol.1「プログラミングを楽しく・効率よく学ぶコツを解説!」こんにちは、フリーランスエンジニア兼テックライターのしろ(@siro3460)です。実力をつけるために仕事をとるための戦略など、仕事でもつかえるプログラミングスキルを鍛えるための、具体的な方法がわからない方もいるのではないでしょうか。ITスクールに行けば手っ取り早く知識は学ぶことができるかもしれませんが、どれも高額ですぐには手が出せないですよね。そんな悩みを持った方向けに、エンジニア・プログラマーになるためのプログラミング学習方法について、連載することとなりました。学習効果を高めるコツ」について解説します。プログラミング学習効果を高める最大の秘訣は楽しむことプログラミングを始める前に目的を明確化しようプログラミング学習サイト、本、ITスクール、MENTA、勉強会、オンラインサロンなど、さまざまな学習方法がありますよね。学習を始めればある程度知識はつきますが、目的を決めていないと、いつか成長が止まってしまいます。そのため、最初にプログラミングを学ぶ目的を明確化することが重要です。自動化ツール開発のように、なりたい姿をまずはイメージしてみましょう。なりたい姿がイメージ出来たら、学ぶべき言語が見えてきます。・Web開発:HTML、CSS、JavaScript、Ruby、PHP、Python・アプリ開発:Swift、Objective-C、Kotlin、Java・自動化ツール開発:VBA、RPAプログラミングを楽しく学ぶための学習サイトなりたい姿・言語が決まったら、プログラミング学習サイトでプログラミングを始めましょう。プログラミングの実践課題を使って学ぶ学習サイトです。スライド資料がとにかくわかりやすく、初めてプログラミングをする方に特におすすめです。学習スライド例:また、以下のように、目的別のレッスンまとめページもあります。コースに沿って学ぶことで、プログラミング学習がしやすくなるだけでなく、スケジュールも立てやすくなります。画面操作付きの動画で学ぶ学習サイトです。5000本以上も動画があるため、学びたい言語の解説動画はほぼ確実にあります。1動画3分なので、ちょっとした時間を使って学習できることが特徴です。コンテンツ例:また、こちらも目的別のレッスンまとめページがあるため、迷わず学習を進めることができます。まとめページ:URL:https://dotinstall.com/lessonsパソコンに学習環境を作る必要がありますが、各動画ページの「補足情報一覧」に、環境の作り方が載っています。HTMLの「補足情報一覧」の例:初めて言語を学ぶときは、必ず補足情報を確認しましょう。CODEPREPURL:https://codeprep.jp/CODEPREPは、プログラミングを書いて動かしながら学ぶ実践型のプログラミング学習サービスです。言語の基礎解説だけでなく、作りたい機能・アプリをベースにしたコンテンツが多いことが特徴です。作りたい機能をベースにしたコンテンツ例:また、ドットインストールと同様、目的別のレッスンまとめページもあります。まとめページ:URL:https://codeprep.jp/tracksプログラミングの学習効果を高めるコツわかりやすい学習サイトを使えば、プログラミングは始めやすいです。同じレッスンに3カ月かかる人もいれば、1カ月で終わる人もいます。そのため、学習効果を高めるコツをいくつかご紹介しますね!コツ1:横道に逸れずレッスンを終わらせることを重視する新しいことを覚えると、使ってみたくなりますよね。「理解がどのぐらいできているか」「もっと〇〇のようにしたらどうなるか」気になる気持ちはわかりますが、自分でオリジナルコードを作ろうとすると・・・次のような壁にぶつかります。難易度を飛び越えた機能を作ろうとして、理解に時間がかかってしまう自分でコードを書いて理解を深めることや、エラーを解決する力はとても重要です。知識が浅いうちから調べて解決しようとしても、答えは出づらいのです。一通り基礎を頭に入れることで、見える世界が変わってきます。最初は修業期間と決めて、基礎を学んでいくことがおすすめです!コツ2:わからないことを完璧に理解して進もうとしないプログラミングを学ぶときによくありがちなのが、完璧に理解してから進もうとすることです。プログラミングを始めて間もないころは、わからないことも多いでしょう。完璧に理解して学習を進めることは・・・とても難しいです。1つのことを理解するときでさえ、基礎解説を見るだけではわからない場合もあります。実践的な課題を数回こなして、初めて使い方がわかるのです。わからないことを調べて数時間たってしまうよりも、数をこなして学びを進めることがおすすめです。進めていくうちに、「あ、あれはこういう意味だったのか!」と気づけたり、一通り学習した後にもう一度振り返ってみると、理解していることもあるのです。「完璧に理解はできてないけど、動きはなんとなくわかった」ぐらいでも最初はいいので、まずは進めることを重視しましょう。補足わからないと思ったときはメモを取りましょう。メモさえ取っておけば、空いた時間に少し調べたり、勉強会に行ったときに質問することもできますよね。Evernoteにメモすれば、メモしたノートをマージして一覧化することもできます。※「わからないこと」を腹落ちさせるテクニックについては、本連載の別記事で詳しくまとめます。3:プログラミング学習の仲間を見つける1人で学習をしていると、次のような悩みを持つ人もいるでしょう。一人でプログラミング学習する時の悩み・自分のスキルレベルがわからない・わからないことで困った時に悩みを相談できない・屈強な意思がないと、学習を継続すること自体が難しいプログラミングは、とても長い道のりです。独学で進める場合は特に、早いうちからプログラミング学習の仲間を見つけることがおすすめです!おすすめのプログラミング仲間の見つけ方について、ご紹介しますね。Twitter活用法Twitterでプログラミング学習を公開することで、仲間が見つけやすくなります。聞くと敷居が高く感じるかもしれませんが、初心者向けのイベントも多いです。「もくもく会」という参加者がそれぞれもくもくと作業するイベントや、交流会をメインとしたイベントもあります。エンジニア・プログラマーとして働いている人と話すきっかけにもなるため、イベントは定期的にチェックすることがおすすめです。PLAY・Doorkeeperわからないことが多く学習が進まない方へ「わからないことを完璧に解決しようとせず、学習サイトを進めることが大事」と伝えてきましたが、レッスンの内容がわからず前に進めない方もいますよね。ググってもよくわからず、時間だけがたってしまう人もいると思います。そんな方向けに、解決できない問題にぶち当たった時の対処方法をご紹介します!ITエンジニア特化型Q&Aサイト「teratail」で質問するteratailは、ITエンジニア特化型のQ&Aサイトです。Yahoo知恵袋のようにわからないことを質問することで、回答が返ってきます。思考停止で質問するのはNGです。「あ、こいつ何にも調べてないのに質問してるな」と悟られると、回答が返ってきづらくなってしまいます。回答をもらいやすくするために、自分がどこまで調べて試したか、何がわからなくて困っているかわかりやすく質問する必要があるのです。・わからないところのように、状況を整理しつつ質問しましょう。プログラマの技術情報共有サービス「Qiita」に投稿するQiitaは、プログラミングに関する技術情報を共有するサービスです。質問サービスではないですが、調べたこと、実施したこと、わからなかったことなどをまとめて発信することで、コメント経由でアドバイスをもらうことができます。「誰かよくわからない人」よりも、「毎日頑張って学習している人」の方が困っているときに助けたくなりますよね。情報を整理していく力は現場でも使えるため、そういった意味でもQiitaはおすすめです。プログラミング学習効果を高める最大の秘訣は楽しむこと今回お伝えした学習サイト、学習効果を高めるコツ、困った時に使えるサービスはあくまでも方法の1つです。大事なのは、プログラミングを楽しむことです。なんでもそうですが、スキルを高めるためには継続が必要です。学習サイトのレッスンをやってもモチベーションが上がらないときは、思い切ってオリジナルアプリを作ることも一つの手です。SNSやブログで作るアプリを公開し、作っていく過程を発信していっても良いかもしれません。わからないと思ったときに相談できる環境さえあれば、立ち止まらず進めていくこともできるでしょう。いう要望を持っている方向けに、週に1度リアルなお役立ち情報を配信しています。「フクザツなことをカンタンに」がモットーのテクニカルライター。IT企業で約5年のエンジニア経験を経て、フリーランスとして独立。フリーランス2年目で、テクニカルライターをメインに活動中。現在は、数社のメディアで記事を執筆しつつ、完全オンラインで学べるテクニカルライターレッスンを開催している。USイメージキャラクター『Freena』フリーランスの羅針盤となるメディアサイト『東京フリーランス』。フリーランスの皆さんに役立つコンテンツを配信しています。