Slide 1

Slide 1 text

©Social Databank, Inc. 2025/07/03 ソーシャルデータバンク株式会社 櫻田 健治 レベル1の開発生産性向上に取り組む 日々の作業の効率化・自動化を通じた改善活動

Slide 2

Slide 2 text

2 ©Social Databank, Inc. 自己紹介 櫻田 健治 / kesoji ソーシャルデータバンク株式会社 技術本部 開発部 部長 白い犬の通信キャリアでSE ソーシャルデータバンク株式会社 社会人1年目 社会人5年目〜

Slide 3

Slide 3 text

3 ©Social Databank, Inc. 自己紹介 櫻田 健治 / kesoji ソーシャルデータバンク株式会社 技術本部 開発部 部長 白い犬の通信キャリアでSE ソーシャルデータバンク株式会社 社会人1年目 社会人5年目〜 好きな言葉: 効率化

Slide 4

Slide 4 text

4 ©Social Databank, Inc. 自己紹介 櫻田 健治 / kesoji ソーシャルデータバンク株式会社 技術本部 開発部 部長 白い犬の通信キャリアでSE ソーシャルデータバンク株式会社 社会人1年目 社会人5年目〜 かな入力 好きな言葉: 効率化

Slide 5

Slide 5 text

5 ©Social Databank, Inc. 自己紹介 かな入力 ローマ字: S E I S A N S E I 9キー 櫻田 健治 / kesoji ソーシャルデータバンク株式会社 技術本部 開発部 部長 白い犬の通信キャリアでSE ソーシャルデータバンク株式会社 社会人1年目 社会人5年目〜 好きな言葉: 効率化

Slide 6

Slide 6 text

6 ©Social Databank, Inc. 自己紹介 かな入力 ローマ字: S E I S A N S E I かな: せ い さ ん せ い P E X Y P E 9キー 6キー 櫻田 健治 / kesoji ソーシャルデータバンク株式会社 技術本部 開発部 部長 白い犬の通信キャリアでSE ソーシャルデータバンク株式会社 社会人1年目 社会人5年目〜 好きな言葉: 効率化

Slide 7

Slide 7 text

7 ©Social Databank, Inc. 自己紹介 かな入力 ※おすすめしません 櫻田 健治 / kesoji ソーシャルデータバンク株式会社 技術本部 開発部 部長 白い犬の通信キャリアでSE ソーシャルデータバンク株式会社 社会人1年目 社会人5年目〜 好きな言葉: 効率化

Slide 8

Slide 8 text

8 ©Social Databank, Inc. 自己紹介 かな入力 ※おすすめしません 大学生から 神Excel 櫻田 健治 / kesoji ソーシャルデータバンク株式会社 技術本部 開発部 部長 白い犬の通信キャリアでSE ソーシャルデータバンク株式会社 社会人1年目 社会人5年目〜 好きな言葉: 効率化

Slide 9

Slide 9 text

9 ©Social Databank, Inc. 自己紹介 かな入力 ※おすすめしません 大学生から 神Excel 明細表 報告書テンプレ 生成 櫻田 健治 / kesoji ソーシャルデータバンク株式会社 技術本部 開発部 部長 白い犬の通信キャリアでSE ソーシャルデータバンク株式会社 社会人1年目 社会人5年目〜 好きな言葉: 効率化

Slide 10

Slide 10 text

10 ©Social Databank, Inc. 自己紹介 かな入力 ※おすすめしません 大学生から 神Excel ※反省しています 櫻田 健治 / kesoji ソーシャルデータバンク株式会社 技術本部 開発部 部長 白い犬の通信キャリアでSE ソーシャルデータバンク株式会社 社会人1年目 社会人5年目〜 好きな言葉: 効率化

Slide 11

Slide 11 text

11 ©Social Databank, Inc. 自己紹介 かな入力 ※おすすめしません 大学生から 神Excel ※反省しています 櫻田 健治 / kesoji ソーシャルデータバンク株式会社 技術本部 開発部 部長 白い犬の通信キャリアでSE ソーシャルデータバンク株式会社 社会人1年目 社会人5年目〜 好きな言葉: 効率化

Slide 12

Slide 12 text

