この記事は DevRel Advent Calendar 2021 の 9 日目の記事です。ハッカソンリーグ2021 ルーキーリーグ Vol.01 Microsoft Azureをひたすら使い倒す 2日間で技術メンターをしてきました。自分のまとめです。
この記事はイベント全体というよりは、ひとりの技術メンターとしての動きをまとめた記事です。また、DevRel の目線で技術を伝える一つの側面としても書き残しております。
イベント情報
イベント情報はこちらです。
#ハッカソンリーグ2021 -ルーキーリーグVol.01- – connpass
こちらには以下のように書かれています。
■ ハッカソン概要
本イベントは、Microsoft Azureを極限までポテンシャルを引き出すことを期待する、ハッカソンです。
これまで使ったことがないサービスの利用など大歓迎!
Microsoft Azureを存分に使い倒し、あなたのアイディアを形にしてください。
合計2つのリーグ(ハッカソン)が開催され、それぞれで最優秀賞など賞を決定していきます!■ ルーキーリーグ
これからMicrosoft Azureを使っていこう!という、Microsoft Azure初心者の方に参加をいただくリーグ(ハッカソン)です。
ということで、これから Azure を使う人をルーキーを定義し 2 日間でガシガシ使ってもらおうというハッカソンです。
果たして自分のスキルで、めちゃくちゃ範囲が広い Azure に関してどこまでカバー範囲が及ぶか?という不安はありつつも、やはり技術を伝えて技術が楽しいなと思ってくれる人が増えていくことが大好きな私としては、不安はありつつもチャレンジしてみたかったので、技術メンターを担当させていただきました。
メンターの事前準備
今日明日でオンラインで開催される #ハッカソンリーグ2021 ルーキーリーグ Microsoft Azure で #Azure まわりの技術メンターをさせていただきます!よろしくお願いします~。 https://t.co/ALownBtiUv
— Tanaka Seigo (@1ft_seabass) December 4, 2021
このようにツイートしていましたが、イベントがはじまるまで当日の技術メンターの 大平かづみ さん、ファシリテーターの伴野さん、そして審査員のみなさんと事前準備について話し合いました。
みんなで話して、やはり大事そうだね、となったのは、参加者のみなさんが当日開発するうえで、ためになりそうな技術情報だなというところで、今回はこのように GitHub リポジトリを一つ作ってドキュメントを置くようにしました。
もちろん時間があればナレッジを全部イチから書きたかったですが、時間もないのでグッとこらえて Microsoft Learn の教材を各技術ごとにうまく集めてまとめることで、ルーキーの方々にも多くの技術を触れてもらおうと心掛けました。
あと、ナレッジを全部イチから書いてしまうと、そのまとめたドキュメントの中でもしうまく動かなかったり、追加で何か実装したくなると、書いた人に質問が集中しがちなので、それを避けたいですし、むしろこれを機会に豊富な Microsoft さんの文献を見回ってほしいな、という意図もありました。
GitHub Discussions も参加者の質問やナレッジ蓄積に用意してみた
当初、わたし含めてドキュメントの集約を GitHub にする会話がありました。
けれど、今回はさらに楽しい試みが。GitHub を使いこなしている大平さんの素敵なアドバイスでさらに踏み込みまして GitHub Discussions を取り入れて参加者の質問やナレッジ蓄積に用意してみました。
通常、オンラインハッカソンの技術メンターの場合、当日の参加者からの質問をお答えする場合って、
- Zoom での音声での相談に乗るサポート
- Zoom での画面を見せてもらいながらのビデオサポート
- Slack でのテキストチャットサポート
があるんですが、これらでもある程度サポートできるんです。
ただ、弱点もあります。
Zoom のサポートは個々の人への解決に関しては効果が高いく質問者への満足度は高くなるのですが、そこで得たナレッジを残す効果が弱く、リンクを知らせたりの技術情報共有をどうするかが悩ましくなりがちです。
かたや、Slack でのテキストチャットサポートはログが残るのでほかの人にも伝わる技術情報共有まわりは強いです。けれど、メンターの質問チャンネルでうまくスレッドに案内しないと、質問が五月雨になってズラッと並んで追いにくく答えにくくなるっていう悩ましさがありました。
また、Zoom と比べると Slack はテキストなので、どんなエラーが起きてるとか本当はどんなものを作ろうとを目指しているかがテキストだけだと見極めづらいところがあります。
GitHub Discussions は Zoom のサポートで対応したナレッジを後対応で言語化して転記したり、Slack よりも手前で参加者からの最初に質問内容を書いてもらうような質問起点にすることができそうなので、チャレンジしてみました。
当日の様子
ということで、こんなスケジュールでスタートです。
まずは元気よく技術紹介(技術伝えた意欲でちょっと熱が入りすぎたw)
わたしと @1ft_seabass と大平さん @dz_ の自己紹介とともにハッカソンで使いやすそうな Azure ナレッジを事前に集めたドキュメントを紹介中!
前向きに色々話したくなるので、私も大平さんも紹介に熱が入りますね! #ハッカソンリーグ2021 #Azure pic.twitter.com/bzKTUyST3A— Tanaka Seigo (@1ft_seabass) December 4, 2021
最初の自己紹介時に、さきほどまとめた技術情報を熱く語らせていただきました。
振り返ってみると、この流れは良かったようで、参加者みなさん今回触れそうな Azure の技術を知る良い案内になり、実際、このあと使用する技術も、こちらで紹介したものが起点となりました。とくに、大平さんが、初心者に取っつきやすい技術をたくさん紹介していただいてて、私もワクワクしましたね!
参加者のみなさんにも、まず Azure の雰囲気が伝わった上で、アイデア発散&チームビルディングのときに、少し Azure を意識しつつも自由に発想するといったサジ加減でアクションできたんじゃないかなと思ってます。
合間にちょっとドキュメントを加えました
そのあとは、開発がはじまるまでは技術メンターは待ちという感じです。というのも、アイデア発散&チームビルディングをしているので、技術の前の発想をしている段階です。
昨日、メンターのウォームアップで Azure Functions で LINE Bot を作るのをこの記事で試してみて、ササっとうまくいったー!参加者の人にも紹介しようっと。@ryoga_cloud さん、ありがとうございます! #ハッカソンリーグ2021 #Azure https://t.co/DDKDR5nxdJ
— Tanaka Seigo (@1ft_seabass) December 4, 2021
私もこちらの素晴らしいナレッジを起点に Azure Functions で LINE Bot を作るドキュメントを作りましたが、合間にドキュメントを加えました
よしよし。技術サポートの合間で Azure Functions と柴犬画像取得 API との簡単な連携のサンプルできた~。 #ハッカソンリーグ2021 #Azure pic.twitter.com/Xns5EXw8E3
— Tanaka Seigo (@1ft_seabass) December 4, 2021
こんなかんじ。
Azure Functions で LINE Bot から外部につなげるナレッジがお伝えできてると、Azure 内の他のサービスであったり、このような柴犬 API のように外部の API ともつなげるアイデアが出てきやすいだろうなーと思って、やってみました。
ハッカソンからいただいた #UberEats のオンラインランチクーポンで、家族の昼食としてケンタッキーフライドチキン頼みました!いただきます! #ハッカソンリーグ2021 #Azure pic.twitter.com/K2lvnDSMLN
— Tanaka Seigo (@1ft_seabass) December 4, 2021
ハッカソンからいただいたUberEatsのオンラインランチクーポンで、家族の昼食としてケンタッキーフライドチキン頼みましたが、おいしかったです!
1日目の午後からひたすらに盛り上がってくる
開発開始直後。
こんな感じでしたが、嵐の前の静けさでしたね。要するに、まだ、みなさんどう作るか悩んでいる段階で、技術メンターに質問がくるほど、しっかりまとまってなかっただけでした。
ただ、ここで、各チームにちょっと顔を出して「どうですー?何か相談乗りましょうか?」というのは、参加者の人たちとの和やかなムード作りと、なんとなく使いたい技術の把握もできてよかったと思っています。
オンラインでは、エラーの原因がよく分からない状態や、つくるために質問や相談が言葉しづらい段階だと Zoom での声や画面共有しながらのサポートの方が良いように思います。これは、オフライン時でもある声掛け対応に近い感じですね。
さてさて、夕方くらいからは、めちゃくちゃ質問が来ました。
Azure 技術メンターしてると Chrome タブが Microsoft サイト系と GitHub になりがちw #ハッカソンリーグ2021 #Azure pic.twitter.com/tQqSCowstv
— Tanaka Seigo (@1ft_seabass) December 4, 2021
うれしい悲鳴!もうひたすらに、Zoom でビデオ対面で答えたり、Slack でテキストで答えたりといろいろ対応しました。
GitHub Discussions が効果を発揮してきた 1日目夜~2日目 後半戦
1日目の夜はそれぞれの開発となるのですが、いよいよみんな触れはじめて実装し始めると、分からない部分やこうしたい部分がいっぱいでてくる時期です。
このあたりから GitHub Discussions に書き込みが増えてきました。技術メンターがあまり対応できない夜タイミングもこうやって書き込んでくれると、ひとま「見てるよ!」という反応を返して寂しい思いをさせないですし、2日目に向けて文献を準備して、こちらから聞きに行けるので良い流れができたなと思っています。
そして2日目は、このような具体的な技術のヘルプがとても多くなってきました。まずは現場を見ないとなんともなことは先に Zoom を見に行ったり技術メンターチャンネルでお答えしつつ、後で GitHub Discussions にナレッジを残していく形式にしました。
私の Azure Functions と LINE Bot のナレッジも使った方からの質問。うまく動かなかったけれど解決したナレッジも代理投稿としてまとめました。この代理投稿の流れも、イベントの最中にサッと大平さんが GitHub Discussions の使い方をうまく整備してくれたおかげで、いいナレッジ残し方ができました。
2日間はあっというまに終了
さて、そんなこんなで、2日間はあっという間でした。
いろいろなチームをメンタリングを通じてつながれたので、もうみなさんの発表の時は一緒にドキドキしてしまったりデモの時は応援に熱が入ったりと、出来上がるまでの頑張りをついつい感情移入しがち。
ハッカソンの技術メンター無事終わりました!
かなりハイレベルな質問もあり、頑張って並走という感じでしたが、みなさんのプラスになってよかったです。
LINE のナレッジも役に立ったチームもあってうれしかったです。みなさん、お疲れ様でした~~~! #Azure #ハッカソンリーグ2021— Tanaka Seigo (@1ft_seabass) December 5, 2021
このツイートのとおりで、たとえば、自分の得意分野である JavaScript だけではなく、Python まわりの質問が来ることもあり、そのときは分からないこともあるが、できるところで一緒に考えるというメンタリングすることもありました。
はたまた Node.js での Azure Functions であれば await/async の非同期処理+MySQLデータ取得を熱を込めてサポートできるといったような、太刀打ちできるできない様々なサポートを経験させていただきました。
大平さんと私で、 GitHub Discussions の各投稿に Azure をはじめとした技術のタグをつけていたんですが、すごいバリエーションですよね。やり終えてみて、充実感がありました!
わたしとしても、今回はこのように技術メンターとして関われて、みなさんの作品からより Azure の今を知ることができ「こんな使い方もできちゃうんだ!」といった刺激もたくさん得ることができました。
このような機会をいただき、運営の皆様、参加者の皆様に感謝申し上げます!そして、お疲れ様でした!
ありがとうございました!