リモートワーク環境での勉強会、みんなどうしてる?VOYAGE GROUP の読書会について紹介します!

こんにちは!fluct でインターネット広告配信のお手伝いをしている @jewel_x12 です!今日は VOYAGE GROUP における、リモートワーク環境での勉強会について書きます。

VOYAGE GROUP では以前から勉強会を実施しています(例えばReactハンズオンなど)。部署や若手・シニアを問わず、社内バーの AJITO 等に集まってワイワイやっていました。COVID-19の状況が収まらない今のご時世ですと、AJITO でワイワイってのはできなくなっています。

なので勉強会もオンラインでせざるを得ない状態です。そんな中、みなさんはどうやって勉強会を進めてますか?VOYAGE GROUP ではリモートワーク環境でも社内勉強会が活発に行われているので、その様子を紹介できたらと思います。

社内では論文読み会などの勉強会も行われていますが、読書会だけでもたくさんあったので、今回は読書会の様子を社員にアンケートしてみました。

先にまとめ

紹介する数が多いので、まとめを先に書いておきます。

VOYAGE GROUP の各読書会は社員が自発的に開催していて、読む本や時間を決めてから、チーム内外のメンバーで読み進めています。リモートワーク環境になってからは Google Meet 等を介して読書会をしています。読書会の進め方は、本を事前に読んでくるパターンと読書会の中で一定の時間をとって読むパターンがあります。どの勉強会も、読んだ内容について議論する時間がとってあります。『失敗から学ぶRDBの正しい歩き方』では著者の @soudai1025 さんが参加してくださったり、『Clean Architecture』『Clean Agile』などでは技術メンターとして @t_wada さんが解説してくださっているものもあります。1人ではなく複数人で読むことで、自分では気づかなかった点に気づけたり、より発展的な事柄について考えを巡らせることができていました。より立体的な読み方となり、これぞ複数人での読書会の醍醐味という感じですね。

では、読書会の様子を本の感想と併せて読んでみてください!

読書会の紹介

失敗から学ぶRDBの正しい歩き方

gihyo.jp

感想文を書いた人: ぐり

どんな本?

Webシステムの開発・運用時のRDBアンチパターンがまとめられた本です。 各アンチパターンの説明・対処方法についてわかりやすい例を示しながら解説してくれます

読書会の進め方

毎週 1 章ずつを読んできて、その章について解説や発表を行う形でした。 該当章の確認を一通りしたあと、著者であるそーだいさんからの解説があります(すごい)。 そして、毎週決めた発表者が該当章のアンチパターンについて、実際のプロダクトのDBを絡めて感想を発表するという流れで実施していました。

読んだ感想

アンチパターンについての本は色々とありますが、実際に自分が直面して経験しないと、本当の意味で理解するのが難しいと思います。 今回の勉強会では、自分や他の人の発表を通して実際に動いているプロダクトの問題として理解を深める機会となってよかったです。

身近なプロダクトの例を元にアンチパターンについて議論でき、さらに著者の @soudai1025 さんの解説まであるのは濃い読書会ですね!アンチパターンが身にしみそうです。


Clean Architecture 達人に学ぶソフトウェアの構造と設計

www.amazon.co.jp

感想文を書いた人: @yuunoza

どんな本?

みんな大好き、同心円と右下の矢印の図の図で有名な本。あの図に囚われるのではなく、保守改善を行いやすくするためのソフトウェアアーキテクチャのルールとプログラムの構成要素の組み立て方について学ぶ。

読書会の進め方

(毎週1時間 or1週間に1時間)、曜日と時間を固定して希望者が Google Meet に集合。 15 分程度できりのよいところまで読んで、その後の 15 分で @t_wada さんによる背景を含めた説明や、各自の気になった点、実際の事業部の実例と照らし合わせた内容について議論する。

読んだ感想

『Clean Architecture』 でよく言われていた図は知っていたものの内容はあまりわからなかったし、どう参考にすればよいのかがあまりわからなかった。 しかしながらそこは本質ではなく、依存の方向の関係と、その関係を成立させるための方法について記述されていると受け取った。 この見方を知って、業務中に書く小規模のコード内でも試すことができた。 設計やコードを各段階で、読む以前には取れなかった選択肢が増えたようには思う。 すべてをやろうとすると大掛かりになってしまう印象も強いので、部分的に導入しつつその目線を持つことができたことがよかったと思う。

読んだ内容を実プロダクトで小さく試せているところが良いですね。書いてある内容の背景まで @t_wada さんに説明していただけているようです。


体系的に学ぶ 安全なWebアプリケーションの作り方 第2版

wasbook.org

感想文を書いた人: @shu22203

どんな本?

