DIVE INTO CODE

2019年06月13日
  • #初心者
  • #プログラミングスクール
  • #独学

プログラミングが楽しいと思える3つの瞬間

Aws4 request&x amz signedheaders=host&x amz signature=195b8945e8c7625908df3b7397a47dda0e7e63c38abe0bf22176bd6b8e96dbd8

プログラミングが楽しいと思える瞬間について、プログラミングスクールDIVE INTO CODE代表の野呂がお伝えします。プログラミング学習を始める前にどんな時に楽しいと感じるのか知っておきたいですよね。今回は3つのポイントでご紹介します。

【こんな方におすすめ】
・全くの未経験からのエンジニアを目指している方
・プログラミングスクールを検討している方
・プログラミングの楽しさを知りたい方

【目次】
1. プログラミングが楽しいと思える3つの瞬間
 その1:予想通りの動きをした時
 その2:自分で考えたことが実現できた時
 その3:共に学ぶ仲間と議論しながら実装した時
2.まとめ

■話し手
DIVE INTO CODE 代表 野呂 浩良
■聞き手
StartGate 永田 拓也

プログラミングが楽しいと思える3つの瞬間

プログラミングが楽しいと思える瞬間についてお話します。

ぜひ、知っておきたいですね。

やったことがないと想像つかないですよね。実体験を踏まえてお話できたら、プログラミングに興味がある方が一歩踏み出すきっかけになると思います。

よろしくお願いします。

まずプログラミングで楽しいと思える瞬間がたくさんありますので、そのことを知っておいてほしいと思います。端的に言うと3つのポイントがあります。
1. 予想通りの動きをした時
2. 自分で考えたことが実現できた時
3. 共に学ぶ仲間と議論しながら実装した時
この3つのポイントをそれぞれが深掘りしてお話していきます。

その1:予想通りの動きをした時

1つ目に楽しいと思える瞬間は「コードが予想通りの動きをした時」ですね。例えば、学習教材を使ってサンプルコードを真似しながらやりますよね。サンプルコードの実際の挙動を確認して、「なるほど」と思うわけです。この時に予想通りの動きをすると楽しいと感じるわけです。

算数では「1 + 1 = 2」なんだと理解して、次に「1 + 1 = □」の四角い箱で穴埋め形式になっていて、その四角い箱に「何が入るかな?」みたいな感じですかね。

そんな感じですね。大事なことは挙動を理解することで、その挙動が何に繋がるかを知っておくことです。何が実現できるかもわからずに「Hello World」と画面に表示されてもピンとこないですよね。作りたいアプリやゲームをイメージして、「このコードは画面に文字を表示する処理なんだ。アプリだったらこんなふうに応用できるな!」とイメージを膨らませながらやると楽しくなるんですね。漠然とイメージを膨らませずに学習すると楽しくないので辛いです。

なるほど。まずは目的ありきで、その上で学習していくことが大切なんですね。

タイトルの「プログラミングが楽しいと思える瞬間」の根本である、「なぜ自分はプログラミングを学びたいのか」を明確に理解しておくことが大切ですね。

なるほど。

「とりあえずやってみよう」という考えもありますが、それでは楽しさを感じにくいかもしれません。

楽しさは大事ですよね。

まずはコードを書きながら、「puts “Hello World”」から始まります。最初は画面に「Hello World」と表示されても「ふむふむ、なるほど。」程度の楽しさです。いきなり「できたーー!イエーイ!!!」みたいにならないので、ふむふむくらいがちょうど良いです(笑)

「なんかできたなぁ」ぐらいですね。

最初はそれで良いんですよ。「こう書くとこう動くんだな」くらいで。だんだん難しくなってきます。繰り返しや条件分岐などいろいろ出てきます。その学ぶ過程で一部を書き換えたらどうなるのか試して楽しむ。

なるほど。

目的に段々と近づいてきます。

自分で予想しながら書いてみて、「おっ、できた。」という感覚を得るのが最初の楽しさなんですね。

まずは自分で手を動かして、予想通りの動きをした時に楽しさを感じることですね。

なるほど。

その2:自分で考えたことが実現できた時

2つ目に楽しいと思える瞬間は「自分で考えたことが実現できた時」です。これは1つ目の「予想通りの動きをした時」と同時並行で良いんですよね。自分の頭で「こんなことできないかな?」と考えて、それが実現できた時はすごく楽しいです。例えば、数字の掛け算の処理、繰り返し処理、そして条件分岐の処理を覚えたとします。それらを組み合わせて、数字の3の倍数の時だけアホになる「世界のナベアツ」のプログラムみたいな(笑)

ふふふ(笑)

ただの数字の繰り返しの処理は、「1234…」と繰り返すだけです。それを3の倍数の時だけオリジナルの処理を入れて、変にしちゃうみたいな(笑)

ははは(笑)そういうことができちゃうんですね。教科書に載っていないことって楽しいですよね!

「教科書には載っていないけど、こんなことできるんじゃないか」と考える。お笑いと組み合わせるとおもしろいかもしれないですね(笑)

教科書にあるお手本のコードを組み合わせて、自分だけのオリジナルなことができそうですね!

繰り返しや条件分岐の組み合わせでおみくじも作れますよ。

それができたら楽しそうですね!

学んだことを活かして、自分なりのコードを書くことは楽しいですし、どんどんやった方が良いですね。楽しさは、言われた通りにやってもおもしろくないので興味の赴くままにやるのが大事です。

