Upgrade to Pro — share decks privately, control downloads, hide ads and more …

エラーチャンネルのボールを拾い続けて鍛えるエンジニアの地力 / phpcon-niigata2026

meihei
November 14, 2026

エラーチャンネルのボールを拾い続けて鍛えるエンジニアの地力 / phpcon-niigata2026

meihei

November 14, 2026

Transcript

40 slides
  1. 自己紹介 #phpcon_niigata meihei | Yohei Ema BASE株式会社 BASE Department /

    ソフトウェアエンジニア X: @app1e_s mixi2: @meihei2 GitHub: @meihei3 © 2012-2026 BASE, Inc. 11
  2. BASE でのエラーチャンネル #phpcon_niigata • 重要度の高いエラーは1つのチャンネルに集約させている ◦ Ref: SLI/SLOの設定を進めるその前に、アラート品質の改善に取り組んだ話 ▪ https://devblog.thebase.in/entry/2024/12/14/110000_1

    ◦ Sentry, New Relic などの全ての監視ツールからの通知を一元管理 ◦ 誰もがこのチャンネルを見れば、アラートに素早く気づける状態 • 素早く気づいているが、拾われない ◦ 担当チームがいる領域で発生したエラーアラートはすぐに次のアクションに進む ◦ そうではない領域のエラーアラート、緊急性の低いエラーアラートはなかなか 拾われないのが現実 © 2012-2026 BASE, Inc. 16
  3. 拾われないアラートを拾う #phpcon_niigata • 週1回、1時間のSentryトリアージ会を開催 ◦ Sentry の画面から担当が付いていないエラー(Issue)を 0 にする会 ◦

    みんなで一つの画面を見ながら、誰が対応するか決めて連絡する ▪ 一次対応というより放置を解消する ◦ 担当チームがいない領域・すぐ直せるものは修正する © 2012-2026 BASE, Inc. 17
  4. すぐ直せるものはすぐ修正する #phpcon_niigata • 実際、原因が明確ですぐ直せるものは多い ◦ (例)配列のキーチェックしていなかった ◦ (例)非常に稀なケースでバリデーションが不足していた ◦ 答えが明確なものは

    AI に修正コードを生成させやすい • 1つ1つは小さな問題 ◦ でも、このエラーで困っているユーザーがいる ◦ これを解決することで、目の前のユーザーに価値を届けられる © 2012-2026 BASE, Inc. 19
  5. 商品の保存に 8回失敗した人がいた #phpcon_niigata • 件数ではなく、困っている人を見る ◦ 8件のエラーは、1人のユーザーが6分間に8回保存に失敗した跡だった • エラーが出た場所と、原因が入った場所は違うことがある ◦

    実際にエラーが発生していたのは管理画面。原因の値を入れたのは外部向けAPI • 原因を直して終わりにせず、いま困っている人まで届ける ◦ 外部向けAPIに検証を追加。カスタマーサポートと連携し、ユーザーに連絡 • 学び:「この値を書ける入口は、ほかにないか?」という観点 © 2012-2026 BASE, Inc. 22
  6. 判断の根拠を、次の担当者に残す #phpcon_niigata • 共通の前提:その業務でいつも使う知識( Context) ◦ 通知チャンネル、確認用SQL、対象のテーブルなど • 手順:あるエラーが来たときの調べ方( Runbook)

    ◦ どのSQLを実行し、どの状態なら対応を終えてよいか • 一件ごとの記録:実際に起きた一件の作業記録( Record) ◦ 何を確認し、どう判断し、どうなったか © 2012-2026 BASE, Inc. 35

More Decks by meihei

Other Decks in Programming