Webアプリケーションの様々なレイヤーにおいて発生しうる脆弱性について、どのように攻撃されるのか、なぜ脆弱性が発生するのか、どのような対策をどのレベルまですればいいのか、などが網羅的に解説されている本。用意されている脆弱性のあるサンプルアプリをVMで立ち上げ、脆弱性診断ツールであるOWASP ZAPなどを用いて実際に自分で攻撃手法を体験することができる。

読書会の進め方

区切りの良いところまで皆で黙読して読み終わったら、よく分からなかった部分などについて議論・深堀りしました。実際に発生した他社事例を紹介したり、各事業部のプロダクトにおいて発生しうる脆弱性かどうか、対策がなされているかなどをわいわい話し合っていた。

読んだ感想

絶対に知っていなければいけない脆弱性から、気を付けなければついつい発生させてしまいそうな脆弱性、古いブラウザのみで発生するマニアックな脆弱性まで紹介されていて面白かった。と同時に、あらゆる環境で全ての脆弱性を完璧に防ぐのは難しいので、最悪攻撃されたとしてもすぐに気付けるように監視をする、致命的な被害を被らないようにしておく、といった対策も本当に大事だと思った。

いわゆる徳丸本ですね。各事業部で発生しうる内容かどうか議論しているところが、学んだ事柄をすぐに役立てていて良いですね。 VOYAGE GROUP では以前から徳丸本の勉強会をやっています。


Design It!

www.oreilly.co.jp

感想文を書いた人: 新妻

どんな本?

『Design It!』 はプロジェクトのシステム・アーキテクチャの設計・運用・開発上で出てくる様々な課題を解決するためのツール、及びその適用パターンをフェーズ毎に紹介しつつ説明を行ってくれている本です。各章毎にフェーズ毎の思想・ツールやパターンが紹介され、章の最後にはLionHeartという架空のプロジェクトを例にしてどのようにそのパターンが適用されたのかというストーリーが展開されます。本書はいきなりアーキテクチャの設計から始まるのではなく、品質特性やマインドセットの思想部分の解説から始まり、ステークホルダーが求めているビジネス目標、アーキテクチャに求められるもの = ASR(アーキテクチャ上の重要な要求, Architecturally Significant Requirements)の策定という、どのような判断基準でアーキテクチャを設計・選択するかのプラクティスについて述べています。 そのあとでどのようなアーキテクチャがあるか紹介し、モデルを策定してアーキテクチャの複雑さを捉えやすくするといったアーキテクチャの設計段階の話があります。 本の締めとして、設計判断に対する合意形成、設計判断の可視化、そしてチーム全体でアーキテクチャスキルを向上させるというアーキテクチャ選択後の資料作成やチームビルディングの話があります。 また本書の最後の1/3はそれぞれの設計のフェーズ毎に必要なツールの一覧が掲載されており、その中にはCRCカードの作成デリゲーションポーカーインセプションデッキのツールも掲載されています。

読書会の進め方

社内の技術アドバイザーをしてくれている @t_wada さんと社内の本書に興味のあるメンバーが毎週同じ時間に集まって1時間で本を読み進めます。 事前に読み込む必要はないので読書会メンバーは準備がいらないので気軽に参加が可能です。

  1. 大体10 ~ 15分程度で読み終わりそう、かつキリが良いところまでのページを確認する。
  2. 確認後に黙読し、読み終わった人はそれぞれ読み終わったことをチャットなどで連絡。
  3. 全員が読み終わったことを確認したら、 @t_wada さんが頭から要点をまとめつつ解説や時代背景などの広い見識を伝える。
  4. 文章中に気になった部分があった人は3の途中や最後に共有し、全員でその疑問について議論をする
  5. 気になった部分がなければ時間が許す限り1に戻る。

読んだ感想

『Design It!』を読む前には @t_wada さんと一緒に『Clean Architecture』の読書会をしており、堅牢で柔軟なアプリケーションを作成するためにソフトウェアアーキテクチャに対しての見識を更に広めたいと考えた上での延長線上で『Design It!』を読むことになったのがこの本でした。 しかし『Design It!』はアーキテクチャのパターン紹介の枠にとどまらず、そもそもアーキテクチャを設計する判断に必要な品質特性の考え方やマインドセットの持ち方について記述されていました。当初期待した内容より更に広いスコープでアーキテクチャについて記述されており、そのことについて驚いた記憶があります。本書を読み進めていくと当初期待した内容のアーキテクチャの選択やパターンの話に触れられる前に、アーキテクチャの設計をする前に必要な項目が体系立てて紹介されていました。 そこで「ステークホルダーによって期待されている品質があり、それを満たすためにアーキテクチャを選択する」という至極当然のことが書かれていますが クリーンアーキテクチャを読んだ後でHowの部分にばかり目が移っていた自分を気づかせてくれたのを覚えています。品質特性、デザインのマインドセットなど設計前段階の話、設計後の話についても盛り込まれており『Clean Architecture』では述べられていなかった知見を得られたのは個人的にはラッキーでした。 プロジェクト上の様々なフェーズに対応しているのでアーキテクチャの設計に関して迷ったら改めて本書を手にとってみたいと思っています。

