こんにちは、フリーランスエンジニア兼テックライターのしろ(@siro3460)です。
皆さんは、プログラミング学習が上手く進んでいますか?
・学習サイトを使っているけど、スキルが身についている自信がない・・・
・わからないことを調べても解決できないことが多く、時間がかかってしまう・・・
・わかったつもりになることが多く、自分で書いてみると全く書けない・・・
・わからないことを何度も調べてしまい、学習効率が悪い・・・
・学習にそこそこ時間は割いているのに、スキルが全然身につかない・・・
という方もいるのではないでしょうか。
努力しているのに成長が感じられないと・・・辛いですよね。
そこで今回は、「超初心者から抜け出すためのプログラミング上達のコツ」について解説します。
※こちらの記事は、連載記事です。前回の記事を見てない方は以下からどうぞ。
コツ1:学習を進めるときのコツ
見て覚えるだけでなく、自分で書いて動かす
わかりやすい解説をしている学習サイト、本、動画がたくさんありますよね。
ただ、「わかりやすいこと」には1つ落とし穴があります。それは、わかったつもりになってしまうことです。わかったつもりで終わらせないために、自分でコードを書いて動かすことがとても重要です。
自分で書いて動かすことで、次のように理解が深まります。
・エラーが起こり、ググって解決する経験を得られる
・興味本位で少しコードを変えて、動かした結果を確認できる
動くだけの綺麗なコードだけでなく、自分で書いて失敗した経験が知識に繋がっていくのです。
学習するときは必ずメモをとる
学習するときは、メモを残すことがおすすめです。
プログラミングを初めて間もない頃は、とにかく学習サイトを進めていくことも大事です。ただ、残念なことに進めるだけでは知識はほとんどつきません。
・新しく知ったこと
・覚えておくと今後使えそうなこと
・説明 + サンプルコードを見て初めて理解したこと
など、メモすることでアウトプットに繋がり、知識を深めることができるのです。
学習サイトで学んでいるときはわかったつもりになりがちです。ポイントをまとめたメモをいつでも見れる状況にしておくと、学習が加速するのでおすすめです。
※記事の後半で、メモを超活用するテクニックについてもご紹介します。
メモを取るときは、スマホでも見れるEvernoteがおすすめです。
保存したメモを後から1つにまとめるマージ機能もあるので、とにかくメモする癖をつければOKです。
iPhoneユーザーの方は、FastEverというアプリを使えば、超高速でメモすることもできます。
コツ2:調べるときのコツ
わからないことを整理する癖をつける
プログラミングをはじめてすぐの場合は、「わからないことがわからない」という人がよくいます。
何がわからないかわからないけど上手くいかず、どうやって調べればいいかわからないという状況ですね。そんな時は箇条書きでもいいので、今の状況を書き出してみてください。
・○○をしたくて、△△を使ってみたが上手く動かない
・▽▽を調べてみたが、出てきた記事をそのまま使っても上手くいかない
のように、現状を整理することが大事です。整理することで自分が何に困っているか見えてきますし、誰かに質問するときも「現状どこまで調べたか」「何がわからなくて困っているか」を伝えることができるため、良い回答が返ってきやすくなります。
エンジニア・プログラマーにとって、問題を切り分けるスキルはとても重要です。少しずつでいいので、考える癖をつけましょう。
ググる力を鍛える
わからないことを調べて腹落ちさせるためには、ググる力がとても重要です。自分で調べて解決することで、初めて腹落ちするのです。
ググり方は調べればいろいろ出てきますが、プログラミングの解説を調べるときにおすすめの方法を1つ紹介します。
わかりやすく、見やすく、コードも正確なサイトを見つける
↓
「site:URL 調べたいこと」で調べる
たとえば、VBAを調べるときにおすすめの「いつも隣にITのお仕事(https://tonari-it.com/)」の場合は、次のように検索します。
「site:https://tonari-it.com VBA クラスモジュール」のように調べることで、「いつも隣にITのお仕事」から、VBAのクラスモジュールに関連する記事一覧を表示しています。
このように、お気に入りのサイトから辞書検索をすることができるのです。
読みやすいブログの記事を読むことで、すぐに理解ができますよね。腹落ちまでの時間を圧倒的に効率化できるので、覚えておくと便利です。
思考停止でサンプルコードを使わない
わからないことを調べたときは、サンプルコードも出てきますよね。サンプルコードをそのまま使えば解決できることも多いですが、思考停止でそのまま使うことはなるべくやめましょう。
最初のうちはそれでもOKですが、慣れてきたら、
・引数の値を書き換えたらどうなるか?
・他にどんな使い方ができるか?
・どんな時に使うと便利か?
のように、使い方を理解して使うようにしましょう。
サンプルコードの意味を理解せず使っていると、すこし内容が変わるだけで途端にわからなくなってしまいます。また、バグが見つかった時にコードの意味がわからないため、原因を調べるだけでとても時間がかかってしまいます。
ただ使うだけでなく、理解して使うことが重要です。理解ができれば、サンプルコードを書き換えてもっと良くできないか思考を巡らせることもできます。
完璧に理解できていなくてもいいので、理解して使う癖をつけましょう。
コツ3:問題解決するコツ
仮説を立てて検証する機会を増やす
プログラミングをするときは、仮説を立てて検証していくことがとても重要です。
調べた結果をそのまま使っても、あまり意味がありません。ただ調べる技術や速度が上がるだけで、スキルは身につかないのです。
最初のうちは調べるだけでも良いですが、ある程度知識がついてきたら「問題が起きた原因」と「何を使えば解決できるか」考えてみてください。仮説を立てたら、1つずつ検証していくのみです。
仮説を立てる → 検証するのフローをこなしていくことで、プログラミング脳を鍛えることができます。慣れてきたら、仮説を立てた後に検証する順番を考えてみるのもおすすめです。数をこなしていくことで、問題解決しやすくなります。
質問する前に、まずは自分で必ずググる
わからないことがあっても、必ず自分で調べてから質問しましょう。
「わかっている人に聞いたほうが早い」と思う気持ちもわかりますが、思考停止で質問して得た答えは、なんの知識にも結び付きません。10分でもいいので、自分で調べる癖をつけましょう。
エンジニア・プログラマーとして生きていく上で、自分で調べて解決できる力はめちゃくちゃ重要です。答えを早く得ることよりも考える力を養っておくほうが、長い目で見ると得になります。
わからないことが出てきたときは知識を増やすチャンスだと思って、まずは自分で調べてみてください。
エラーメッセージでググる
自分でコードを書くと、「エラー」が出てきます。プログラミング学習サイトでは見たことがないエラーが出てくるため、解決方法がわからず延々とググってしまう人もいるかもしれませんね。
エラーが出てきたときは「解決したいこと」を意識しがちですが、エラーメッセージに注目することがおすすめです。エラーメッセージを日本語訳してエラーメッセージの意味を確認したり、エラーメッセージをそのまま使ってググるだけで、同じようなエラーを解決した人の記事がたくさん出てきます。
エラーメッセージにはエラー解決のヒントが詰まっているので、活用していくことがおすすめです。
相談する環境を作っておく
今までの連載でも何度かお伝えしてますが、相談する環境を作っておくこともおすすめです。
自分の知識だけでは解決しづらいことも、現役エンジニアに聞けば5分で終わることもあります。自分で調べることも大事ですが、どうしても前に進めないときはわかる人に相談しましょう。
相談する環境は、以下のような方法で作ることができます。
コツ4:知識を深堀りするコツ
「なぜ?」と疑問を持って学習する
新しいことを学ぶときは、「なぜ?」と疑問を持って学習を進めていくことが重要です。
ただ知識をインプットしただけでは、深く理解しているかどうかわからないですよね。「なぜ?」と自分に疑問を投げかけることで、初めて分からないことが浮き彫りになってくるのです。
・なぜこの方法がおすすめなんだろう?
・値を書き換えたらどうなるのだろう?
・もっと他に使いやすい方法はないだろうか?
と自問自答することで、理解を深めていくことができます。
疑問なしでインプットすることは、左から右へ知識を素通りさせることに近いです。知識を定着させるために、「なぜ?」と疑問を持ってみることがおすすめです。
「教えること」をイメージして知識レベルを底上げする
「調べてなんとなく理解した」という状態から知識を深堀りしたいときは、「教えること」をイメージすることがおすすめです。
「教えること」をイメージしてMarkdown、Evernote、Qiitaなどで情報を整理することで、わからない部分が見えてきます。自分で調べたときには気づかなかった1つ上の視点から自分を俯瞰できるようになり、足りない知識に気づきやすくなるのです。
インプットして知識を覚える
↓
使ってみて使い方を理解する
↓
誰かに教えることを想定して理解を深める
のように、知識レベルを深めておくと、応用的な使い方もできるようになります。
また、「なんでこんな書き方してるの?」と聞かれたときにも答えやすくなるので、将来エンジニア・プログラマーになってもコミュニケーションがとりやすくなります。
小さなアプリから挑戦してみる
基礎知識がある程度ついてきたら、簡単なアプリを作ってみることがおすすめです。
チュートリアルのようにアプリの作り方をなぞりながら作ることも大事ですが、自分で機能や画面を考えて作っていく経験が、スキルアップにとても重要だからです。
エンジニア・プログラマーとして仕事するときは、「〇〇機能を作る」のようにざっくりと作りたい機能から、自分で考えて作っていくスキルが問われます。自分で考えてから作る訓練をしておくことで、少しずつプログラミング脳を養っていくことができるのです。
最初は、タイマーアプリ、メモ保存アプリのような簡単なアプリで構いません。
・必要な機能は何かな?
・画面の要素は何が必要?
・具体的にどんな処理になりそう?
と自分で考えてから作っていくことが重要です。
コツ5:覚えた知識を効率的に使い倒すコツ
学んだことを引き出す仕組みを作る
せっかく学んだことでも、時間がたつと忘れてしまいますよね。何度も頭に刻み込むことで、初めて知識として定着するのです。
そのため、学んだことを引き出す仕組みを作っておくことが重要です。
「これ、前に調べた気がするけどなんだったっけな・・・」と思ったときに、毎回同じことを調べるのは無駄ですよね。そんなときは、メモから調べる癖をつけることがおすすめです!
わからない
↓
メモからわからないことを検索
↓
メモに無い時だけググる or 誰かに聞く
↓
調べて分かったことをメモする
自分でまとめたメモを最初に見ることで、同じことを調べたときに即解決できるようになります。また、メモになかった時だけ追記するようにすれば、知識もたまっていきます。
自分が理解した言葉で書いたメモだからこそ、すぐに情報が頭に入ってくるのです。
わからないことを減らす仕組みを作る
ただ、メモから検索して調べる場合でも、「調べる速度は上がったけどなかなか覚えられない・・・」ということもあるでしょう。
何度も調べてしまう場合は、知識が浅い証拠です。そのため、何度も調べてしまうときは、がっつり調べて学ぶ時間を作ることもまた重要です。
わからない
↓
メモからわからないことを検索
↓
見つかった時はカウント数を増やす
のように、調べた回数をカウントすることで、自分が同じことを調べている回数がわかるようになります。
「カウント数が10以上になったときは、がっつり調べて自分でまとめる」のようにルールを決めて知識を深堀りすることで、足りない知識を補うことができるのです。
超初心者から抜け出すコツは腹落ちさせる仕組みづくり
超初心者から抜け出すコツは、「腹落ちさせる仕組み作り」です。
「何となくわかった」という状態から抜け出すことが、上達する近道なのです。
考える力を養うためには、時間がかかります。ただ、ちょっとした意識や習慣を変えるだけで、着実にスキルを高めていくことができます。
少しずつでもいいので、ぜひ意識してみてくださいね!