12 ©Social Databank, Inc. 自己紹介 かな入力 ※おすすめしません 大学生から 神Excel ※反省しています ※おすすめします 櫻田 健治 / kesoji ソーシャルデータバンク株式会社 技術本部 開発部 部長 白い犬の通信キャリアでSE ソーシャルデータバンク株式会社 社会人1年目 社会人5年目〜 好きな言葉: Vim

Slide 13

Slide 13 text

©Social Databank, Inc. 「レベル1」開発生産性とは

Slide 14

Slide 14 text

14 ©Social Databank, Inc. 開発生産性のレベル レベル1 仕事量の生産性 [作業効率 / 個人のスキルアップ] 開発者・チーム レベル2 期待付加価値の生産性 [期待価値の高い施策のリリース] プロダクトチーム全体 レベル3 実現付加価値の生産性 [売上・KPIへの実際の貢献] 全部門 広木大地「開発生産性について議論する前に知っておきたいこと」Qiita

Slide 15

Slide 15 text

15 ©Social Databank, Inc. 開発生産性のレベル レベル1 仕事量の生産性 [作業効率 / 個人のスキルアップ] 開発者・チーム ● 個人やチームで完結できる ● 大きな承認プロセスが不要 ● 効果がすぐに見える 小さな改善の積み重ねが大きな成果に

Slide 16

Slide 16 text

16 ©Social Databank, Inc. 本日お伝えしたいこと ● 日々「これ、めんどくさいな」と感じているエンジニアの方へ ● チームの生産性を上げたいと思っているマネージャーの方へ ● 「改善したいけど、大きなことはできないし...」と悩んでいる方へ

Slide 17

Slide 17 text

17 ©Social Databank, Inc. 本日お伝えしたいこと ● 日々「これ、めんどくさいな」と感じているエンジニアの方へ ● チームの生産性を上げたいと思っているマネージャーの方へ ● 「改善したいけど、大きなことはできないし...」と悩んでいる方へ これなら明日から試せそう うちでも似たような問題があった!

Slide 18

Slide 18 text

©Social Databank, Inc. ● IPアドレス制限の自動化 ● リリース付帯作業の自動化 ● 開発環境の更新の自動化 🤖 自動化で解決 🛠 開発サポート 📚 情報共有の改善 👥 人の力で改善 ● デバッグの効率化 ● ポストモーテムの○○化 ● 複雑な仕組みを体で理解 ● PR管理の人間ボット

Slide 19

Slide 19 text

©Social Databank, Inc. 会社概要とプロダクト規模

Slide 20

Slide 20 text

©Social Databank, Inc. 創業 2017年 8期目 従業員数 70人 ソーシャル データバンク 株式会社 会社概要

Slide 21

Slide 21 text

©Social Databank, Inc.

Slide 22

Slide 22 text

22 ©Social Databank, Inc. 数字で見る 8740 万人 総友だち数 21428 件 契約アカウント数 2億 6395万通 月間送信メッセージ数 ※2024年9月時点 0.61 2.10 4.62 10.10 17.21 18.99 19.73 1期 2期 3期 4期 5期 6期 7期 売上推移(億円) (OEM含む)

Slide 23

Slide 23 text

23 ©Social Databank, Inc. ● DBのテーブルで最もレコード数が多いもの ○ 数百億レコード ● DynamoDBのテーブル数 ○ 約40 ● Redisクラスター数 ○ 約20 ● ECSのサービス数 ○ 約100 ● 1日に出るログの量 ○ 約1.5TB システムの規模

Slide 24

Slide 24 text

24 ©Social Databank, Inc. 組織内のエンジニアの割合 39%(27人) 人 バックオフィス CS系 Biz系 エンジニア 創業社長 (大学の同級生) もエンジニア! 会社全体の平均年齢は31歳

Slide 25

Slide 25 text

©Social Databank, Inc. 👉 IPアドレス制限の自動化 ● リリース付帯作業の自動化 ● 開発環境の更新の自動化 🤖 自動化で解決 🛠 開発サポート 📚 情報共有の改善 👥 人の力で改善 ● デバッグの効率化 ● ポストモーテムの○○化 ● 複雑な仕組みを体で理解 ● PR管理の人間ボット

Slide 26

Slide 26 text

26 ©Social Databank, Inc. IPアドレス制限の自動化 「家のIPアドレスが変わりました。検証環 境の解放お願いします: 123.45.67.89」 「客先でテザリングしています。解放お願 いします: 100.10.10.100」 こういうことってありませんか セキュリティグループを更新っと...

