プログラミングを勉強していますが上手くなっている感じがしません。上達するためのコツがあれば教えてください。
こんな疑問に答えます。
僕は現在、IT企業でエンジニアとして働いています。
2006年からエンジニアをやっていて、現在は主にWebシステムのバックエンド側の開発をしています。
プログラミングのメンターとしての経験も踏まえながら、今回のお悩みの解決方法について解説していきます。
※0円でプログラミングの基礎を身につける
最近のプログラミングスクールのレベルは高くなっています。
効率よく基礎を身につけるための足がかりとして
CodeCampの無料体験レッスンを受講してみるのも良いかもです。
CodeCampは、オンライン・マンツーマン指導のプログラミングスクールで、
高い学習効果が評価されテレビや新聞、ビジネス誌など多くのメディアで紹介されています。
» CodeCampの無料体験はこちら
プログラミングを上達させるコツを伝授します
結論、「手を動かして実際に体験すること」です。
手を動かすとは、アプリなり、サービスなりを作るということです。
モノを作る過程で悩み、失敗したことが経験となり、成長に繋がります。
プログラミングを早く上達させるためには「手を動かす=アウトプットする」ことが重要です。
プログラミングが上達しない理由
まず、プログラミングの上達に、好き嫌いは影響すると思いますが、センスや才能は影響しないと思っています。
つまり、プログラミングを好きでやっていて上達しないのは、進め方が良くないことが理由です。
これらに当てはまるものがあったとしても、進め方を修正していけば、自然とプログラミングは上達していきます。
客観的に自分を見つめ、エンジニアのマインドを養っていきましょう。
学習メインになっている
本を読むだけになっていたり、プログラミング学習サイトでコードを模写するだけになっていませんか?
大切なのは、インプット(学習)の量よりもアウトプット(モノを作る)の量を多くすることです。
インプット3割、アウトプット7割くらいの感覚で良いと思います。
とにかくコードを書きましょう。
わからないことをわからないままにしている
わからないことを調べたり、わかる人に聞いたりしていますか?
独学では特にそうですが、エラーが発生したり、処理内容がわからない場合は自分で解決しなければなりません。
わからないところで躓き、挫折しないように、インターネットから自分の欲しい答えを検索するスキルや、teratailなどのQ&Aサイトでわからないことを質問する言語化スキルを身につけることもエンジニアには必要なことです。
わからないことが少しでもわからないままにならないように、検索スキル、言語化スキルを養いましょう。
欲しい情報を一発で検索できたり、欲しい回答をいただけるような質問ができることを目指していきましょう。
プログラミングを楽しめていない
プログラミングを楽しめていますか?受け身になっていませんか?
継続なしに成長はありません。
でも、楽しめないと継続することは難しいと思います。
もしも、楽しめていないのなら、楽しみながら継続する工夫が必要です。
ジャンケンやトランプなど何かのゲームを題材にプログラミングをするのもありです。
Rubyだと、無料で学べるRPG形式のWebゲーム「Ruby Warrior」はおすすめです。
プログラミングを上達させる具体的な方法
では、具体的にどうすればプログラミングが上達するのか。
結論、冒頭にも述べたとおり
アプリやサービス、ポートフォリオなど、実際にモノを作ることです。
目標設定は継続するモチベーションを保つために非常に重要です。
目標と期限を決めたら、達成に向けてコツコツと進めるだけです。
サンプルコードの変更から始めてみよう
まずは、サンプルコードから始めても良いです。
サンプルコードの処理内容を理解したら、他の書き方で同じ結果になるようにコードを変更してみてください。
コードを変更したり追加する度に、プログラムを実行して動作を確認しましょう。
一気にコードを書いてエラーが起きると、どこでエラーになっているかが見つけにくいので、「コードを少し書いたら、プログラムを実行する」こと。
プログラムが常にエラーなしで動く状態にしておくことが大切です。
多くのエラーと出会う
プログラミングをしていると必ずエラーと出会います。
プログラムのエラーを解決していく度に、既知のエラーは自分で解決できるようになります。
エラーが発生したら、コンソールやログに表示されたエラーをコピーしてインターネットで調べる。
わからなければ質問する。
これを繰り返す度に、プログラミングスキルは上達していきます。
先に処理をコメントとして記述しておく
コーディングしていて、途中で何の処理を書いたら良いのかわからなくなる時には、コーディングする前に、ソースコードに処理順をコメントとして記載おくと良いです。
コメントがあると何の処理を書くかが明確になるため迷うことがなくなります。
// 足し算して合計を求める
// 合計に10%掛ける
// 合計を表示する
自分の書いたコードを人に説明できる程度に理解する
理解せずにコピペしたコードに、もしもバグが見つかった時、自分で修正できますか?
ただ、サンプルコードを模写しても成長はありません。
上達したいなら人のコードを見て理解し、自分で考えながらコードを書くことです。
自分で考えたコードは人に説明できる程度に理解しているはずです。
人に説明をすることで、自分の理解度を客観的に把握することができます。
アウトプットを通して、インプットに不足がないかを確認していきましょう。
メンターを見つける
独学では、解決できない壁にぶつかる時があります。
自分が書いたプログラムがこれで良いのか不安になることもあるでしょう。
そんなときは、1人で悩むのではなく、MENTAなどのマッチングサービスを利用してメンターを探してみるのも良いと思います。
お金は掛かりますが、その分の価値は提供されます。
メンターのエンジニア歴は5年以上が望ましいです。
また、メンターのスキルが自分の開発技術にマッチングしているか、コードレビューをしてもらえるかを確認しましょう。
メンターにサポートしてもらえると、安心してプログラミングに取り組めます。
コードレビューでは、自分の書いたプログラムがもっと品質が良くなるようにフィードバックをもらえます。
メンターは補助輪のようなイメージです。
あくまでも、走るのは自分であることを忘れないでください。
何でも質問するのではなく、自分で解決できないことをサポートしてもらうマインドで進めると成長が加速するでしょう。
プログラミングスクールに通う
最近のプログラミングスクールは、レベルが高くなっています。
カリキュラムは現場で利用する技術内容になっていますし、現役のエンジニアが技術サポートしてくれたり、就職を見据えたスクールも多いです。
僕がカリキュラムやサポート内容を見て、レベルが高いと感じたスクールがありますので紹介します。
興味のある方は以下の記事で解説していますので見てみてください。
また、スクールに通わずに未経験から独学でエンジニアになる方法についても解説しています。
「プログラミングは一日にして成らず」
一歩ずつ、積み上げて行きましょう。
コメント