『Clean Architecture』読書会で学んだことも交えた発展的な感想になっていて、勉強会での学習結果を積み上げているというのがよく分かりますね。 10~15分程で決められたところまで読んで、その内容について話すというパターンは事前準備がゼロなので気軽に参加できそうです。


データ指向アプリケーションデザイン - 信頼性、拡張性、保守性の高い分散システム設計の原理

www.oreilly.co.jp

感想文を書いた人: かいくん

どんな本?

データ量、複雑さ、変化の速度が課題となるアプリケーションを支える技術について紹介されています。データモデル、ストレージ、エンコーディングなどの各領域で行われてきた課題と対策の歴史を、ツールと共に学べます。

読書会の進め方

キリの良いところまで黙読し、黙読した箇所について参加者で議論するように進めています。

読んだ感想

NoSQL、列指向ストレージ、RPCなど、よく見聞きする技術について網羅的に学べて良いです。参加者同士で行う議論では、実際に利用している方の意見が聞けることもあり、より実践的な見解が学べています。 また、この本では章のはじめに、技術領域を表した地図が記載されています。この地図を見ながら、これから何を学んでいくのか談笑することも、この読書会の楽しみです。

楽しんで読めている感じが伝わってきます。最後に書いてある『データ指向アプリケーションデザイン』の地図はポスターとして売られていた時期もあり、社内のどこかに貼ってあるようです。


レガシーコードからの脱却 - ソフトウェアの寿命を延ばし価値を高める9つのプラクティス

www.oreilly.co.jp

感想文を書いた人: r-miyamae

どんな本?

レガシーコードを生み出さない、つまり保守可能なコードを書くにはどうすれば良いかを具体的なプラクティスと共に学べる

読書会の進め方

はじめは週に一回、後半は週に2回Google Meetで集まり開催していました。まず15分ほどキリの良いところまでそれぞれ黙読します。その後、読んだセクションのプラクティスや考え方を自分が働いている中でどう実践しているか、もしくは実践できそうな部分があるかなどを黙読のたびに交代で話し、他の人もその話に乗っていくという感じで進めていました。

読んだ感想

書いてあるプラクティスはよく聞くようなエクストリームプログラミングのプラクティスで、そのプラクティスが何を目的として存在するかが事前に説明されているので頭に入ってきやすかったです。輪読会に参加しているメンバーはチームがそれぞれ違います。挙がったプラクティスを実際に実践しているか、また実践するならどういう場面で活きそうかをお互いに話すことによって、より深堀りができ1人で読むよりも得るものが多い本でした。

こちらも複数人で議論して、内容の理解をさらに深めることができているようでした。


Clean Agile 基本に立ち戻れ

www.amazon.co.jp

感想文を書いた人: @akkiihs

どんな本?

「基本に立ち戻れ」というメッセージ性があるように「アジャイルとは何か?」「アジャイルの歴史」を知ることができる、ボブみのある一冊です。

読書会の進め方

毎週水曜日に1時間枠内で、10-15分程度で同じ部分を読み進め、その後、「これってどういうこと?」「あれってこういうことだよね」とか疑問や確認して進めてます

読んだ感想

普段、アジャイルを実践している身ではでないんですが、どういう想いでアジャイルマニフェストが創られ、執筆時どう感じていたのかを知ることができた1冊です。「基本に立ち戻れ」と伝えているのは、アジャイルソフトウェア開発宣言から約20年経ち、きっと誤解による失敗談などを聞いてきたからなのかなと。 アジャイルには様々なプラクティスが存在します。ただ、本書にもあるように、それはあくまで "補助輪" であり、いずれチームや組織が目的に向かっていけるように自走していかないといけない。 そういう意味では、原則や規律を「ただやる」だけじゃなくて、「なぜやるのか」「それは自分たちのチームに合ってるのか」をフィードバックループを繰り返してアップデートしていかないとな、と感じます。もし「ビジネスと開発の間に溝がある」「開発がうまく回っていない」と感じているのであれば、1人で読み始めるのではなくチームや組織で読み始めると良さそうです!

こちらも @t_wada さんと読み進めた本になります。ボブおじさんこと著者の Robert C Martin さんの力強い文章が印象的です。


以上、社員からの読書会の紹介と感想文でした!

[PR] サマーインターン「Treasure」エントリー募集中です

先のまとめにもあったように、VOYAGE GROUP ではリモートワーク環境でも自発的に勉強会を進めていて、部署やジュニア・シニア問わず学び続けられる環境にあります。そんな学び続けられる環境を体験できるサマーインターン「Treasure」のエントリーを大募集中です!本記事で VOYAGE GROUP に興味を持ってくださった方、是非エントリーしてください!

voyagegroup.snar.jp