Slide 27

Slide 27 text

27 ©Social Databank, Inc. IPアドレス制限の自動化 ● 検証環境はインターネット全公開にしたくない ○ (クレデンシャルは1Passwordで管理しています) ● VPNは未導入 ○ (最近はTailscaleが便利ですよね...) ● 解放までのリードタイム / エンジニアのトイル 課題/状況

Slide 28

Slide 28 text

28 ©Social Databank, Inc. IPアドレス制限の自動化 ● 仕組み ○ 専用のWebサイトにアクセス ○ 認証 (弊社はGoogleでログイン) ○ 現在のIPがセキュリティグループに追加 ○ 9時間後: 設定内容が削除される 解決策 自動IP制限 / 解除システム

Slide 29

Slide 29 text

29 ©Social Databank, Inc. IPアドレス制限の自動化 解決策 自動IP制限 / 解除システム

Slide 30

Slide 30 text

30 ©Social Databank, Inc. IPアドレス制限の自動化 「待ち時間が無くなった!」 効果 依頼対応しなくてよくなった! (+古いIPアドレスの消し忘れも無く なってセキュアに)

Slide 31

Slide 31 text

31 ©Social Databank, Inc. IPアドレス制限の自動化 terraform moduleあります github.com/kesoji/terraform-ip-restriction-ui Cognito User Pool API Gateway Lambda Cloudwatch Events ※弊社ではLaravelで独自アプリケーション

Slide 32

Slide 32 text

©Social Databank, Inc. ● IPアドレス制限の自動化 👉 リリース付帯作業の自動化 ● 開発環境の更新の自動化 🤖 自動化で解決 🛠 開発サポート 📚 情報共有の改善 👥 人の力で改善 ● デバッグの効率化 ● ポストモーテムの○○化 ● 複雑な仕組みを体で理解 ● PR管理の人間ボット

Slide 33

Slide 33 text

33 ©Social Databank, Inc. リリース付帯作業の自動化 「このリリース入る前に既存データにこの プロパティ足したくて」 「リリース完了後にこのコマンド実行お願 いします」 こういうことってありませんか えっとこれは本番データ触るから Aさんしか作業できないな..こっちは..

Slide 34

Slide 34 text

34 ©Social Databank, Inc. リリース付帯作業の自動化 課題/状況 ● 作業依頼書をNotionで共有 ● 本番環境での手作業は一部の権限者しか不可 ○ 担当者の時間確保が必要 ● 実行順序の認識ミス ● そもそも手作業であること

Slide 35

Slide 35 text

35 ©Social Databank, Inc. リリース付帯作業の自動化 ● 参考にしたのはLaravel / Railsのスキーママイ グレーション ○ ファイルを作り ○ コマンドで実行 ○ 実行済みかどうかはDBのテーブルで管理 解決策 DBマイグレーション風の自動コマンド実行

Slide 36

Slide 36 text

36 ©Social Databank, Inc. リリース付帯作業の自動化 ①ファイル作成 (&レビュー & マージ) ②リリース時 CICDで自動実行 (Slackに通知も) ③履歴はDBテーブルに

Slide 37

Slide 37 text

37 ©Social Databank, Inc. リリース付帯作業の自動化 「権限もってる人の日程調整しなくて良く なった。手順のレビューも仕組み化された」 「立ち会いしなくて良くなった。GitHubで 作業手順もレビューしてくれるし、安心」 効果 「作業に時間とられなくなった」

Slide 38

Slide 38 text

©Social Databank, Inc. ● IPアドレス制限の自動化 ● リリース付帯作業の自動化 👉 開発環境の更新の自動化 🤖 自動化で解決 🛠 開発サポート 📚 情報共有の改善 👥 人の力で改善 ● デバッグの効率化 ● ポストモーテムの○○化 ● 複雑な仕組みを体で理解 ● PR管理の人間ボット

Slide 39

Slide 39 text

39 ©Social Databank, Inc. 開発環境自動更新 「この前のパッケージ更新のせいだね。コ ンテナを再ビルドしようか」 「すみません、なんかよくわからないエ ラーが...」 こういうことってありませんか

Slide 40

Slide 40 text

