Paper2 Blog

ともに、かける

SREチームのメンバになって1年経過した

転職して今月で1年が経ちました。あんどぅさんのふりかえり記事を読んでこういうの大切だよな〜と思い自分も個人的な振り返りを書いてみることにしました。

note.com

筆者の略歴

  • 2017/04 SIerでインフラを主軸としてモダンな技術の活用促進・技術支援
  • 2022/08 Sansan株式会社のBill OneプロダクトのSREチームに参画

SREチームの業務

私はプロダクトのSREに所属し、Sansan株式会社の提供するインボイス管理サービスBill Oneの信頼性向上を目指しています。SREチームだけがBill Oneの信頼性を向上していく組織だとスケールしないので各開発チームも信頼性に向き合います。SREチームでは各開発チームが信頼性の向上をより効率的に行えるようにする仕組みや文化作りに焦点を当てて活動をしています。詳細は以下の記事もご覧ください。

buildersbox.corp-sansan.com

それでは私がやってきたことを振り返っていきたいと思います。

Site Reliability Engineerとしてやったこと

主に以下の活動をしてきました。

- SREチームのミッション定義
- 負荷試験を用いた性能問題の解消
- オブザーバビリティの向上
- 各サービスでSLI/SLOを導入
- 採用活動

私はSRE NEXT 2022 Topotal TakamuraさんのKeynoteの「さまざまな形があるSREが組織で活動をしていく上でMission/Vision/Values(MVV)を定義することが大切」という話にとても共感していました。そのため入社後落ち着いたあたりでMVVを作ってみたいと提案し、ミッション定義などを推進していきました。詳細については以下スライドをご覧いただければと思います。


また利用者が増えていく中で高負荷時に性能問題も発生しました。そこで負荷試験による原因分析も実施しました。これは、、、マジで辛かったですww 先の見えないマラソンを全力疾走し続ける感覚でした。最終的にDBのログ量が多くなりすぎたことが原因だと判明し、改善することができました。この問題の難しいところはGCPの提供するメトリクスやログなどから我々ユーザ側では原因を特定できないことです。詳細については以下スライドをご覧ください。


性能問題に向き合う中で組織のオブザーバビリティに課題があると感じました。特にトレースの活用余地が多くあったためApplication performance management(APM)製品の導入により課題を解決していくことになりました。ただ、私は後述するBill Oneビジネスカードの案件に参画することになり製品選定は他のメンバが主導しました。そのタイミングでオブザーバビリティ・エンジニアリングという神本に出会えたのも本当に良かったです。選定する中でオブザーバビリティの理想を持ち、それが実現できそうかという観点で皆んなで評価できたのは良かったと思います。

APMを導入しても課題はまだたくさんありますが形になってきた状況です。この話についてはSRE NEXT 2023で紹介予定です!!SRE NEXTは自分の憧れのイベントで、「いつか出られるように頑張るぞ〜」と思って活動をしてきました。感慨深いです。

インフラが得意なエンジニアとしてやったこと

あえて、Site Reliability Engineerとは別に書きますが以下のような活動をしてきました。

- Bill Oneビジネスカードのインフラ設計・構築
- IaC推進チームの立ち上げと推進
- 新規サービスなどでのインフラ関連の相談対応

Bill Oneビジネスカードは他のマイクロサービスと要件が大きく異なることもあり私や他のメンバがスポットで案件に参画しました。めっちゃ大変でしたが自身が設計・構築したシステムがビジネスになっているのはこの上ない喜びでした。Bill Oneの事業成長を目指してSREの活動をしてきてはいますが、指標としては見えづらい部分もあります。自身が根幹を担ったサービスが具体的な売上に繋がっているのが見えるのはとても嬉しく、エンジニア冥利につきる案件でした。

他にもメイン業務以外での活動としてIaC推進チームの立ち上げもしました。組織の課題解決をしたいメンバが任意で集まって、ワイワイしながら改善していけるのが楽しくて仕方ないです。Bill Oneの大好きな文化の一つです。詳しくは他の立ち上げメンバが書いた以下ブログをご覧ください。

buildersbox.corp-sansan.com

見習いバックエンドエンジニアとしてやったこと

前職からインフラ周りが主軸過ぎることに危機感を感じていました。現職も自身の強みを活かすとアプリケーションを書く機会が少なくなるためプライベートで勉強して、色々な工夫をしてボールを取ったりしています。多くはないですが具体的には以下のような部分でコードを書いてBill Oneに貢献できました。見習いバックエンドエンジニアとしての実績は解除できたのではないかと思い込んでいますww

- Go
  - Bill Oneビジネスカードの根幹サービスを師匠と一緒に実装
  - エラー運用サービスの機能追加
  - JavaScriptのCloud Functionsを他のメンバと一緒にリプレイス
  - OpenTelemetryで計装をしたサンプルアプリケーションの作成
- Kotlin、Ktor
  - 特定データの削除バッチAPIの実装

組織のプレゼンス向上施策

以下のように組織のプレゼンス向上にも積極的に関われました。

- 登壇
- 自社テックブログでの連載企画

登壇数は2回と多くはないですが初登壇に挑戦できたので自分的にはよくやったなという感想です。GCPでの登壇が次の大きなイベントのお誘いに繋がったり、経験が活きてSRE NEXTのプロポーザルも採択されたりと次に繋がっている感もあったりします。

また開発組織のブログリレーも企画しました。「Sansan Tech Blogを7本以上執筆する」という目標を157%で達成できました。まあまあ広まった記事はあったのでこちらもプレゼンス向上には一定効果があったと思います。何より皆んなで祭りごととしてワイワイ記事を書けたのが楽しかったです。

buildersbox.corp-sansan.com

メンバの成長

私の組織はフラットで皆んながリーダーシップを持つのが前提です。テクニカルリードもやっていますしリーダーシップも発揮していますが、リーダーではないです。それでも他のメンバの成長をサポートするのも大切な仕事です。例えば以下のようなこともやっています。

- メンバに挑戦の機会を積極的に提案する
- パニックゾーンにならないかはめっちゃ聞く
- 全力でサポートする

これからどうするか

プロダクトのSREなのでメインではBill Oneの信頼性を向上する活動を続けると思います。各チームが信頼性を向上できるより良い仕組みなどを作っていきたいです。一方である程度落ち着いてきたら大きな課題をSREチームで直接解決していき信頼性を向上することもやっていきたいです。継続してバックエンドエンジニアとしてのスキルも少しづつ磨いていきたいです。

また関わる範囲も徐々に広げていけると良いなと思います。最近だと営業から相談を受ける接点もできています。そのようにBill One事業を推進する様々なメンバと関わってより組織を俯瞰した良い施策を検討していけると良いなと思います。

まとめ

結構色々やってこれたなと思っています。そして、本当に良い組織に転職できたなと思います。日々自身の成長を感じており、転職の目的は大きく達成できています。毎日めちゃくちゃ楽しいです。当然辛いこともありますが成長痛だと思っています。今後もBill Oneの事業を成長させるべく、頑張っていきたいと思いまっす!!