人に何か教える際に気をつけていること、使っているテクニック
4月から知人のエンジニア向けにiOSアプリの開発を趣味で教えている田畑(@nerd0geek1)です。
iOSアプリ開発に興味のあるエンジニアの知人と集まり、↑このようにiOSアプリ開発の勉強のお手伝いをしているのですが、
と言ってもらえることも多く、人に何かを教える際に気をつけていることや、使っているテクニックなどをシェアすることで、新卒・後輩育成をされている方の役に立てるのではないかと思い、書いてみました。
ちなみに、なぜわざわざ休日にiOSアプリの開発をタダで教えているか、という話ですが
・知り合いとワイワイしたり、人に何かを教えるのが好き
・モバイルエンジニアの需給ギャップがヤバい。
が主な理由です。
特に2つめは割と深刻で、以前、こちらの有料記事↓で公開したように決して安くはない額を人月単価として提示させていただいていますが、
それでも月に5-10件ほどお声掛けいただく程度にはiOSエンジニアが足りてない印象です。
毎回、手が空いてないとだけお断りするのも心苦しいので、僕が知人にiOSアプリ開発を教えることにより
・iOSエンジニアがほしい会社
→iOSエンジニアが確保できる🙌
・iOSエンジニアになった知人
→iOSエンジニアの需給が均衡するまでおいしい思いができる🤑
・僕
→iOSエンジニア育成の実績作りができる。仕事のお手伝いをお願いできる人を
増やすことで仕事の幅を広げることができる😎
という三方良しが実現できるのでは🤔と考え、教えています。
使っているテクニック・理論
まずは使っているテクニック・理論についてです。
学習目的のヒアリング(期待を明確化し、やる気を刺激するため)
今回の勉強会では、参加者のうち何人かに対しては「何のためにiOSアプリ開発を勉強するのか?」ということをヒアリングしました。
というのも、人間の行動を喚起するのは、報酬そのもの(iOSアプリ開発を勉強して得られる利益)より、報酬が得られるという期待(iOSアプリ開発を勉強して利益が得られるという期待)ということが知られているからです。
以前、紹介した『Hooked ハマるしかけ』でも
【Chapter 4】リワード(予測不能な報酬)> 報酬とは何か で以下のように実験について触れられています。
スタンフォード大学のブライアン・ナットソン教授はfMRI(70)で、賭博を行う人の脳の血流を検証する実験を行った。被験者が賭け事をしている間、ナットソンと彼の研究チームは被験者の脳のどの部分がより活発に働いているのかを検証したのだ。結果は驚くべきもので、報酬を与えられた(この場合は金銭の支払い)時には側坐核は活性化せず、それを期待している時にもっとも活性化することがわかった。
この研究により、私達に行動を起こさせるのは報酬自体から受け取る感覚ではなく、その報酬に対する欲求を解放することであることが示された。
そのため、勉強会の効果を最大化するために期待を明確化するヒアリングを行いました。
フロー理論
スポーツの世界などでは「ゾーン」と呼ばれることもある、完全に集中した状態のことを「フロー状態」と呼びますが、フロー理論はそのフロー状態を作り出すための理論です。
といっても難しい理論ではなく、
・スポーツ
・テレビゲーム
・プログラミング
などのように
・最終的な目的が明確である
・今、何をすべきか明確である
・今やっている内容が自分の限界より少しだけ難しい
・何らか行った行動に対して即座のフィードバックがある
状況に人を置くことで、ある程度確実にフロー状態を引き起こすことができます。
なので、勉強会の最初に
・最終的な目標(API通信込みのiOSアプリが実装できるようになる)を共有し
その達成のために
・何をすべきか以下のようなカリキュラムを使って明確化し
・何か疑問やわからないことがあれば、僕にすぐ質問できるようにしておき、即座のフィードバックが得られる
ようにし、フロー状態が発生しやすい状態にしておきました。
カリキュラム
1. UIKitのクラスに親しむ(UIKitの要素の配置できるようになる)
2. AutoLayoutに親しむ(レイアウトを含め、UIの実装ができるようになる)
3. Xcodeのファイル構成を理解する(iOSプロジェクトをgit管理できるようになる)
4. ライブラリの導入方法を理解する(iOSプロジェクトにライブラリを取り込んで使えるようになる)
5. APIKit/Decodableを使えるようになる(API通信のあるアプリが作れるようになる)
(ちなみにフロー理論については、提唱者のミハイ・チクセントミハイによる以下の書籍がオススメです)
ラーニングピラミッド
ラーニングピラミッドは、ある内容に関する学習の定着度は、学習方法によって以下のように変わる、といううことを図示したものです。
他者への説明には「ある内容について自分の中で消化し、構造化・再構築することが要求される」ため、先述したカリキュラムの各ステップの最後に、学んだ内容をどのように捉えているか口頭で説明してもらうようにしています。
比喩の多様
人に何かを教える場合、教わる人にとってそれが全く新しい概念だとイメージがつきにくく、知識として定着しにくいことが考えられます。
なので、教わる側が既に知っていそうな概念とこれから教える内容が構造的に似ている場合、比喩を多様してなんとなくのイメージを掴んでもらうようにします。
気をつけたこと
答えを言わない
人が知識の共有の受ける際に最も重要なことは「聞いた・読んだ知識を消化し、自分の中で再構築すること」と考えているので、考え方のヒントや概念の説明は丁寧に行いましたが、直近の疑問に対する単純な答えは極力言わないようにしました。
説明が曖昧な場合、徹底的に質問する
ある物事への理解が曖昧な場合、そのことに対する説明は曖昧になりがちです。
なので、説明が具体的になる or 何をわかっていないか自覚的になるまで「それは具体的にはどういうこと?」と質問を繰り返すようにしました。
とはいっても優しい雰囲気で
徹底的に質問はしますが、時間的制約があるわけではなく、すぐにプロジェクトでその知人と仕事をするわけでもないので、高い学習効率を実現してもらうために、優しい雰囲気で強い言葉を使わずに詰問するようにしました。
(以下のような悪影響を避けるためです)
いかがでしたでしょうか?
少数の知人だけを集めた勉強会だからできるテクニックも多いので、全てをすぐに役立てることは難しいかもしれませんが、ここで紹介したようなテクニックや気をつけるべきことが何らかの役に立てば幸いです。
サポートする代わりに個人開発はじめましょ! iOS👇 https://developer.apple.com/jp/support/enrollment/ Android👇 https://play.google.com/apps/publish/signup/