40 ©Social Databank, Inc. 開発環境自動更新 課題/状況 ● 環境とコードのミスマッチによるエラー ● ジュニアメンバーにはトラブルシュートが難しい ● 何かしら作業が必要な場合は「開発環境設定ロ グ」に書いて展開していた ○ しかし徹底しきれない

Slide 41

Slide 41 text

41 ©Social Databank, Inc. 開発環境自動更新 解決策 開発環境で自動更新チェック ● oh-my-zshのアップデート通知に着目

Slide 42

Slide 42 text

42 ©Social Databank, Inc. 開発環境自動更新 ● 開発環境で行ってほしいことをファイルに記載 ● zshの chpwd() フックでチェックコマンド実行 ○ 開発者にはzshrcに行追加してもらいます ○ direnv とか使ってもいいと思います ● リポジトリのディレクトリにcdでGitHubと通信 ● 未チェックのものを表示 / 実行 ○ チェック状態はローカルファイルで管理

Slide 43

Slide 43 text

43 ©Social Databank, Inc. 開発環境自動更新

Slide 44

Slide 44 text

44 ©Social Databank, Inc. 開発環境自動更新 効果 「この前Slackで言われてたやつやっ た?って言わなくて済むようになった」 「後でやろう、で忘れがちだったが、すぐ 実行できる(orしてくれる)ようになった」

Slide 45

Slide 45 text

©Social Databank, Inc. ● IPアドレス制限の自動化 ● リリース付帯作業の自動化 ● 開発環境の更新の自動化 🤖 自動化で解決 🛠 開発サポート 📚 情報共有の改善 👥 人の力で改善 👉 デバッグの効率化 ● ポストモーテムの○○化 ● 複雑な仕組みを体で理解 ● PR管理の人間ボット

Slide 46

Slide 46 text

46 ©Social Databank, Inc. デバッグ効率化 こういうことってありませんか (最近はAIが教えてくれるかもしれませんが...) 「あーこれはDynamoDBのxxxテーブル に...」 「このデータってどこから取得してるんで すかね...」

Slide 47

Slide 47 text

47 ©Social Databank, Inc. デバッグ効率化 課題/状況 ● RDBMS以外のリソースが初心者に鬼門 ○ 前述の通り、DynamoDBが数十テーブル、Redisのク ラスターもたくさん... ○ パフォーマンスのオフロード目的のことも多く複雑 ○ 外部のAPIを叩いている場合も

Slide 48

Slide 48 text

48 ©Social Databank, Inc. デバッグ効率化 解決策 php-debugbarに外部通信を記載 ● php-debugbarとは ○ リクエストの様々なデータを表示してくれる ○ Vue やReactのDevToolsのサーバー版

Slide 49

Slide 49 text

49 ©Social Databank, Inc. デバッグ効率化 ● AWSクライアントの通信を表示 ○ PHPのAWS SDKのMiddlewareという仕組みを利用

Slide 50

Slide 50 text

50 ©Social Databank, Inc. デバッグ効率化 効果 「このボタンを押すとこのテーブルにアク セスするのか」「思ったより多くのAPIを 叩いているな」 「システムの動きが理解しやすくなった」

Slide 51

Slide 51 text

©Social Databank, Inc. ● IPアドレス制限の自動化 ● リリース付帯作業の自動化 ● 開発環境の更新の自動化 🤖 自動化で解決 🛠 開発サポート 📚 情報共有の改善 👥 人の力で改善 ● デバッグの効率化 👉 ポストモーテムの○○化 ● 複雑な仕組みを体で理解 ● PR管理の人間ボット

Slide 52

Slide 52 text

52 ©Social Databank, Inc. ● 障害発生後の振り返り手法 ● 要点 ○ 非難しない文化 ○ タイムライン記録 ○ 根本原因分析 ○ 知識共有 ポストモーテムとは

Slide 53

Slide 53 text

53 ©Social Databank, Inc. ポストモーテムの○○化 「ポストモーテムの内容を他チームにもシェ アしているが、あまり読んでくれない」 こういうことってありませんか SRE

Slide 54

Slide 54 text

54 ©Social Databank, Inc. ポストモーテムの○○化 課題/状況 ● 見る側としては、コンテキストが足りなかった りしてハードルが高い ● 「障害対応からしか得られない栄養がある」の 名言もあるし、実際に対応にあたっていない人 でも少しでも栄養にしてもらいたい

