2015年7月22日JJUGナイトセミナーで喋ってきました。

投稿日:

お久しぶりです。こんにちは。本当にお久しぶりとなりました・・・!

前回のブログの後も勉強会参加したり、勉強会開催したりしてたんですが、ちょぉーっとバタバタしたりしていてブログを書くことができておりませんでした。。。まとめてどっかで書きたいけれども。この先も勉強会やブログに書いておきたい内容が溜まっているので、この際一旦スキップして、直近にあった勉強会から再度ブログを再開しようと思います。

タイトルにもあるとおり、2015年7月22日。JJUGナイトセミナー for Beginners にて、なんと登壇をさせていただきました・・・!

登壇が決まったのが5月中旬から下旬のこと。今回いただいたテーマは「初心者向けに読みやすいコードの勉強会を!」というものでした。一緒に登壇することが決まっていた@ngsw_taroさん(以降たろうさん)が先生役、私が生徒役、として、登壇中にコードレビューしながら読みにくいコード(以降ダメコード)の書き直しをしていこう、という企画でした。募集人数は120名。持ち時間は50〜60分。いままで私自身が経験したことのない規模の勉強会です(運営ではなく話す側として!)。

準備は6月の頭にたろうさんとSlackのやりとりを開始するところから始まりました。テーマは決まっていて、コードレビューをする、というところまでは決まっているけれども、なんのコードでやるのか・説明ポイントはどこにフォーカスしようか・どうやって進行しようかは当然決まっていません。かくして、こんな会話からスタートしたのでした。

スクリーンショット 2015-07-22 23.16.54

いろいろ話し合ってみたところ、で我々が決めたのは以下のとおり。

  • 2つのプログラムを用意する
  • とりあえずテーマにそって私がコード書く
  • 書いたコードに対してたろうさんがレビューする
  • 説明要素が足りない場合はわざとコードを崩してダメコードを作る
  • しゃべる時は先生役(たろうさん)と生徒役(私)で対話形式にする

1つ目のプログラムは「High&Low」。コンソールに出力するタイプのゲームプログラムです。このプログラムについては私自身が出来上がりのコードをイメージしやすかったので、しゅっと作成完了。すぐにたろうさんのレビューへ回します。レビューと検討をSlack上で繰り返し、7月に入ってから対面のMTGMTGを2回ほどしてさらに詰めつつ、「ダメ」な部分を意図的に増やしつつ、発表用の資料コード「High&Low」は完成しました。

ちなみに以下Twitterは1回目のMTG(@舞浜イクスピアリ)の様子です。

私が大苦戦したのはもう一つのプログラム「バケツで軽量」のやつ。こちらは前日の打ち合わせで、”1時間で2プログラムの説明は駆け足になってしまってダメだ!” ということでバッサリお蔵入りしたプログラムです。(もったいない、ということでコードだけ公開してプルリク受付中です。このコード公開については後述)。

「Xリットルを測れるバケツとXXリットルを測れるバケツがあります。このバケツで▲リットルを計量したい。一番少ない手順で計測できる手順を検索しなさい」

というどっかで見たことあるような頭の体操的なプログラムです。やりたいことは理解できる。ぼんやり作業の流れも理解できる。ただし決定的にコードをイメージできない部分がありました。

組み合わせの検索ってどうやってやるの?

ということ・・・。頭ではどうやって組み合わせを探していけばいいのか、というのは理解できてはいるものの、ではそれをどうやって機械にやらせてあげればいいのか、という切り分けができないで悩み続けておりました。検索アルゴリズムって全く知らなかったんです。お恥ずかしながら。。。(ちなみに今回やった「幅優先検索」とかは情報系の大学の1年生とかでやる内容なんだと後から聞きました)。

結果、ずーっと唸っててもしょうがないので、「Javaすごいできる」な人たちに教えてもらい、質問し、「バカなの?」と呆れられながらなんとかコード作成しました。アルゴリズムの考え方についてはしっかり教えてもらって。いざコード書くときはわからない所を質問してヒントもらう感じで。進めて進めてテストまで作成済みです。でもそんな進め方でゴリゴリ作ったコードなので突っ込みどころは満載です。コードをGitHubにあげているので、よろしければレビュー&プルリクをおまちしております★

当日の発表はどうだったかというと。「楽しかったけどすごく緊張して吐きそうだったし自分がなに話したか覚えてない」というのが実情です。

↑こんなこと口走るほどには緊張しておりました。発表慣れしてないの、ダメですね。練習不足も大変祟っていたと思います。せっかく2人でやってるんだから1人の発表じゃやれないような動きのある発表をするべきだったなぁと。反省しております。その他ありがたいフィードバックをたくさんいただけましたのでこちらを励みにリベンジしたいなとおもっております。(たろうさんと企画中です!)。

発表に慣れていない間は、運営と発表両方同時進行はしちゃだめだなと思いました。やれる余裕がないときは素直にやれないという勇気をもとうと思ったわず。

次回は運営しっかりがんばるぞー

広告