2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

プログラミングを教えるって、完全に布教活動だった件

Posted at

はじめに

こんにちは。はじめましての方は、初めまして。
島根国でRailsエンジニア・デザイン・講師業務を行っている者です。
しまねにもパソコンあるんです!

私は新入社員の研修を担当しているほか、学校に講師として出向いてプログラミングを教えたり、イベントでRubyを教えるお手伝いをしています。
さて。本記事では、私がプログラミングを教える際に気を付けていることや、気づいたことをお話していこうと思います。

・初心者に教える仕事をしている(する予定がある)方
・プログラミングが好きな方
・プログラミングの良さが分からなくなりつつある方

拙い文章ですが、そんな方に読んでいただけたら嬉しいです。

プログラミングって、脳汁でるよね

突然ですが。皆さんはプログラミング、お好きですか?
私は技術者として至らぬ点だらけですが、プログラミングはとても楽しくて、「こんなに楽しいことをしてお金がもらえるなんて、いいんですか!?」という気持ちで仕事をしています。

エラーが解消できたとき。思い通りに動かせたとき、新しい発見があったとき。
プログラミングという仕事は、あらゆる場面で「脳汁が出る瞬間」があるなーと、常々感じています。

楽しさを教えてくれた経験が、わたしにはあった。

私は、恩師がRubyとRailsを教えてくれなかったら、IT系の道を歩んでいなかったかもしれません。
高校の頃、スペシャリストの資格を持っていて、ITにやたら精通している担任の先生に、プログラミングの楽しさを教わりました。その経験がきっかけで、さらにプログラミングを深く学ぶため専門学校に進み、念願だった企業に入社することができました。

「プログラミングって何が楽しいの? 全然意味が分からないし、自分には向いてない」
IT企業に入社してしばらく経った頃のこと。仲のいい先輩が神妙な面持ちでこう言い放ったのです。
私はこのとき、大きな衝撃を受けました。プログラミングの楽しさを教わらなかった人もいるのか、と。
初めての講師業務を控えていた私は、不安になりました。
「私のせいで、プログラミングを嫌いになったらどうしよう」
ただこればかりは、適正もありますから仕方ない部分はあると思いつつ……「私はプログラミングの楽しさを伝えたい。そのためなら、自分にできることは何でもやる!」
そんな気持ちで、講師業務に身を投じていきました。

人間は情報の8割を視覚から得ている

この言葉、大元のソースについては諸説ありますが、結構世間に浸透していますよね。
私は文字がつらつらと並んでいる教科書を渡されても、目が滑って、なかなか頭に入ってこないタイプだったので、「情報が頭に入りやすい」ことの大切さについては長年身をもって感じ取っていました。
また、多くの研究が、聴覚だけの学習は視覚的・体験的学習に比べて記憶定着率が低いことを示しています。
そこで私は、読み易く、見ていて楽しい資料作りを行いました。

Gitの資料
image.png

MVCモデルの資料
image.png

身近なことに置き換えて教えてみる

プログラミングを行う上で、様々な概念が出てきます。
これをそのままIT用語として教えると、「なんだか難しいな」という風に捉えられてしまうことがあります。
そこで私は、(可能な限り)身近なことに置き換えて教えることを意識しました。苦手意識を持っている人も耳を傾けてくれるよう、プログラミングの「なんだか難しそう」というイメージを払拭し、「親しみやすさ」を伝えることに注力しました。

オブジェクト指向言語を配達に置き換える
image.png

0とNULLの違いをコンビニに置き換える
image.png

例外処理を旅行の計画に置き換える
image.png

技術を教えるって、布教活動なのかも

「面白さを伝えたい」「好きになってもらいたい」
理解してもらおうと必死になっている自分のことを、ふと「布教活動をしている人に近いな」と思いました。
そう考えるようになってから、私は何かが吹っ切れました。

「こういうことが出来るんだよ!」「こんなに簡単なんだよ!」「すごくない!?」「これを実現するために、めちゃめちゃ便利な機能があって……」

普段仕事で使っていると、便利な機能も次第に「当たり前」になっていきます。その「当たり前」も、「とっても便利!」「これはすごい技術なんだ!」と伝えることで、学生や初学者のモチベーションが上がっていくのを感じ取れました。
さながらテレビショッピングのように、「この技術はとてもいいものなんだよ!面白いんだよ!」を伝えるため、ちょっと大げさに教えるようにしたところ、「すごい!」「めっちゃ便利!」と、目を輝かせながらぐんぐん吸収していきます。

例えば、Railsのマイグレーションという機能。データベースの構造が一目でわかり、テーブルの追加も構造の変更も、複雑なSQL文を書かなくても簡単に行える。そして何より、開発者全員の環境を統一できる素晴らしい仕組みです。Railsエンジニアからすれば、「当たり前」の機能の一つかもしれません。

しかし、初学者や学生にとっては「当たり前」とは限らないわけです。このことを伝えると、「え。それってすごくない? めちゃめちゃ便利じゃん!」「面倒くさいSQL文書かなくてもいいんだ!?」と喜んでいました。
「そうだよ!難しいSQL文を書かなくてもいいよ。ここに欲しいカラムを書けば、Railsが全部やってくれるから!」
その瞬間、場の空気が変わるのを感じました。

教えることで深まるプログラミング愛

この「布教スタイル」を続けていくうちに、私自身も大きな発見がありました。学生に技術の素晴らしさを伝えようとする過程で、自分がいかに多くの「当たり前の奇跡」に囲まれて仕事をしているかに、改めて気づかされたのです。
「教えることは学ぶこと」とよく言いますが、まさにその通りで。学生の驚いた顔を見るたびに、私自身のプログラミングへの愛がより深まっていくのを感じています。

おわりに

プログラミングを教えることは、単に技術を伝えるだけが目的ではありません。その先にある「発見の喜び」「創造する楽しさ」「問題を解決する達成感」といった、プログラミングの本質的な魅力を共有することだと、私は考えています。
もちろん、すべての人がプログラミングに魅力を感じるわけではありません。適性や興味の違いもあるでしょう。それでも、一人でも「プログラミングって面白いかも」と思ってくれる人がいれば、私にとってそれは何よりも嬉しいことです。

教える側として大切だと感じるのは、やはり「プログラミングの面白さを伝えたい」「好きになってもらいたい」という熱い想いです。そして、この情熱を相手に届ける努力を怠らないこと。私たちが「当たり前」だと思っている技術が、実は誰かにとってはワクワクする新しい発見なのかもしれない——そのことを、いつも心に留めておくこと。
私はこれらを意識しながら、日々教えることに向き合っています。

この記事が、プログラミング教育に携わる方々の少しでも参考になれば幸いです。そして、一人でも多くの人にプログラミングの楽しさが伝わることを願っています。

ここまで読んでいただき、ありがとうございました。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?