Slide 55

Slide 55 text

55 ©Social Databank, Inc. ポストモーテムの絵本化 解決策 絵本にしてみる ● 絵本、寓話って「教訓」とか伝えるやつだし ● 最近ChatGPTの画像生成とかすごいし

Slide 56

Slide 56 text

56 ©Social Databank, Inc. ポストモーテムの絵本化

Slide 57

Slide 57 text

57 ©Social Databank, Inc. ポストモーテムの絵本化 ペンギンで描けなんて指示はして いないんですが、なぜか最初にペ ンギンで描かれため、ペンギンが 定着しました (著作物じゃありませんように...)

Slide 58

Slide 58 text

58 ©Social Databank, Inc. ポストモーテムの絵本化

Slide 59

Slide 59 text

59 ©Social Databank, Inc. ポストモーテムの絵本化

Slide 60

Slide 60 text

60 ©Social Databank, Inc. ポストモーテムの絵本化 SRE 中堅 ジュニア 効果

Slide 61

Slide 61 text

61 ©Social Databank, Inc. ポストモーテムの絵本化 SRE 中堅 ジュニア 「何が書いてあるかよくわからなかったから敬遠していたが、 とりあえず絵本を読むようになった。あと、かわいい。」 効果

Slide 62

Slide 62 text

62 ©Social Databank, Inc. ポストモーテムの絵本化 SRE 中堅 ジュニア 「何が書いてあるかよくわからなかったから敬遠していたが、 とりあえず絵本を読むようになった。あと、かわいい。」 「自分が読むべきかどうか、絵本部分で判断できるようになっ た。あと、かわいい。」 効果

Slide 63

Slide 63 text

63 ©Social Databank, Inc. ポストモーテムの絵本化 SRE 中堅 ジュニア 「何が書いてあるかよくわからなかったから敬遠していたが、 とりあえず絵本を読むようになった。あと、かわいい。」 「自分が読むべきかどうか、絵本部分で判断できるようになっ た。あと、かわいい。」 効果 「AIに喰わせることで資料としてのレビューも挟まる。工数も 大きく増えないためやりやすい。

Slide 64

Slide 64 text

64 ©Social Databank, Inc. ポストモーテムの絵本化 SRE 中堅 ジュニア 「何が書いてあるかよくわからなかったから敬遠していたが、 とりあえず絵本を読むようになった。あと、かわいい。」 「自分が読むべきかどうか、絵本部分で判断できるようになっ た。あと、かわいい。」 効果 「AIに喰わせることで資料としてのレビューも挟まる。工数も 大きく増えないためやりやすい。あと、かわいい。」

Slide 65

Slide 65 text

©Social Databank, Inc. ● IPアドレス制限の自動化 ● リリース付帯作業の自動化 ● 開発環境の更新の自動化 🤖 自動化で解決 🛠 開発サポート 📚 情報共有の改善 👥 人の力で改善 ● デバッグの効率化 ● ポストモーテムの○○化 👉 複雑な仕組みを体で理解 ● PR管理の人間ボット

Slide 66

Slide 66 text

66 ©Social Databank, Inc. 複雑な仕組みを体で理解 「この処理、複雑すぎてコードが追えない」 こういうことってありませんか

Slide 67

Slide 67 text

67 ©Social Databank, Inc. 複雑な仕組みを体で理解 課題/状況 ● 配信モジュールが巨大 ● 継ぎ足し継ぎ足しで分散処理 & 優先度処理など ● オレオレキューイングシステム ● 複数リソースに跨がる ● 理解の難易度が高い

Slide 68

Slide 68 text

68 ©Social Databank, Inc. 複雑な仕組みを体で理解 解決策 人間配信モジュール ● 物理的なモノを用意 ○ 紙(配信メッセージ) ○ 封筒(優先度の仕組み) ○ レターボックス(キュー(Redis)) ● 人間はPHPのモジュールやDBとなる

Slide 69

Slide 69 text

69 ©Social Databank, Inc. 複雑な仕組みを体で理解 イメージ図(動画ではないです)

Slide 70

Slide 70 text

