こんにちは、Hawaiiです。
今回は、プログラミングスキルを上げるために昨年から今年にかけて、
ボランティアでプログラミング講師をした話について書いていきます。
本記事の目次は以下の通りです。
目次
1.ボランティアでプログラミング講師を始めたきっかけ
2020年4月からビジネス寄りのデータサイエンティスト(AIコンサルタント)に転職が決まっていた私ですが、
スキルの面で非常に大きな不安を抱えていたため、
「入社までに機械学習・プログラミングスキルを上げたい」と考えました。
そこで選択肢として思いついたのが、
「プログラミングを人に教える」経験を積むことです。
中学・高校時代の経験から、「人に説明をすると自分の理解が深まる」と考えているので、
「短期間でスキルを上げるためには、人に教える経験を積むことが大切だ」と感じました。
ただ、私は実務経験もなく、さすがに「お金をいただいて」人に教えられるレベルではないことはわかっていました。
しばらく考え込み、思いついたのが
「ボランティア」です。
もちろん、お金をもらわないからといって適当にやることは許されないですが、
あらかじめ自分のレベルを伝えておき、了承頂いた上であれば自分も
プログラミング講師ができるのでは!?と考えました。
ボランティアについては無知だったので、そこから
「プログラミング ボランティア」「ボランティア サイト」「プロボノ サイト」
といったあらゆるワードで検索し、
私がイメージするボランティアができそうなサイトをようやく1つ見つけました。
そのボランティアサイトで下記内容を書いた上で、生徒の募集をしました。
・初心者向けである旨
・Pythonの基礎、機械学習を教える旨
・質問を頂いて、わからないことは調べながら回答させていただく旨
・ボランティアとはいえ、誠心誠意対応させていただく旨
2.プログラミング講師を始めるための準備
(1)授業形態
最初に考えたのは授業形態です。
当時まだ前職の仕事が忙しかったことと、ボランティアサイトで知り合った方と直接会ったりするのは少し怖いなと思ったので、
下記の様な形態にしました。
step
1私が作成した教材を送付
step
2教材を見ながら手を動かし、質問があればボランティアサイトのチャットを通じて私に連絡
※私は回答を返信
(2)教材の作成
最初に、Pythonの超基礎部分について教材作成に取り掛かりました。
最低限の文法内容を含めるだけでなく以下のように
「実務で注意するべきポイント」の観点も盛り込むようにしました。
※私は前職で実務に機械学習を応用したため、その時に得た知見を可能な限り入れるようにしました。
※以下は、私が作成したテキストのとある1ページです。
自身のスキル向上のためにボランティアのプログラミング講師を始めましたが、
この教材作成が最も自分の勉強になりました。
今まで学んできたことの中で、
「まずはこれだけおさえておくべき」という内容を選び、それを
「全く何も知らない人向けに説明をする」ことに最も労力を割きました。
また、ただの説明だけでなく、短期で習得して頂くために練習問題も自分で考え、元データを用意する・・
といった一連の流れは非常に大変でしたが、プログラミングへの理解を深めることができました。
3.【実録】実際に教えた私の生徒の方ができるようになったこと
さて、このようにプログラミング講師の準備を始めていましたが、
最終的に私が講師をさせていただいたのは5名の方です。
※応募は五月雨でいただけたので、数か月間の間で、計5名です。
その中で、「特に著しい成長をされたな」と思う方を1名紹介します。
この方は、
機械学習に興味があって、何から学んでいいのかわからない。 一から丁寧に勉強するというより、まずは機械学習のコーディングに挑戦したい
という要望をチャットでいただきました。
ですので、まずは事前に作っておいたPythonの基礎の教材を送り、学習していただきました。
その間に私は、全速力で「機械学習の基礎・分類モデルの例題」を含んだ教材を作り、ご本人に送付しました。
この方は、この「Pythonの超基礎」「機械学習の分類モデル実装」まで、なんと2週間程度でやりきっていただきました!
私自身も短期で分類モデルの基礎的な復習もできたので、自分にとって非常に良い機会になりました。
■余談
この方は本当に学習意欲が高く、
「スクレイピングにも興味がある」とご連絡を頂いていました。
私はスクレイピングは全くやったことがなかったですが、自分のスキルを高めることが目標だったので、
この方がPythonや機械学習のテキストを進めている間に、
私も「2~3日」でudemyのwebスクレイピング講座を受講し、
自分でかみくだいて教材を作成しました。
この結果、わずか1週間程度で私も生徒の方も本当に基礎中の基礎ですが、
webスクレイピングをすることができるようになりました。
これには私も非常に驚きましたが、プログラミング講師を始めてみてよかったと本当に思いました。
※webスクレイピングはセキュリティ面で危険を冒す可能性があるので、十分注意して教材を作成しました。
4.ボランティアでプログラミング講師をしたことで得た気づき
プログラミング講師をしてみて、感じたこと
数か月間、ボランティアでプログラミング講師をさせていただいた中で得た気づきがこちらです。
・アウトプットすることで知識は定着する
・人に説明することで、知識の定着、スキル獲得スピードが一層速くなる
もちろん、読者の方に「ボランティア」を勧めるつもりは全くありませんが、
何かしら日々の学習に「アウトプット」の機会を意図的に入れることは、知識の定着に非常に重要だと思います。
プログラミングの知識獲得やスキルアップには
「本や動画での勉強」「資格取得」等がイメージされがちですが、
考えようによっては他にも様々な方法があると、プログラミング講師の経験を通じて感じました。
「人に教える」ために
記事の途中でも書きましたが、人に教えるには、いくらボランティアといえど、適当にやることは許されません。
私はこのボランティアを始める前にプログラミンスクールででPythonとAIの講座を受講しており、
その内容をしっかり踏まえてプログラミング講師をやり切りました。
関連記事
そして、最終的にさらなる知識の定着・スキルアップをすることもできたので、本当に良かったと思います。
皆さんも自分にとって「スキルを伸ばすために取れそうな手段は何か」を考えて、行動に移してみてもいいかもしれません。
最後までお読みいただき、ありがとうございました。