Javaの学び方セミナーのお礼と報告

気付けば3月

気付けば2月も終わってしまい、「あぁっ、情報処理の申し込み今年もまた忘れた!!」と叫んでいる方も*1多いであろう今日この頃、いかがお過ごしでしょうか。

朝3時半に目が覚めて、三文*2得をしたことよりも「老い」がちょっと不安なtakaxiです。

セミナーに登壇させていただきました

ところで先日、拙著を出してくださっているインプレスさん主催のセミナー(案内ページ)に登壇させていただきました。



ありがたくも参加登録の募集がはじまって1週間で70席が埋まり、金曜の夜にもかかわらず多くの方にご参加いただきました。貴重な時間を割いてお運びくださり、本当にありがとうございました。

場所が神保町ということで、遠方で参加できなかったという方、新幹線の開通を待ちきれず新潟県までいっちゃった方などのために、発表スライドをこちらSlideShareしました。

スピーカーの2人

リンク先のスライドにあるように、当日のスピーカーは私を含め2名。もうお一方は、なんとOracle Universityの岡田さん。Oracleにおける「学び分野のエバンジェリスト」的な役割の方で、4月8日のJavaDay Tokyoでも登壇されます。最新のJava動向、資格、イベントなどについても紹介がありましたが、やはり本人がもともと導き手の仕事をしていたこともあり、私個人としても参考になる学びの経験談もたくさんいただきました。


一方の私は、著者という立場で話させていただいたのですが...。まぁ、著者といってもピンキリでして、偉い大学教授でも今をときめくIT企業の人でもないスピーカーが醸し出す想像以上の「ふつうのヒト感*3」を、ある意味お楽しみいただけたかと思います*4


それにもかかわらず、お名刺を交換させて頂いた方、お話・情報交換をさせて頂いた方、ご参加頂いた方、ありがとうございました。また、セミナールーム後方の書籍販売特設コーナーにて、当日お買い求めいただいた皆様ありがとうございました。

トピック選び

セミナーの内容は、タイトルのとおりJavaを学ぶにあたってのコツを10個しゃべり倒すというものなのですが...悩みました。

当初のラフな企画段階では「配列のマスターの仕方」とか「抽象クラスの落とし穴」みたいな、かなりJavaの技術的な内容に踏み込むコツを予定していました。ところがいざ参加登録が始まって、登録いただいた方の情報を総合して目に浮かんだ来訪者像は...

  • Javaを既に学んでいる人も、これからという人も。
  • 学び手の方も、導き手の方も。
  • 拙著の読者も、読者ではない方も。
  • 非常に若い方から、ご年配の方まで。
  • 学生さんから、デスマの鬼まで。

というものでした。


ダテに「ちから2・すばやさ3・うんのよさ255」でここまで人生を切り抜けてきてません。こういう時は、ちゃんと私の頭の中で、


 「急速転回っ! 取り舵、いそげ!」


と脳内沖田十三が叫ぶわけです*5

ということで、とりあえずちゃぶ台を返したうえで、Java自体にあまり深く踏み込み過ぎないようにしつつ、「学び方&導き方」という方面に比重を移動。スッキリシリーズの解説での応用例などを絡めることで、あえて著者が話す意味がある内容に近づいたかなと思います(ただのJavaのコツであれば、他のJavaの講師の方でも話せますので...)。


ちょっと物足りなかったという手練れの皆様、ごめんなさい。ディープな話は、このブログでも多少書いていきますね。そしていつか「朝まで生Java*6」できたらと夢見てます。


その他、セミナーの中休みでは、高田先生によるジョジョ版挿絵のほか、当日会場に来て下さった方だけにいくつか小ネタをコッソリお披露目しています。

当日お寄せいただいたQ&A

当日、セミナー最後のQ&Aタイムや、その後個人的にいろいろとご質問をいただいたりしました。その一部をこの場を借りて情報共有させていただきますね(一部追加で補います)。