70 ©Social Databank, Inc. 複雑な仕組みを体で理解 効果 「複雑だなという気持ちは変わらずだけ ど、とっかかりが掴めた」 「難しいものを解説する際にこういったや り方があるのかと勉強になった」

Slide 71

Slide 71 text

©Social Databank, Inc. ● IPアドレス制限の自動化 ● リリース付帯作業の自動化 ● 開発環境の更新の自動化 🤖 自動化で解決 🛠 開発サポート 📚 情報共有の改善 👥 人の力で改善 ● デバッグの効率化 ● ポストモーテムの○○化 ● 複雑な仕組みを体で理解 👉 PR管理の人間ボット

Slide 72

Slide 72 text

72 ©Social Databank, Inc. PR管理の人間ボット

Slide 73

Slide 73 text

73 ©Social Databank, Inc. PR管理の人間ボット こういうことってありませんか 「WIPのPRが100件以上...」 devops

Slide 74

Slide 74 text

74 ©Social Databank, Inc. PR管理の人間ボット

Slide 75

Slide 75 text

75 ©Social Databank, Inc. PR管理の人間ボット 課題/状況 ● 作業中のPRが100個以上 ○ ボトムアップな組織文化 ■ 良い意味で、自由・自主性がある ■ 悪い意味で、着地できずそのまま放置 ● 誰も多いことに気を留めない

Slide 76

Slide 76 text

76 ©Social Databank, Inc. PR管理の人間ボット ● PRを古い順に並べる ● PRを作った人と一緒に作業する時間を設定 ○ 入れられるものは Merge する ○ 練り直すものは Close してタスクに戻す ● これを10回ほど繰り返し、 100から40程度に 解決策 泥臭く

Slide 77

Slide 77 text

77 ©Social Databank, Inc. PR管理の人間ボット ● △ WIP制限を機械的にやることも考えたが、狼 少年になりそう。自動クローズは障害対応で暴 発も怖い ● 制限するのではなく、サポートする 再発防止 人間ボット

Slide 78

Slide 78 text

78 ©Social Databank, Inc. PR管理の人間ボット 1. しばらく進んでないPRを見つける 2. 発生している問題を聞く 3. 解消の手を打つ 再発防止 人間ボット これをボットのように週1で繰り返す

Slide 79

Slide 79 text

79 ©Social Databank, Inc. PR管理の人間ボット

Slide 80

Slide 80 text

80 ©Social Databank, Inc. PR管理の人間ボット 「レビューを優先し、チームで毎日確認し あう文化が根付いた」 効果 「PRの総数が少なくなったため、先に軽 く目を通しておけるようになった」

Slide 81

Slide 81 text

81 ©Social Databank, Inc. 番外編: プレゼン時間管理 「プレゼンの時間管理とスピーカー ノートの管理面倒だな...」 課題/状況

Slide 82

Slide 82 text

82 ©Social Databank, Inc. 番外編: プレゼン時間管理 解決策 AIにGAS作ってもらう

Slide 83

Slide 83 text

83 ©Social Databank, Inc. 番外編: プレゼン時間管理

Slide 84

Slide 84 text

84 ©Social Databank, Inc. 番外編: プレゼン時間管理 効果 「時間もスピーカーノートで管理できる」 「スピーカーノートを全部つなげて ChatGPTに投げ込んでブラッシュアップ できる」

Slide 85

Slide 85 text

©Social Databank, Inc. まとめ

Slide 86

Slide 86 text

86 ©Social Databank, Inc. ● 弊社で取り組んだ様々な活動をご紹介 ○ 何かしらご参考になるものがあれば嬉しいです ● いくつかはAIに作って貰ったものも ○ 「ついカッとなって改善」with AI オススメ ● 「めんどくさい」に敏感に ○ いつも使っているツールにもヒントが? まとめ

Slide 87

Slide 87 text

87 ©Social Databank, Inc. ● 弊社で取り組んだ様々な活動をご紹介 ○ 何かしらご参考になるものがあれば嬉しいです ● いくつかはAIに作って貰ったものも ○ 「ついカッとなって改善」with AI オススメ ● 「めんどくさい」に敏感に ○ いつも使っているツールにもヒントが? まとめ ところで、マウス操作って めんどくさいですよね

Slide 88

Slide 88 text

©Social Databank, Inc.

Slide 89

Slide 89 text

©Social Databank, Inc.