こんにちは!LINEのDeveloper Relations活動としてCulture Evangelistをしている櫛井です。
GW皆さんいかがお過ごしでしたか?今回は、GWの時間を利用して、業務とは関係ない自由研究をしてもらい、発表会を開催してみたら盛り上がったという話をお届けします。
私は普段、社内外のエンジニアと接する機会が多いのですが「何かを作る」ということに情熱を持った人がエンジニアには多いなと感じてます。今年のGWは出かけることもままならないし、わりとおうち時間を持て余している人も多いかも?というのと、エンジニアの雑談チャンネルで見かけた「ここでGWの自由研究を宣言する事によって、やる気を出すハック」という言葉で”業務と関係ない自由研究発表会”を開催しました。
LINEでは色々な情報をまとめるために社内Wikiを活用しているので手短に企画概要を書いて参加者を募りました。
実際に書いたのがこちらです。適度にゆるくしつつ、テーマを問わず気軽に参加してもらえるように告知をしました。
エントリ方法はWikiページに名前とタイトルを入れるだけ。開催時間は、基本的にはフレックスで勤務している人が多いので、ある程度仕事が終わっていそうな17時からとしました。そして発表するからには聞いてほしいので"聞くだけの方も大歓迎"という形で募集をしました。GWの1週間前に公開して、結果的に20人の発表者と80人の視聴者が集まりました。
参加者とは専用Slackチャンネルを使ってコミュニケーションを行い、GW期間中も進捗を共有・報告しながら各自が自由研究に取り組みました。
発表概要
集まった発表内容はこちら。タイトルだけでワクワクするようなもの、技術的に尖ってそうなもの、様々な自由研究が集まりました。
- DNSとPrometheusで何か
- After EfectsでホログラフCG動画を作ってみよう
- 多分Podcast始めようかなと思いました
- midiと歌詞からmusicxmlを生成してNEUTRINOに渡して幸せになる
- Paper.jsで計算幾何学
- Linux × SKKの環境整備 2020版
- 歩く OPPO Find X
- DiscordとElectronで音声通話情報を表示するツールを作りたかった話
- SwiftでNand2Tetris
- PodCastやりたい
- 小学生にドヤりたい大人のためのScratch Extensionの作り方
- スクショから自動で情報を読み取るポケモン対戦支援ツール作る
- Flutterで自前のカレンダーを作ってみます
- 電子オーボエをつくる
- Gmail Filter as Code
- オンライン会議と音声認識 (難聴者視点の音声会議をベースに)
- pug と codemirror で mock-up ツール
- Rustで最小のゲームフレームワーク開発
- IoT と Web を組み合わせて、コロナ対策系の内容やる
- Youtuberになる方法
- いい感じのミュージックプレイヤーを作りかけている話
当日の準備と本番開始
Zoomを使ってプレゼンをする機会に慣れていない参加者も多かったので、当日は事前に接続テストが出来るように、Zoomの練習部屋を数時間開放しました。
【Zoomプレゼンの落とし穴】
- 発表者の声が小さくて聞こえない、近すぎて音が割れてる
- プレゼンモードにすると間違ってプレゼンメモ画面を共有してしまう(ディスプレイの設定が必要)
- 動画やサンプルで作った音が流れない(画面共有時に設定が必要)
- 思っていた画面サイズで共有されない
LT大会では、テンポよい進行が大切なので、事前の接続テストはしっかりと行ってもらいました。
発表会をスタートしてからは、タイムキープは運営の一人がタイマーをずっと画面に出しておくというアナログな手法で進行しました。
登壇ルールはシンプルに、5分経過すると画面共有を強制終了。飛び込みも含めて合計20のLTが約2時間で行われました。
アンケートの結果
発表者と参加者にはアンケートをお願いしまして「満足した」「非常に満足した」で100%となりました。ここでは、特に参加者からの評判が良かった自由研究TOP3を共有したいと思います。それぞれ発表者から、発表内容やこだわったポイントなどを聞いてみました。
第3位「歩く OPPO Find X」
OPPO Find X という、カメラを起動すると、カメラ格納部が物理的にせり出す端末があります。その端末の裏側に適当に養生テープを貼り、カメラの起動・停止を繰り返すことで端末を歩かせました。WALK モードと RUN モードの2つのモードがあり、それぞれ 秒速0.2mm, 秒速1.25mm もの速度で前進することができます。余談ですが、今回の発表会の中で、準備に一番時間がかかっていない発表だと思われます。
1位は同率で2つありました。
1位 1つめ「スクショから自動で情報を読み取るポケモン対戦支援ツール作る」
今回はブラウザで動くゲーム支援ツールという初めてのテーマに取り組みました、データの取り込みハードルを下げるために、画像解析やハイパフォーマンスな並列化を求められ、普段業務で行わないコーディングの課題を倒すことに。自由研究として、面白い取り組みでした。オープンソースにもしてあるので、 Nuxt.js + TypeScript の設計例としてもどうぞ。 https://github.com/potato4d/pokemon63
余談ですが、自由研究の成果として、パーティからドヒドイデが抜けてサニーゴが入りました。
Web Worker を使ってブラウザ上でポケモンの画像を解析したい! / Pokemon recognition from screenshots in browser using web worker - Speaker Deck
1位 2つめ 「Paper.jsで計算幾何学」
元々はベクターデータを扱うライブラリ「Paper.js」を使って計算幾何学について自習するということをやろうとしていたのですが、なぜか勉強のためのコードエディタを作ろうと思い立ってしまい、いつの間にかJupyter NotebookみたいなJavaScriptライブエディタが出来上がってしまいました。楽しかったです。余談ですが計算幾何学の勉強は進んでいません。
https://github.com/spring-raining/asteroid
以下は、寄せられた感想を抜粋しました。
- 多様性があってめっちゃ面白かった
- いろんな方がいろんなチャレンジをされていておもしろかったです、LINEはいろんな開発者がいるんだなと感じました。
- 業務とかけ離れてそうな発表が多くて刺激が多かった。
- 社員同士が仲良くなるきっかけになっていいですね。オフラインでも開催して欲しい
- 全体的に良かったです!そして、発表すればよかった...
- おもしろかったです、他の大型連休でもやりたい
- 皆の想像力とやりきり力に感銘を受けました。とても楽しかったです。
また次の大型連休でも、実施してみようと思います。