Q. 若手ではなく中堅・年配の方の学び方は?

「既に持ってる経験」というものが最大の武器だと思います。

ある対象を学習しようとするとき、「既によく知っている類似した何か」と比較しながら学ぶこと(学習理論では「紐付け」「関連づけ」と言うそうです)で、非常に高い効率が出ることが知られています。これは非常に大きなアドバンテージですし、そして尊重されるべきものだと思います。

そういう意味で、「Javaという言語を学んだ経験」は将来別言語を学ぶ時にその負荷を大幅に下げてくれると思います。

Q. Webアプリがうまくデプロイできなくて困っている

AWSなどのクラウド環境へのデプロイでのお悩みでした。サーブレット&JSPのサンプルの「どこつぶ」は動いたのだが、ちょっと改造したものがうまくデプロイできない(ローカル環境では動く)とのこと。

まずは状況把握のために、ログなどを見て問題判別をしてみてください。想像の域を出ませんが、クラウド特有&RDSを使っているとのことなので、DB接続まわりがちょっと怪しいかなとも思います。

Q. 資料の途中に出典のTEBOKってなに? どこで手に入る?

正式には"Technical Escort Body of Knowledge"といいまして、著者の会社がまとめている「導き手のための虎の巻」みたいなノウハウ集です。残念ながらTEBOKは非公開の社内資料なので、一般の方は入手はできません。

Q. 実践編を読み終わったら次は何を読めばいい?

仕事上の必要性や興味関心によりますが、ご質問をいただいた方は「Windowsアプリのようなものではなく、ブラウザで動くWebアプリやスマホアプリ」に関心がおありのご様子でした。

この場合、

  1. スッキリわかる サーブレット&JSP入門 (スッキリシリーズ)』を読むと、普通のWebアプリが作れるようになります
  2. さらに『スッキリわかる SQL 入門 ドリル215問付き! (スッキリシリーズ)』を読むと、DBを利用した本格的なWebアプリが作れるようになります
  3. さらにここでjQueryMobileSenchaTouchあたりを学ぶと、HTML5スマホアプリを作れるようになります

Q. 「作りたいもの」が特に思い浮かばないのだけど、どうすればいい?

もし何らかの組織(会社など)に属しているのであれば、その組織のみんなに「ぷち不満」はありませんか。「本腰を入れて改善するほどではないのだけど、いつも面倒」みたいに皆が思っているもの*7です。

その課題をもしプログラムで多少自動化できるのであれば、チャレンジしてみるのがお薦めです。

なぜかというと、こういう「みんなが不満なもの」というものに取り組みはじめ、作りかけのようなものでも公開すると、周囲が積極的に開発やテストに協力してくれたり、感謝の言葉をくれたり、応援してくれるからです(経験あり)。

Q. 「スッキリシリーズ」の研修での上手な活用方法は?

ありがたくもスッキリシリーズをテキストとして利用してくださっている学校・企業さんもたくさんあります。テキストとして利用いただくのが、1つのわかりやすい活用方法です。

ただしどんな教材でも、講師の方のインストラクションスタイルと教材の解説の切り口との相性が悪いことがあります。

例えば、一般的な研修用テキストや大学講義用の難しい教科書はトップダウンアプローチで書かれています。それを講師がボトムアップアプローチで補いながら学習を進めていくという私のようなタイプの講師の場合、はじめからボトムアップで書かれている「スッキリシリーズ」は、メイン教材としては少し使いづらく感じることもあります。

著者の会社の研修の場合、トップダウン型の研修用テキストは別にあって、さらに副読本として「スッキリシリーズ」を渡しています。理解に不安がある学び手は、講義の前に一人で予習できますし、講義後に「講師に質問などができない夜間や土日」であっても不安なところを読み返せるため、結果として研修を短期間にすることができます。

