見出し画像

【プログラミング学習】 経験者から技術を盗む1番の方法

こんにちは!
4連休の2日目ですね。
みなさんはどのように過ごされていますか?
私は溜まった仕事を片付けています…。笑

先輩から技術を盗む1番の方法

みなさんの周りには、自分よりもプログラミングができる方はいますか?
もしいるのであれば、その方から積極的に技術を盗んでいきたいですね。

技術を盗む1番の方法はなんでしょうか?

・プログラミングに関して教えてもらう
・自分が書いたコードをレビューしてもらう
・先輩が書いたコードを見せてもらう

どれも非常に有益なのですが、もっと良い方法があります。
それは、ペアプログラミングをやることです。

ペアプログラミングとは何か?

聞き慣れない言葉かもしれませんが、システム開発においては割と行われています。

端的に言うと、1つのキーボードと1つのディスプレイを使って2人でプログラミングをすること、です。

例えば、30分交代と時間を決めて、順番にプログラミングをします。

プログラミングをする人は、やろうとしていることや、なぜそのようにコードを書くのかを話しながらコーディングしていきます。

一方、見ている人は、気になることがあれば、どんどん突っ込んでいきます。

このようにして、2人で1つのプログラムを書いていくのです。

ペアプログラミングを通して得られる学び

経験のある人とペアプログラミングをやると、非常に多くのことが学べます。

まずは思考と実装のプロセスです。

これから実装する機能について、何をどのように考えて、どの順番で実装をしていくのか、経験者が取り組むのを隣で見るのは非常に有益です。

自分が普段やるのとは全く違うプロセスで、進めているかもしれません。
ぜひ、盗みましょう。

ツールの使い方、ショートカットキーの使い方が学べるのも大きいです。

私も経験が浅い方とペアプログラミングを実施することがありますが、その時に「え、今のどうやったんですか?」と聞かれることがよくあります。

これは、プログラミングをする様子を隣で見ていないと、なかなか盗めない技術です。

そして3つ目が、自分がやっている作業についてその場でアドバイスがもらえることです。

「考える順番はこうした方が良い」
「そこは、こうキー操作をした方が効率が良い」
「このエラーを解決するには、こういうふうに検索をした方が良い」

一緒にプログラミングをしているからこそ、その場でアドバイスがもらえるでしょう。

近くに自分よりも開発ができる人がいれば、ぜひその人にペアプログラミングをお願いしてみて下さい。
多くの学びが得られるはずです。

おまけ:ペアプログラミングは生産性が落ちるのか

本題とは関係がないので、簡単に書きます。

2人で1つのコードを書くのだから、2人がそれぞれコードを書く時よりも生産性が落ちるだろう、ということが良く言われますが、結果はそうならないことが多いです。

ペアプログラミングを実施した方が生産性が上がるのです。

・2人の目があるので、ミスでハマることがなくなる
・改めてソースコードレビューを実施する必要がなくなる
・良い設計がしやすく、効率良く開発を進められる

といったあたりが理由です。

実際に私も、ペアプログラミングをすることで生産性が上がった経験が何度もあります。

このあたりについては、もし需要があれば、詳しい話しを書きたいと思います。


# 最後までお読み頂きありがとうございます!
感想や質問などございましたら、コメント頂けますと嬉しいです。
(まだコメントを頂いたことがない…泣)
全て返信させて頂きます!

サポートは、プログラミング初学者の皆さんのためになることに使おうと思います。どのように使ったかも記事にします!