プログラミングを学んでいると、世界にインパクトのあるアプリを作らなきゃいけないんじゃないかと思ったりしますが、そんな楽しみ方もありなんですね。

まずは「世界のナベアツ」のプログラムぐらいがちょうど良いです(笑)大規模なアプリも組み合わせでできていますから、段々と繋がっていきますよ。

自分のクリエイティブさを活かして何かできたら自慢できますよね。

そうですね。自分の作ったものを披露すると、「こんなことできるんだ」って興味を持ってもらえます。学んだことを説明することで理解も深まりますし、それが自分のモチベーションにもなります。

「俺も一緒にプログラミングやろうかな」みたいになりそう。

「おもしろそうだね」、みたいな。

良いですね。

その3:共に学ぶ仲間と議論しながら実装した時

Image from Gyazo

3つ目に楽しいと思える瞬間は「共に学ぶ仲間と議論しながら実装した時」ですね。実はあまり知られていない楽しさが3つ目なんですね。

プログラミングって複数名でもできるんですね。

ペアプログラミングという手法があります。ペアプログラミングとは1台のコンピュータで2人で実装する手法です。各自役割が異なっており、「ドライバー」「オブザーバ」に分けます。ドライバーがコードを書き、オブザーバが横から指示や指摘をします。
オブザーバはドライバーの画面を見ながら「この処理はどういう意味ですか?」「こういうふうに実装した方が良いんじゃないですか?」「どのように実装をしようとしていますか?」と会話しながらコードを書いていきます。これが予想外におもしろいんですよ!

※ペアプログラミングとは、プログラミングを2人1組で行う手法。

ドライバー 実装する人
オブザーバ 横で指摘をする人

プログラミングは1人でやるイメージでした。

プログラミングは1人でやるのが暗黙の了解だったんです。実はそんなことなくて、一緒に作るとめちゃくちゃ楽しいんですよ!

学校でみんなで一緒に何かを作る感覚に近そうですね!

それに近いですね。図工とかで、「もうちょっと穴を開けた方が良いんじゃない?」「穴開けたら崩れちゃった。」「しょうがないね。また作り直そう!」みたいなね。ペアプログラミングの場合はエラーですね。それが2人の経験になるんです。お互いに知っている知識を話し合うことで、お互いの学びになるんです。

学びが2倍ですね!

詰まったとしてもお互いに調べるから、2倍調べられるんです。

これ良いですね。楽しそう!

学びになるし、 人と会話するからモチベーションが湧くんですね。1人でやるより2人でやった方が楽しいです。

これはオンラインでもできるんですか?

オンラインでもたぶんできると思うんですけど、コツを覚えないと厳しいかもしれません。まずは対面で行うのがおすすめです。

DIVE INTO CODEではペアプログラミングをやっていますか?

やっていますよ。ペアプログラミングDIVE INTO CODEが大事にしている取り組みの1つです。外部のエンジニアを招いて、ペアプログラミングのイベントを開催したこともあります。
学習の理解を深めたり、信頼関係が築く意味でもワークで行なったりするのですが、すごく盛り上がるんですよ!皆さん、ずっとやっちゃいますね。ワークって言われたことだけをやってしまいがちなのですが、ペアプログラミングを行なうと全然違いますね。言われたこと以上のことをやっていたり、どんどん先に進んでやっています。それぐらい楽しいんですよ!「もっとやりたい!」「もう終わっちゃった。」みたいなね。1人だとそんなことほとんどないですからね。

アウトプットできるのが良いですね。しかもフィードバックももらえますし。

実はご紹介した3つの楽しいと思える瞬間はすべて職場で体験できます。職場の楽しさはその部分だったりするんですよ。公式ドキュメントでコードを確認して、自分で考えていることを実装してみる。その後、職場の方からコードレビューを受ける感じですね。

なるほど、同じですね!プロセスも楽しめそうですね。

そうなんです。プログラミングを勉強だと思うと「暗記しなきゃいけない」「答えを知らなきゃいけない」「1人でやらなきゃいけない」と考えがちですが、そうではありません。答えは1つじゃないです。ペアプログラミングやコードレビューを受けることでそのことを理解できます。

その幅を知ることも大事ですよね。

そうそう。比較検討する機会になります。答えが1つではない前提で、複数名で学習したり仕事をすることで判断軸がつきます。「どっちが良いんだろう?」と考えるきっかけになるんです。

その軸を1人で身に付けるのは難しそうですね。

1人でブツブツ言わなきゃいけないですからね(笑)

まずは自分1人でできる部分もありますが、複数名で行なう手法もあるんですね!本日はありがとうございました!

まとめ

プログラミングが楽しいと思える瞬間は3つ!
 その1:予想通りの動きをした時
 その2:自分で考えたことが実現できた時
 その3:共に学ぶ仲間と議論しながら実装した時

今回は「プログラミングが楽しいと思えた瞬間とその先にあるもの」についてのお話をお伝えしました。
まずは無料サービスから学びはじめて、「予想通りの動きをした時」「自分で考えたことが実現できた時」を体験することをおすすめします。興味がある方は「プログラミングをするなら無料サービスからやろう」をご覧ください。

3つ目の「共に学ぶ仲間と議論しながら実装した時」は1人学習では体験することが難しいので、勉強会やプログラミングスクールで体験することをおすすめします。ペアプログラミングに興味がある方はDIVE INTO CODEで開催した「チーム開発の効率を向上させる黄金習慣、ペアプログラミングとは?」をご覧ください。

DIVE INTO CODEのことをもっと知ってみませんか?