そのほか、学び手の方で、「授業や会社の研修で支給されたテキストがちょっとわからない」という方に、自主的に副読本として活用いただいているようです。

Q. あの抽象クラスの説明方法は、どうやって生まれたの?

スッキリシリーズが類書と違うアプローチで解説をしていて、比較的ご好評をいただいている「抽象クラスの解説」についてのご質問でした。当日会場では「どうやって生まれたかなぁ...」と即答できなかったのですが...。

スライドでも解説があるとおり、抽象クラスは「概念系」であるため、それ自体の単体を構文などの外形的要素から解説しようとすると非常に難しく感じます。私自身も、過去には学び手の方が難しそうに感じる解説をしていたこともありました。

そこで、いろいろと学び手の反応を見ながら試行錯誤していたところ、「その直前に"継承のis-a原則"の解説を持ってきて、それと繋げて解説する」と理解されやすいことに気付いたのがキッカケかもしれません。

きっとis-a原則を学ぶ時に「抽象・具象の関係」に注目して訓練を繰り返すので、頭の中に「抽象的な世界を考える準備」ができるのだと思います。

Q. 難しいことを「隠さない」ほうが学びを促進することもあるのでは?

セミナー中では「入門者向けには難しいことを隠す」という基本アプローチを紹介しましたが、ご質問いただいたように「難しそうなものを見て、むしろ燃える」という人もいます。私の経験では、通常は完全な入門者であることは少なく、ちょっとだけJavaを経験したことがあるか、他の言語を知っている方であることが多い(=得意意識を既に形成できている)場合が多いでしょうか。

学びをエスコートするとき、相手の理解・開発時の手の動き・目を見て、そのようなチャレンジ精神がある&チャレンジを楽しめる方であると感じる場合には、むしろ転じて「現在の実力の120%を使う必要がある」ような課題を個別に設定します。

ただし特に複数の学び手がいる場合、「個別の相手に対して追加で指導をする」というのは想像以上に導き手の負荷が高まります。多くの「普通の学び手」に対して最大限の対応をしながら、チャレンジする余力がある人には全く別の本編にない追加指導を同時に行うことになるためです。

私の場合、こういう時によく「実践編」を使います。
+αのチャレンジをする学び手には、「じゃぁ、●●をやってみようか。詳しくは実践編の●章に書いてあるので読んで進めてください。わからなかったらいつでも聞いてね」といって、自分は他の学び手のエスコートに戻ります。あとは時々、その方が困ってないか、ハマってないか、目の端っこで様子をみつづけます。

私も一生懸命学ばせていただきました

研修も同じなのですが、スピーカーも話すことでかなり学びを得られます。例えば、聞き手の方の表情や雰囲気が話題によってどう変化したのか、どのような層にどのようなニーズがありそうなのかなどなど。今回も、聞いて下さった方の表情やお寄せ頂いたご質問・ご意見・アンケートなどから、自分の推測が正しかった部分と不足していた部分などを理解し、また今後に役立てることができると感じました。


ご参加いただいた皆様、1時間30分間でしたが、私を育ててくださってありがとうございました。


きっと今後のスッキリシリーズの中に役立てて、より多くの方に還元していけるよう頑張りますので、今後ともどうぞよろしくお願いします。

まとめ

せっかくウケ狙いのスライドも作ったのに、販売コーナーで
「なぜか売り子してる編集長」に全部もってかれた気がする。

*1:忘れてたんじゃなくて「忘れたことにしたかった」子も、先生お見通しよ

*2:あ、現在の貨幣価値で約100円な。

*3:すいません、まだ覇気とか念能力とかに目覚めてないもので。

*4:いやー、カリスマスピーカーとかTEDとか憧れるわー(棒)

*5:脳内ブライトのこともあります。

*6:朝までトークっていう意味です。朝まで開発じゃないですよ! まぁよくやってますが

*7:飲み屋などのグチで上がるもの