エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

COVID-19への取り組みに関するリモート勉強会を開催しました & リモート勉強会の気づきまとめ

こんにちは、Androidエンジニアの星川 (@oboenikui) です。

2020年7月9日に弊社では初となるオンラインでのエンジニア向け勉強会「コロナ時代の医療業界を支援するエムスリーのプロダクト開発の舞台裏」を開催いたしました。ご視聴いただいた皆様ありがとうございました!

本記事では、オンライン勉強会の内容振り返りとオンライン勉強会ならではの気づきについて書いていきます。

f:id:oboenikui:20200715001909p:plain

勉強会開催の経緯

弊社ではITの力を活用し、医療を前進させるインパクトのあるプロダクトを生み出し続けるチャレンジを行っています。

このコロナ禍において多くの企業が変革を迫られているのではないかと思いますが、弊社ももちろん例外ではありませんでした。特に医療系のサービスを扱っている関係上、COVID-19に関係するプロダクトを作るなど直接影響を受けたチームも多くありました。

また、ありがたいことに最近は弊社の名前や医療に関係する会社だということは認知されてきているものの、具体的にどのような事業をしている会社なのかはまだ認知されていないという課題がありました。そもそも主要事業は医師向けのプラットフォームで多くのエンジニアには馴染みがないこと、振り返ってみると過去の勉強会などでも技術寄りの話が多く、IT系企業で働かれている方々にも弊社のことを知ってもらう機会を提供できていませんでした。

そこで、

  • 弊社がどのようなサービスをしている会社か、COVID-19に関する取り組みから知ってもらう
  • 技術的な面で、短期開発やアクセス急増に対する対処についての知見を共有する

という2点を軸に本勉強会を企画しました。

発表内容

本勉強会のアーカイブは以下のページでご覧になれます。

www.pscp.tv

また、当日受け付けていた質問は以下からご覧になれます。しばらくは公開しておく予定ですので、ぜひご覧ください。

※ 質問できる状態になっていますが、今後基本的に本ページでの質問に対する回答は行わない予定です。ご了承ください。

app.sli.do

オープニング! (山崎)

VPoEの山崎による弊社のサービスやチーム構成についての説明でした。

そもそもどのようなサービスを運営している会社なのか知っていないとわからない発表もありましたので、サービスの背景を先に知っていただく目的で簡単に紹介させていただきました。

Flutterを使って医師相談アプリを短期リリースした話 (星川)

Androidエンジニアの私星川から、医師相談サービスであるAskDoctorsのアプリを短期間で開発したことについてお話をしました。

Flutterには、クロスプラットフォーム対応やhot reloadに代表されるように高速に開発しやすい機能が揃っています。Flutterを本格的に利用したのは初めてでしたが、それらの機能の恩恵から比較的高速に開発ができました。ハマりどころなど細かい話は時間の関係上できなかったので、別の機会があれば話したいです。

スケーラブルなデータ収集と活用の舞台裏 ~ Web講演会を例に ~ (鳥山)

COVID-19の影響もあり、弊社の医師向けプラットフォームサービスは大きくアクセスが増加しました。データ収集・活用をどのように行い、どのようにスケールさせたかについて、製薬企業向けプラットフォームを担当するエンジニアの鳥山からお話しました。

弊社のクラウド活用状況として、スライド中あるようにデータ基盤はGCP、ユーザーに見える部分のサービスはAWSで動いていることが多いです。実のところ私はデータ基盤やGCPはあまり業務で関わっていないので、社員ながら勉強になりました。

マイクロサービスの性能改善 (高島)

実は、医師向けプラットフォームのアクセス増加に伴い、サイトの性能低下が発生してしまいました。何重にも積み重なった性能低下の原因を探ったときのエピソードや知見について、基盤チームの高島からお話しました。

性能低下の原因を突き止める際、サービス単体の原因なのか、マイクロサービスアーキテクチャ故の原因なのか特定が難しいということがあると思います。それらの原因をどう特定するのか、そしてどう解決するかについてご参考にしていただければと思います。

COVID-19特集ページの裏側 (安江)

