「苦手な先輩だな」と思われないための、プログラミングの教え方の3つのコツ「苦手な先輩だな」と思われないための、プログラミングの教え方の3つのコツ2018年7月18日テクノロジーツイートシェアはてブ送るPocketこの記事はこんな方にオススメ!「新入社員の教育担当になったけど、どうしていいかわからない」という方。「なんとなく後輩に距離をおかれている、接し方がわからない」という方。これから説明しますよ!わたしもITエンジニアとしての経験が長くなってきたので人にプログラミングを教える機会も増えてきました。色々な職場をみていて思うのですが、ちゃんとプログラミングを教えられる人って結構少ないんですよね。知識自体はあるのに、教え方がダメで損している人が多いです。新入社員にとっての最初の一年はとても重要です。その一年の印象は教育担当にかかっていると言っても過言ではありません。あなたが嫌われれば、会社が嫌われるも同然です。難しく考える必要はありません。コツさえつかめばちゃんと教えられ、新入社員からも信頼されます。この記事では、わたしが実践して効果のあった、プログラミングの教育のコツを説明します。プログラミング以外の教育でも基本的な考え方は変わらないので、エンジニア以外の方もぜひ読んでみてください。プログラミングの専門用語は意味不明だと心得るこれとても大事です。新入社員の教育係を任される程のあなたは、おそらくそれなりにソフトウェア開発を理解しているでしょう。説明にプログラミングの専門用語を使っちゃうと思うんですけど、それ全然通じてないです。プログラマと普通の人の認識の差は、たとえば次のような感じです。普通の人にはデータ型なんて概念は存在しません。コンピューダでの数値の扱い方とか考えたこともありません。普通の人は2進数とか16進数で数値を数えません。256はキリのいい数じゃないです。高校の数学でやったかも知れませんが忘れています。普通の人はプログラムの構造を考えたことがありません。関数とか式とか文とか言われてもなんの話かわかりません。「自分はわけわかんない話をなんとか伝えようとしている」ということをまず理解してから教えましょう。しないと、教える側もなかなか理解してもらえずにイライラすることになりますし、教わる側も言っている意味がわからなくてお互い不幸になってしまいます。そもそも人に教えるってとても難しいです。忘れられて困るなら最初からメモを渡せばいいと思うんですよね。ゲームのチュートリアルとか、忘れちゃっても後から見返せるじゃないですか。あれを「メモを取れ」とゲームに言われたらムカつくと思います。2018社会人の常識ってよく言われる「メモを取れ」ってあるじゃないですか?あれすごく非効率だと思うんですよね。話し手がメモるべき内容を説明する。メモるべき内容に対する知識のない人が、がんばって話の内容を聞く。知識がない状態で聞いた内容を、自分のアタマにある言葉でがんばってメモ用紙に書き写す。メモを読み返して仕事を進める。話した時点で内容が伝わっていない可能性がある。内容が伝わったかもしれないが、メモに書き込む時に間違った言葉で書かれる可能性がある。そもそも口頭で話してメモを取らせるのがめんどくさい。時間が掛かる上に、情報伝達が起こりやすい。これを非効率と言わずしてなんと言いましょうか。わたしだったら、最初からメモを用意してそれを渡しますね。間違った言葉でメモられる心配がないので、正確に情報を伝えられます。ちなみにわたしは手書きが嫌いなので、Redmineのチケットを発行して情報を伝えるようにしています。Redmineはプロジェクトの各作業を「チケット」と呼ばれる単位で管理できる、オープンソースのプロジェクト管理ツールです。無料で使えるので、普段は作業をExcelで管理してるという方はぜひ使ってみてください。「一度にたくさん説明しないこと」です。説明された方の人は、あなたが思っている以上に説明の内容を理解できていません。わからなくなったら都度質問するようにしてもらって、少しずつ疑問を解決していくのが上達への近道です。2018プログラミングができるようになるまでに覚えることはたくさんありますが、焦りは禁物です。一度にたくさん説明してはいけません。一度に説明されても理解できないからです。あなたは「どうやって説明すればわかりやすいか?」を必死に考え、自分なりに工夫して伝える内容を考えたことでしょう。そのあなたが考えた内容って、あなたのアタマの中にある知識を前提に作られているんですよ?なので、あなたが思っている以上に説明した内容は伝わっていません。前提知識がない以上、その前提知識から少しずつ教えていくしかありません。勉強するわけではありませんが、焦って教えてもいけません。根気よく、一つずつ教えていきましょう。「これはちゃんと意味あるんだけど、今は呪文みたいなものだと思って」と教える内容を一時的にすっ飛ばすことです。プログラミングやったことない人に#include<stdio.h>の意味を教えるのは至難の技で、かつ教育効果も低いので理解できるレベルになった時点でちゃんと教えるようにしています。なんでもかんでも一度に教えず、段階を踏んで教育すると理解してもらいやすいですね。なんどでも聞き返してもらう「同じことを何度も聞くな」という人がいますが、わたしはその逆で「わかんなくなったらまた聞いて」と言うようにしています。わたしは優秀ではないので、一度聞いただけでは理解できませんでした。後輩に教えるときも「一度では理解できない」ことを前提に話すようにしています。2018わたしが説明を終えた後にいつも言うのが、「わかんなくなったらまた聞いて」です。この言葉を伝えるのには二つ理由があります。一つ目は、慣れてないことは一回聞いただけでは理解できないからです。モンハンやったことない人に「ディアブロスの弱点は腹部で、氷属性だと大ダメージを与えられるよ!」って説明したとするじゃないですか。次の日には忘れていますよ。モンハンやってる人がこれを暗記しているのは、何度も情報を見返して実際にプレイしているからです。理解してほしい内容があったら、実際に作業をさせつつ反復して情報を与えるのがポイントです。二つ目は、「同じことを何度も聞くな」と言ってしまうと、教わる側の質問をするハードルを上げてしまうからです。普通に考えて「同じことを何度も聞くな」って言っている人のとこに聞きにいくの嫌じゃないですか?わたしなら絶対に嫌ですね。教える側から壁を作って学ぶ機会を奪わないためにも、「聞きに来るのいつでもウェルカムですよ」という姿勢を常にアピールしておきましょう。「教えてやってるんだ」という意識を捨てよういかがでしたか?この記事で紹介した3つのコツの全てに共通するのは、「教わる側の立場を最優先に考える」ということです。サラリーマンは上下の人間関係で生きているので、どうしても「教える方が偉い、教わる方は謙虚にすべし」という考えになりがちです。気難しい先輩に「オレはお前に教えてやってるんだ」という態度で教育を受けた方も少なくないんじゃないかと思います。自分が教育担当になったら、先輩だという優越感はバッサリ捨てましょう。「教えてやってるんだ」という意識は、自分が偉いという傲慢な考え方なんです。「うちの会社に来てくれてありがとう、わたしの教えを聞いてくれてありがとう」という謙虚な心で接してください。相手に気持ちよく学ぶ機会を与えるのが、教育の一番のポイントです。「ぼうけんのしょ」が消えてしまう理由を、現役エンジニアがわかりやすく解説...プロフィール石塚幸司(@Kumikomi83)働き方やプログラミング、エンジニアとしてのテクニックについて発信しています。リツアンSTCのエンジニアです。既婚で妻と二人暮らし。メーカー正社員とエンジニア派遣会社の両方を経験。プログラムで機械を動かすのが得意&大好き!組み込みソフトがメインですがそれ以外もいろいろやります。