dip Engineer Blog

Engineer Blog
ディップ株式会社のエンジニアによる技術ブログです。
弊社はバイトル・はたらこねっとなど様々なサービスを運営しています。

New Relicをチームの共通知識にしていくための取り組み!勉強会をしよう

はたらこねっとを開発しているサーバサイドエンジニアの平尾です。

私たちのチームでは、New Relicを活用しサービスのメトリクス収集や生産性の可視化に取り組んでいます。 その取り組みについてはPHPカンファレンス2022でも大塚がLT発表させていただきました。よろしければご覧ください。

developer.dip-net.co.jp

一方でチームメンバーの中でもNew Relicに対する知識が均一でなく、属人的になっている問題があります。 チームをリードする立場としてはオブザーバビリティの改善を行い、次に行うアクションをメトリクスを見ながら判断できるメンバーを増やし、属人性を排除していきたい思いがあります。

そこで私たちのチームでは書籍を用いた勉強会を実施し、New Relicの知見を共有して行っています。

読んでいる本

New Relic実践入門 監視からオブザーバビリティへの変革 を読んでいます。

幸いなことにこの本をNew Relic Japan様からチームメンバーの人数分献本していただきました。 この場を借りてNew Relic Japan様に感謝を心より申し上げます。

進め方

輪講形式を採用しました。下記の記事を参考にしています。

design.visional.inc

発表単位は10ページ程度で調整しています。 理由としては業務に関連する知識なので、なるべく業務時間内に収まるようにしたかったためです。 私が試しに読んでまとめたところ、10ページ読んでまとめるまでに2時間程度で収まったので、業務とのバランスをとってこの調整としています。

具体的な進め方としては下記でやっています。

  • 当日までの準備
    • ミーティングを設定する(週1回、大体お昼休みの後の13:00〜13:30に入れています)
    • 発表担当者は担当箇所について読み、DocBaseに読んだ内容をまとめる
    • 参加者は同様の範囲を読み、意見・疑問点をメモしておく
  • 当日の流れ
    1. 発表担当者が10〜15分程度発表する
    2. 参加者から5〜10分程度、挙手制で意見・疑問点を話してもらい、ディスカッションする
    3. 次回の発表担当者と10ページ程度の担当範囲を5分くらいで決める

反応として

今年の新卒者や若手エンジニアのメンバー中心であることもあり、そもそもベースとなる要素自体についても学びになっているようです。 メモに残っているチャットから抽出した文章を多少表現を直した上で、いくつか紹介させていただきます。

  • 収集、分析、可視化の大切さを知りました
  • Metrics, Events, Logs, Tracesなどの概念を知ることができました
  • サンドボックスで用意しているダッシュボードを使ってみたいと思いました
  • そもそもGraphQLという技術があることを知りました(NerdGraph APIからの広がった話でした)

実施してよかったこと

担当者が本を読んでまとめるだけでなく、それ以上のチャレンジができていました。 実際にプロダクトで利用しているダッシュボードやAPMのグラフを読みにいき、その意味や読み方についても担当者が発表していました。 意欲的に自分自身の知識を深め、活動できている点は予想以上でした。

このうちとても良かったこととしてNew Relic OneアプリケーションをReactで作ることができるのですが、話を聞いたメンバーが実際に溜まっているデータをテキストボックスの入力値でフィルタするようなものを作り、プロダクトのデータ分析に活かすことができていました。

詳細については下記の記事をご覧ください。

(TODO: 12/14に大塚さんがNew RelicのQiitaアドベントカレンダーの方に投稿するようなので、そちらをリンクします)

まとめ

まだ書籍を読み終わっていませんが、少しづつチーム内でもNew Relicを使えるよう知識を蓄えています。

一方で、書籍に載っている情報は古くなるため、概念的に理解することや継続的に学び続けることについては課題感があります。 ありがたいことにNew Relicはリアルタイムでどんどん改善されているサービスなので、新しくなった機能や活用方法についてチームメンバー間で共有し合えるような風土にできると良いなと思っています。

私たちのチームでは、まずこの本を読み終わることを目標としています。 チームメンバーが実際にNew Relicを活用していくことでより強固な理解に繋げていけるよう、これからもチームで取り組んでいきたいです。