見出し画像

リモートでも継続!技術書輪読会の1年を振り返る

こんにちは。 Showcase Gig でエンジニアをしている、すずしん(@suzushin54)です。

今日は、エンジニアを中心に行っている当社の技術書輪読会を紹介します。

概要

Showcase Gig では、2020年から毎週、技術書の輪読会を行っています。

輪読会では毎回、1人あたり20ページを目安に担当者を割り当てておき、Confluence や スライドに内容をまとめて発表、ディスカッションを行います。

また書籍は自分で買ってしまう人もいるのですが、当社のスキルアップ支援制度の1つである書籍購入サポートもフル活用しています。

画像1

背景

当時、主力事業であるモバイルオーダーの急速なニーズの高まりを受けて、プロダクトをすばやくグロースさせていくことが求められていました。そのためには、よりメンテナンス性の高いコードベースに変えていく必要がありました。

また事業拡大に伴いエンジニアも急増。異なる経験を持ったエンジニアは、「良いコード」や、「アーキテクチャの理想形」にギャップがあることもわかりました。

そのギャップを埋めて共通認識を持ち、自分たちのプロダクトをメンテナンスしやすく、開発しやすい状態に変えていきたい。輪読会は、そんな想いを持った有志によって始まりました。

これまでに読んだ書籍

当時のプロダクションコードはいくつかの問題を抱えていました。トランザクションスクリプトにおけるビジネスロジックの重複、Fat Controller、抽象化されていないDBアクセスなど、いわゆる技術的負債と呼ばれるものです。

コードを改善して負債を返済していくにあたり、まずは「目標とする形」の認識を合わせる必要があります。そのため、オブジェクト指向プログラミングとドメイン駆動設計の理解を深めて、必要に応じて適切に利用できる状態を目指しました。

そんな理由で最初に選択したのは、『現場で役立つシステム設計の原則』です。 こちらの書籍は、オブジェクト指向やドメイン駆動設計の専門用語こそ出てこないものの、その考え方や思想がとてもわかりやすく書かれています。そういった設計手法の経験があるエンジニアにも、まだないエンジニアにも、とても好評でした。

現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法

1冊目を終えて話し合ったところ、次に学びたい技術領域として複数の候補が出たため投票で決めることにしました。 その結果、アーキテクチャについての理解を深めたいという意見が多く、選ばれたのがこちら、通称クリーン・アーキテクチャ本です。 とりわけプラットフォームのチームでは新たなマイクロサービスを次々と作り出している段階。アーキテクチャについて思いを馳せる日々を送っていたため、とても刺さったようです。

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

コード改善のためのファーストステップである「目標とする形」がわかりました。 続いて、どのように改善を進めていくべきかを学ぶべきであるという理由から、『レガシーコード改善ガイド』を読むことに決まりました。メンバーの1人が以前の現場でこの本を片手に大規模リファクタリングを遂行したという後押しもありました。 具体的な改善手法のほか、後半になるにつれてエモくなっていくタイトルも共感を呼んでいました。

レガシーコード改善ガイド

そして現在進行系で輪読しているのが『データ指向アプリケーションデザイン』です。 プラットフォーム戦略がより一層本格化し、信頼性や可用性について、もう一歩踏み込んで考慮する必要が出てきました。また当社のモバイルオーダーサービスはオンラインとオフラインをつなぐ独特な難しさのあるシステムです。分散システムについての問題は常に付き纏いますから、この書籍で理解を深めているところです。

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

始めてみてどうだったか

当初は「とにかく始めてみよう」と、5,6人の有志によって始まった輪読会でしたが、継続しているうちに参加者が増えていきました。そして新しく入社したエンジニアにも自然と輪読会を紹介する流れができて、いまではチームを超えた交流の場にもなっています。挑戦してみることの大事さを学んだ出来事でもありました。

また、1人あたり20ページ程度と決めていた担当範囲も、書籍によっては調整が必要であるとわかりました。たとえば『データ指向アプリケーションデザイン』などは多くのエンジニアにとって初めて学ぶ事柄も多く、どうしても説明や理解に時間を要します。これは日々の進捗を見て話し合い、分量を変更しながら進めています。

ふりかえり会

書籍を読み終えるたびに、ふりかえり会を実施しています。

ふりかえりのフレームワークは有名な KPT ではなく、YWT を採用しています。これは、Y: やったこと、W: わかったこと、T: 次にやること(やりたいこと)を出し合ってディスカッションするものです。今回は特定の問題解決ではなく学習のふりかえりですから、とても相性の良い方法でした。自然と自分たちの理解度や課題が見えてきて、次にやることの候補も絞られてきます。

また次にやること(やりたいこと)の意見として、「実際に手を動かして学んだことを試してみたい」、「ハッカソンのようなイベントを行いたい」といった実践の案が出てきました。これらはスピンオフとして実施することで、輪読会は継続して実施しています。

最後に

2年目に突入した Showcase Gig の技術書輪読会は、今後も継続していきます。良い書籍がありましたら、ぜひ教えてください。

Showcase Gigで急成長するプロダクトを一緒に作る仲間を募集しています!


この記事が気に入ったらサポートをしてみませんか?