医師向けプラットフォームサービスでは、COVID-19に関する特集ページも公開しています。このページの性質上頻繁に更新を行う必要があったのですが、どうやってエンジニアリソースを抑えつつ運用しているのかについて、ニュースなどを運用するエンジニアの安江からお話しました。

急ごしらえで作り始めたページの運用ならではのつらみを、既存のツールをうまく組み合わせて解決するのもエンジニアリングとしての面白みではないかと思います!

オンライン勉強会での気づき

主に配信側視点で今回気づいたことについて挙げていきます。

募集関連

基本的には通常の勉強会と変わりありませんが、リアル勉強会に参加できない方でも参加しやすいことから普段の数倍人が集まります。幸いオンライン配信であればキャパシティも大幅に増えますので、スカスカに見えるのではないか、といった懸念は一旦考えずに定員を多めに設定すると良いと思います。

配信関連

利用サービス

本勉強会はTwitter社のPeriscope(Twitter上ではライブ放送としても知られています)で行いました。YouTubeやZoomウェビナーなども検討しましたが、Twitter上で視聴可能で飛び入り参加しやすいこと、動画を残しやすいことを考えPeriscopeとしました。

f:id:oboenikui:20200716174216p:plain
配信構成

配信してみた結果、connpass上の登録数が383人であったのに対し視聴数は延べ2,600人 (7/15現在) となり、効果を感じられました。また、動画を後で見返せるというのも、自分の発表に対する振り返りができるという点で、登壇者にとってもメリットがありました。

一方で、Periscopeだと待機画面も配信ソフトで流す必要があったり(上図のより高度な配信の構成例参照)、URLを固定できないため事前に案内できないといった欠点もありました。

多様な視聴方法を意識する

一般的な勉強会の比ではないほど多くの方に観ていただけるのですが、一方で特に今回のように勉強会で話す技術のテーマが混在している場合は途中で抜ける方も多くいらっしゃるということを痛感させられました。

もちろん勉強会主催側としては通して視聴いただけると嬉しいのですが、参加者側としては興味のあるセッションだけ視聴できるのも気軽に参加できる理由の1つだと思いますので、セッションごとにTwitterで告知をするなど主催側で工夫や配慮をするのが良いと感じました。

また、スライドを見ずに作業をしながらセッションを聴く、といった参加方法を取っている方もいらっしゃるのではないかと思います。普段の勉強会以上に、トークで理解できるセッションを心掛ける必要があると考えます。

安定して配信するために

配信前に最も注意したことの1つにマイク音量があります。他の勉強会を聞いていて、折角良い話をしていても、マイクが遠くて話に集中できない発表というのをいくつか見てきました。

自分の話し声がちゃんと届いているのかリアルタイムには確認しづらいので、開始直前にスピーカー全員に点呼を取って、話し声の大きさにばらつきがないかを確認しました。

また、配信方法もシンプルに、普段使い慣れているZoomから直接Periscopeに流す形にしました。

これらの考慮の甲斐あり、初配信ながら比較的安定して配信できていたと思います。

放送事故を防ぐために

ライブ配信とはいえ動画として残るものなので、完成された動画を一発撮りするような緊張感がありました。そのため主題とは外れる連絡等を動画内で行うのは避けることが望ましく、そのような連絡はSlack上で行うと事前に決めておき、裏で多く連絡を取り合っていました。事前に緊急時にどこで対応するかを決めておくと、配信中バタバタすることがなく "放送事故" を減らせます。

今後の勉強会について

エムスリーでは今後も定期的にリモート勉強会を開催していく予定です。配信方法が今回と異なる勉強会も予定しておりますので、勉強会ごとにconnpassでの登録はお忘れなく! また勉強会情報はTwitterでもシェアしますのでぜひチェック・フォローもお願いします!

We are hiring!!

エムスリーでは、今回紹介した事例以外にもCOVID-19に対する取り組みや、様々な医療を前進させるためのサービス開発を行っております!

エンジニアとして医療に携わりたい方、興味のある方は、ぜひ以下よりカジュアル面談をお申し込みください!

jobs.m3.com