プログラミングの研修で「作成したプログラムのコードレビューを受けると上達が早いですよ」と伝えたときの紹介をします。
プログラミングを上達するためのアドバイスとして以下のようなことを言われることがあります。
- たくさんのプログラムを書くこと
- たくさんのプログラムを読むこと
- 良質なプログラムを解析すること
- 上級者にコードレビューを受けること
どれも初心者ではなかなか実践できないと思います。
個人的にポイントは 「インプット」「アウトプット」「両方を活かすための橋渡し」 と思っています。
インプットは最初から100点を目指さない
初心者が「絶対に完璧なプログラムを書かなければならない」と強くとらわれてしまうと序盤で挫折してしまうことが多いです。
最初に意識して欲しいことは以下の2点です。
- 仕組みを意識する
- 楽しむ
わかる部分を増やしていきましょう。「Hello World!」と表示したら、次は10回表示する、文字を変えてみる、改行してみるくらいの変化でOKです。
詳細は別の記事「プログラミング初心者から中級者になるための学習のコツ」を参考にしてください。
仕組みを意識して、わかることが増えてくると楽しくなります。
「仕組みの理解」→「わかる」→「楽しい」のサイクルでインプットしていきましょう。
アウトプットで壁を超える
わからない、モヤモヤするの一番の解決策は「上級者に質問する」「コードレビューしてもらう」ことだと思います。
「質問する」「コードレビューを受ける(自分の作ったプログラムの更に良くなる点を教えてもらう)」がアウトプットになります。
ここでの「アウトプット」は「単純に作っただけのプログラム」よりも「誰かに見てもらって、更に良くなる点を教えてもらうためのプログラム」と考えてください。
コードレビューを受けることで自分で気が付かなった視点や知識を広げることができます。
しかし、相談できる上級者が見つからない場合も多いと思います。
その場合はAIを積極的に活用していきましょう。
ChatGPTでもいいですし、CodeRabbitなどのサービスを利用してもよいです。
注意点として、AIを利用する場合は「AIからの指摘は絶対の正解ではない、最後は自分で考えて判断する必要がある」と理解して利用しましょう。
質問はスキル
インプットとアウトプットの話をしましたが、その橋渡しとなるのが「質問スキル」だと思います。
先輩に質問する、AIに質問する、どちらも「質問の精度」が重要です。 つまり「インプット」「アウトプット」と同時に「質問スキル」も同時に上達すると、これらの相乗効果が生まれます。
先輩に質問する場合なら事前に要点を箇条書きでまとめておきましょう。
事前に紙やテキストに書き出して整理すると、自分が何に悩んでいるか整理できて短い文章で質問することができるようになって「要点をまとめるスキル」が上達します。
さらにAIに質問する場合ならプロンプトエンジニアリングの資料を読んで、的確な質問に必要なキーワードを確認しておくとよいです。
プログラミング学習のポイント
まとめるとポイントは以下の3つです。
- インプット(仕組みの理解、楽しむ)
- アウトプット(質問、コードレビューでフィードバックを受ける)
- 質問スキル(インプットとアウトプットの橋渡し)
今回の「作成したプログラムのコードレビューを受けると上達が早いですよ」を分解すると、「インプット」「アウトプット」、そして、インプットとアウトプットの橋渡しとして「質問スキル」が重要な要素だと思います。
「アウトプットが大事」はよく目にすると思いますが、それを活かすための「質問スキル」にも目を向けていただきたいです。
学校では習わないので苦手な人も多いかもしれません。
こんな考え方もあるんだと、質問スキルを日々の学習の中に少しだけ意識してみてはいかがでしょうか?