Slide 1

Slide 1 text

技術的負債に向き合い続ける姿勢は スキル幅の広がりにも繋がる話 2022年12月9日 西銘 承太郎

Slide 2

Slide 2 text

2 経歴 PGとしてSESの会社で開発現場を数社経験し、事業に寄り 添ったエンジニアとして働きたいと思い、コドモンに入社。 自己紹介 西銘 承太郎 にしめ じょうたろう 2019.10 コドモンに開発エンジニアとして入社 2020.04 保守改善チームのリーダーとして、 技術的負債に向き合い始める 2021.04 リリース運用改善を始める 2021.10 SREチームに異動。 インフラ周りにも手を伸ばし始める

Slide 3

Slide 3 text

3 Mission

Slide 4

Slide 4 text

4 すべての先生に 子どもと向き合う 時間と心のゆとりを こんなプロダクトを開発しています メインプロダクトは、こども施設職員の業務を支援するWebアプリケーション。 保護者と施設のやり取りを支えるモバイルアプリケーションや、施設職員向けモバイル版 アプリケーション、外部サービスと連携するAPIなども開発しています。

Slide 5

Slide 5 text

受託開発期 2009年 創業 導入数 11,000 5 これまでの沿革 2009年に創業し、受託開発事業を経て2015年に保育・教育施設向け業務支援サービス「コドモン」をリリース。 保育・教育業界に根付いたバーティカル領域でシェアを伸ばしつつ、着実に成長戦略を実現しています。 全国200自治体 で採用 BizDev 始動 ベネッセHD社と 資本業務提携 ㈱コドモンを 新設分割にて設立 コドモン正式版 リリース 導入数 5,000 導入数 1,500 導入数 100 スクール向け 連絡ツール 開発 コドモンβ版 リリース

Slide 6

Slide 6 text

219人 ※2022年7月時点 6 チーム構成 2022年6月時点

Slide 7

Slide 7 text

7 開発・保守の難易度が 高いプロダクト状況 2020年まで「早くたくさん機能をつ くる」ことを最優先に開発してきた ため、アーキテクチャ面に課題があ ります。 技術的負債の課題 開発・保守しやすい ソースコードへ だからこうしていきます 機能単位でのリプレイス ● 2021年2月、シフト機能をリリース ● 2022年8月、資料室機能をリリース →今後は複線同時進行しリプレイスを加速予定 機能や処理単位でのリファクタリング ● ドメイン駆動開発 x クリーンアーキテクチャ   ベースへのリファクタリングが進行中 →今後も各チームで優先度を判断しながら進行予定 7

Slide 8

Slide 8 text

8 はじめに

Slide 9

Slide 9 text

9 本題に入る前に

Slide 10

Slide 10 text

10 この半年のシステム稼働状況について  

Slide 11

Slide 11 text

11 2022年4月から半年ほど システム稼働が不安定な状況が 時折発生してしまいました

Slide 12

Slide 12 text

12 安定稼働にもつながる 技術的負債の返済に向き合ってきた 私の話をします

Slide 13

Slide 13 text

13 ひたすら 技術的負債に向き合ったら 意外とスキルがついていた

Slide 14

Slide 14 text

14 そんな話です

Slide 15

Slide 15 text

15 エンジニアとは なぜ負債に向き合ってきたのか 負債に向き合ってなにを得たのか 振り返り 今日話すこと 1 2 3 4

Slide 16

Slide 16 text

16 今日話さないこと ● 負債の具体的な返済方法 ● システムの稼働状況の詳細

Slide 17

Slide 17 text

17 エンジニアとは なぜ負債に向き合ってきたのか 負債に向き合ってなにを得たのか 振り返り 今日話すこと 1 2 3 4

Slide 18

Slide 18 text

18 CONFIDENTIAL - © 2022 CoDMON Inc. 18 エンジニアとは? 1. エンジニアとは

Slide 19

Slide 19 text

19 CONFIDENTIAL - © 2022 CoDMON Inc. 19 『エンジニアリング組織論への招待 〜不確実性に向き合う思考と組織のリファクタリング』 1. エンジニアとは

Slide 20

Slide 20 text

20 CONFIDENTIAL - © 2022 CoDMON Inc. 20 1. エンジニアとは エンジニアリング ↓ ?

Slide 21

Slide 21 text

21 CONFIDENTIAL - © 2022 CoDMON Inc. 21 1. エンジニアとは エンジニアリング ↓ 工学 (実現するための科学)

Slide 22

Slide 22 text

22 CONFIDENTIAL - © 2022 CoDMON Inc. 22 1. エンジニアとは ソフトウェアにおける エンジニアリング ↓ ?

Slide 23

Slide 23 text

23 CONFIDENTIAL - © 2022 CoDMON Inc. 23 1. エンジニアとは ソフトウェアにおける エンジニアリング ↓ 不確実性を効率よく削減すること

Slide 24

Slide 24 text

24 CONFIDENTIAL - © 2022 CoDMON Inc. 24 1. エンジニアとは ソフトウェアにおける エンジニアリング ↓ 不確実性を効率よく削減すること (=「曖昧さ」を減らし、「具体性・明確さ」を増やす行為)

Slide 25

Slide 25 text

25 CONFIDENTIAL - © 2022 CoDMON Inc. 25 1. エンジニアとは どういうことか?

Slide 26

Slide 26 text

26 CONFIDENTIAL - © 2022 CoDMON Inc. 26 1. エンジニアとは 出典: 広木 大地 (著)『エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング』技術評論社、2018年、P12

Slide 27

Slide 27 text

27 CONFIDENTIAL - © 2022 CoDMON Inc. 27 1. エンジニアとは エンジニアとは ↓ 不確実性を効率よく削減する人

Slide 28

Slide 28 text

28 1 3 4 エンジニアとは なぜ負債に向き合ってきたのか 負債に向き合ってなにを得たのか 振り返り 今日話すこと 2

Slide 29

Slide 29 text

29 CONFIDENTIAL - © 2022 CoDMON Inc. 29 2. なぜ負債に向き合ってきたのか 負債を返済する ↓ ?

Slide 30

Slide 30 text

30 CONFIDENTIAL - © 2022 CoDMON Inc. 30 2. なぜ負債に向き合ってきたのか 負債を返済する ↓ 目の前の開発ストレスを 取り除くこと?

Slide 31

Slide 31 text

31 CONFIDENTIAL - © 2022 CoDMON Inc. 31 負債を返済する ↓ 目の前の開発ストレスを 取り除くこと? 2. なぜ負債に向き合ってきたのか

Slide 32

Slide 32 text

32 CONFIDENTIAL - © 2022 CoDMON Inc. 32 2. なぜ負債に向き合ってきたのか 負債を返済する ↓ ?

Slide 33

Slide 33 text

33 CONFIDENTIAL - © 2022 CoDMON Inc. 33 2. なぜ負債に向き合ってきたのか 負債を返済する ↓ 長期的にプロダクトを 良くすること

Slide 34

Slide 34 text

34 CONFIDENTIAL - © 2022 CoDMON Inc. 34 2. なぜ負債に向き合ってきたのか どういうことか?

Slide 35

Slide 35 text

35 CONFIDENTIAL - © 2022 CoDMON Inc. 35 2. なぜ負債に向き合ってきたのか 良いプロダクトをつくる

Slide 36

Slide 36 text

36 CONFIDENTIAL - © 2022 CoDMON Inc. 36 2. なぜ負債に向き合ってきたのか 良いプロダクトをつくる ↓ ?

Slide 37

Slide 37 text

37 CONFIDENTIAL - © 2022 CoDMON Inc. 37 2. なぜ負債に向き合ってきたのか 良いプロダクトをつくる ↓ 良い設計?流行りの技術使う?

Slide 38

Slide 38 text

38 CONFIDENTIAL - © 2022 CoDMON Inc. 38 2. なぜ負債に向き合ってきたのか 良いプロダクトをつくる ↓ 「ユーザーにとっての本当の価値」 を仮説検証して積み重ねる

Slide 39

Slide 39 text

39 CONFIDENTIAL - © 2022 CoDMON Inc. 39 案件:ダッシュボード画面のデザイン変更(一般的な仮説検証の流れ) 前提:コードの改修は表示関数を修正すればOK!   2. なぜ負債に向き合ってきたのか

Slide 40

Slide 40 text

40 CONFIDENTIAL - © 2022 CoDMON Inc. 40 案件:ダッシュボード画面のデザイン変更(一般的な仮説検証の流れ) 前提:コードの改修は表示関数を修正すればOK!   ↓ 仮説:ユーザーが喜ぶデザインはA?B? ● 〇〇だからデザインAだろう ● △△だからデザインBかも 2. なぜ負債に向き合ってきたのか

Slide 41

Slide 41 text

41 CONFIDENTIAL - © 2022 CoDMON Inc. 41 案件:ダッシュボード画面のデザイン変更(一般的な仮説検証の流れ) 前提:コードの改修は表示関数を修正すればOK!   ↓ 仮説:ユーザーが喜ぶデザインはA?B? ● 〇〇だからデザインAだろう ● △△だからデザインBかも   ↓ 仮説検証結果をプロダクトに反映する 2. なぜ負債に向き合ってきたのか

Slide 42

Slide 42 text

42 CONFIDENTIAL - © 2022 CoDMON Inc. 42 2. なぜ負債に向き合ってきたのか それが今のコドモンでは...

Slide 43

Slide 43 text

43 CONFIDENTIAL - © 2022 CoDMON Inc. 43 案件:ダッシュボード画面のデザイン変更 (コドモンでの仮説検証の流れ) 前提:コードの改修は表示関数を修正すればOK!    2. なぜ負債に向き合ってきたのか ✖ ✖ ✖ ✖ ✖

Slide 44

Slide 44 text

44 CONFIDENTIAL - © 2022 CoDMON Inc. 44 案件:ダッシュボード画面のデザイン変更 (コドモンでの仮説検証の流れ) 前提:コードの改修は表示関数を修正すればOK!   ↓ テストで不具合を検知! 表示関数を修正すると特定のデータを持った ユーザーで画面崩れが発生!   2. なぜ負債に向き合ってきたのか ✖ ✖ ✖ ✖ ✖

Slide 45

Slide 45 text

45 CONFIDENTIAL - © 2022 CoDMON Inc. 45 案件:ダッシュボード画面のデザイン変更 (コドモンでの仮説検証の流れ) 前提:コードの改修は表示関数を修正すればOK!   ↓ テストで不具合を検知! 表示関数を修正すると特定のデータを持った ユーザーで画面崩れが発生!   ↓ 仮説検証の前に前提の再確認が必要! 2. なぜ負債に向き合ってきたのか ✖ ✖ ✖ ✖ ✖

Slide 46

Slide 46 text

46 CONFIDENTIAL - © 2022 CoDMON Inc. 46 案件:ダッシュボード画面のデザイン変更 (コドモンでの仮説検証の流れ) 前提(じゃなかった):コードの改修は表示関数を修正すればOK!   ↓  本当の前提:コードの改修は表示関数とデータ取得関数を修正すればOK! 2. なぜ負債に向き合ってきたのか 前提が違うのか...確かめなきゃ...

Slide 47

Slide 47 text

47 CONFIDENTIAL - © 2022 CoDMON Inc. 47 案件:ダッシュボード画面のデザイン変更 (コドモンでの仮説検証の流れ) 前提(じゃなかった):コードの改修は表示関数を修正すればOK!   ↓  本当の前提:コードの改修は表示関数とデータ取得関数を修正すればOK!   ↓  仮説:ユーザーが喜ぶデザインはA?B?   ↓ 仮説検証結果をプロダクトに反映する 2. なぜ負債に向き合ってきたのか 前提が違うのか...確かめなきゃ... 前提がわかった...!やっと本題の仮説検証するぞ...

Slide 48

Slide 48 text

48 CONFIDENTIAL - © 2022 CoDMON Inc. 48 この既存プロダクトの 「じゃなかった前提」こそが 技術的負債です 2. なぜ負債に向き合ってきたのか

Slide 49

Slide 49 text

49 CONFIDENTIAL - © 2022 CoDMON Inc. 49 2. なぜ負債に向き合ってきたのか 一般的に向き合いたい課題 コドモンが向き合っている課題

Slide 50

Slide 50 text

50 CONFIDENTIAL - © 2022 CoDMON Inc. 50 2. なぜ負債に向き合ってきたのか → 「ユーザーにとっての本当の価値」(不確実性) + 前提の確認 一般的に向き合いたい課題 コドモンが向き合っている課題

Slide 51

Slide 51 text

51 CONFIDENTIAL - © 2022 CoDMON Inc. 51 2. なぜ負債に向き合ってきたのか →「じゃなかった前提(技術的負債)」の確認(不確実性)   +「ユーザーにとっての本当の価値」(不確実性) → 「ユーザーにとっての本当の価値」(不確実性) + 前提の確認 一般的に向き合いたい課題 コドモンが向き合っている課題

Slide 52

Slide 52 text

52 CONFIDENTIAL - © 2022 CoDMON Inc. 52 2. なぜ負債に向き合ってきたのか ユーザーにとっての本当の価値に向き合いたい人 技術的負債に向き合いたい人

Slide 53

Slide 53 text

53 CONFIDENTIAL - © 2022 CoDMON Inc. 53 2. なぜ負債に向き合ってきたのか ● 社長、CS、営業、PdM、デザイナー、エンジニアなどなど ● サービスに共感してくれる社外の人 → たくさんいる 技術的負債に向き合いたい人 ユーザーにとっての本当の価値に向き合いたい人

Slide 54

Slide 54 text

54 CONFIDENTIAL - © 2022 CoDMON Inc. 54 2. なぜ負債に向き合ってきたのか ● リファクタ大好きなエンジニア → あまりいない ● 社長、CS、営業、PdM、デザイナー、エンジニアなどなど ● サービスに共感してくれる社外の人 → たくさんいる ユーザーにとっての本当の価値に向き合いたい人 技術的負債に向き合いたい人

Slide 55

Slide 55 text

55 CONFIDENTIAL - © 2022 CoDMON Inc. 55 技術的負債を放置すると 人数が増えてもユーザーのための課題解決に 使える時間はあまり増えない 2. なぜ負債に向き合ってきたのか

Slide 56

Slide 56 text

56 CONFIDENTIAL - © 2022 CoDMON Inc. 56 2. なぜ負債に向き合ってきたのか 自分はエンジニアとして コドモンでどう働くべきか? ↓

Slide 57

Slide 57 text

57 CONFIDENTIAL - © 2022 CoDMON Inc. 57 2. なぜ負債に向き合ってきたのか 自分はエンジニアとして コドモンでどう働くべきか? ↓ 技術的負債に向き合うこと

Slide 58

Slide 58 text

58 CONFIDENTIAL - © 2022 CoDMON Inc. 58 2. なぜ負債に向き合ってきたのか 負債を返済する ↓ 長期的にプロダクトを 良くすること

Slide 59

Slide 59 text

59 エンジニアとは なぜ負債に向き合ってきたのか 負債に向き合ってなにを得たのか 振り返り 今日話すこと 1 2 3 4

Slide 60

Slide 60 text

60 CONFIDENTIAL - © 2022 CoDMON Inc. 60 3. 負債に向き合ってなにを得たのか 負債に向き合って得たもの それは

Slide 61

Slide 61 text

61 CONFIDENTIAL - © 2022 CoDMON Inc. 61 3. 負債に向き合ってなにを得たのか 負債に向き合って得たもの それは 「仕事」でした

Slide 62

Slide 62 text

62 CONFIDENTIAL - © 2022 CoDMON Inc. 62 「仕事の報酬は仕事」 by ソニー創業者 井深 大 3. 負債に向き合ってなにを得たのか

Slide 63

Slide 63 text

63 CONFIDENTIAL - © 2022 CoDMON Inc. 63 3. 負債に向き合ってなにを得たのか ● コード修正によるリスク低減 ● コードの複雑さを下げる 重視していたこと レガシーコード改善

Slide 64

Slide 64 text

64 CONFIDENTIAL - © 2022 CoDMON Inc. 64 3. 負債に向き合ってなにを得たのか ● コード修正によるリスク低減 ● コードの複雑さを下げる ● アプリの野良コードのGit管理化 ● 神ファイルの解体 重視していたこと やったこと レガシーコード改善

Slide 65

Slide 65 text

65 CONFIDENTIAL - © 2022 CoDMON Inc. 65 3. 負債に向き合ってなにを得たのか ● コード修正によるリスク低減 ● コードの複雑さを下げる ● アプリの野良コードのGit管理化 ● 神ファイルの解体 重視していたこと やったこと レガシーコード改善 ● 可読性と変更容易性の向上による  開発者体験UP 結果

Slide 66

Slide 66 text

66 CONFIDENTIAL - © 2022 CoDMON Inc. 66 3. 負債に向き合ってなにを得たのか ● コード修正によるリスク低減 ● コードの複雑さを下げる ● アプリの野良コードのGit管理化 ● 神ファイルの解体 重視していたこと やったこと ● 可読性と変更容易性の向上による  開発者体験UP Mgr) 「DX改善とかやる?」 ※DX (Developer Experience) = 開発者体験 結果 得た仕事 レガシーコード改善

Slide 67

Slide 67 text

67 CONFIDENTIAL - © 2022 CoDMON Inc. 67 3. 負債に向き合ってなにを得たのか ● リリース作業によるリスク低減 ● トイル(手作業)の削減 重視していたこと DX(開発者体験)改善

Slide 68

Slide 68 text

68 CONFIDENTIAL - © 2022 CoDMON Inc. 68 3. 負債に向き合ってなにを得たのか ● リリース作業によるリスク低減 ● トイル(手作業)の削減 ● 3つに分かれたリポジトリの統合 ● ビルド、デプロイ運用の整備 ● リリースフローの自動化 重視していたこと やったこと DX(開発者体験)改善

Slide 69

Slide 69 text

69 CONFIDENTIAL - © 2022 CoDMON Inc. 69 3. 負債に向き合ってなにを得たのか ● リリース作業によるリスク低減 ● トイル(手作業)の削減 ● 3つに分かれたリポジトリの統合 ● ビルド、デプロイ運用の整備 ● リリースフローの自動化 重視していたこと やったこと ● リリース作業の均一化/工数の削減 ● GitOpsの定着 結果 DX(開発者体験)改善

Slide 70

Slide 70 text

70 CONFIDENTIAL - © 2022 CoDMON Inc. 70 3. 負債に向き合ってなにを得たのか ● リリース作業によるリスク低減 ● トイル(手作業)の削減 ● 3つに分かれたリポジトリの統合 ● ビルド、デプロイ運用の整備 ● リリースフローの自動化 重視していたこと やったこと ● リリース作業の均一化/工数の削減 ● GitOpsの定着 SRE) 「DevOpsやってるし、 アプリ触れるし、SREチームで プッシュ通知基盤の改善とかどう?」 結果 得た仕事 DX(開発者体験)改善

Slide 71

Slide 71 text

71 CONFIDENTIAL - © 2022 CoDMON Inc. 71 3. 負債に向き合ってなにを得たのか ● 負荷によるリスク低減 ● サービスの疎結合化 重視していること プッシュ通知基盤 / インフラ改善

Slide 72

Slide 72 text

72 CONFIDENTIAL - © 2022 CoDMON Inc. 72 3. 負債に向き合ってなにを得たのか ● 負荷によるリスク低減 ● サービスの疎結合化 ● プッシュ通知基盤の改善 ● 既存サービスの負荷調査 重視していること やっていること プッシュ通知基盤 / インフラ改善

Slide 73

Slide 73 text

73 CONFIDENTIAL - © 2022 CoDMON Inc. 73 ● レガシーコード改善 3. 負債に向き合ってなにを得たのか やってきた仕事 ● プロダクトの深い知見 得たスキル、知見

Slide 74

Slide 74 text

74 CONFIDENTIAL - © 2022 CoDMON Inc. 74 ● レガシーコード改善 ↓ ● DX(開発者体験)改善 3. 負債に向き合ってなにを得たのか やってきた仕事 ● プロダクトの深い知見 ● CI/CDツール(GitHub Actions) 得たスキル、知見

Slide 75

Slide 75 text

75 CONFIDENTIAL - © 2022 CoDMON Inc. 75 ● プロダクトの深い知見 ● CI/CDツール(GitHub Actions) ● コンテナ設計(Docker,ECS) ● Terraformによるインフラ構築 ● レガシーコード改善 ↓ ● DX(開発者体験)改善 ↓ ● プッシュ通知基盤改善 3. 負債に向き合ってなにを得たのか やってきた仕事 得たスキル、知見

Slide 76

Slide 76 text

76 CONFIDENTIAL - © 2022 CoDMON Inc. 76 ● レガシーコード改善 ↓ ● DX(開発者体験)改善 ↓ ● プッシュ通知基盤改善 ● インフラ改善 ● プロダクトの深い知見 ● CI/CDツール(GitHub Actions) ● コンテナ設計(Docker,ECS) ● Terraformによるインフラ構築 ● 監視ツール(Datadog) ● データ分析ツール(Jupyter) ● 負荷テストツール(k6) 3. 負債に向き合ってなにを得たのか やってきた仕事 得たスキル、知見

Slide 77

Slide 77 text

77 CONFIDENTIAL - © 2022 CoDMON Inc. 77 ● レガシーコード改善 ↓ ● DX(開発者体験)改善 ↓ ● プッシュ通知基盤改善 ● インフラ改善 3. 負債に向き合ってなにを得たのか やってきた仕事 ● プロダクトの深い知見 ● CI/CDツール(GitHub Actions) ● コンテナ設計(Docker,ECS) ● Terraformによるインフラ構築 ● 監視ツール(Datadog) ● データ分析ツール(Jupyter) ● 負荷テストツール(k6) 得たスキル、知見

Slide 78

Slide 78 text

78 CONFIDENTIAL - © 2022 CoDMON Inc. 78 負債を返済すると プロダクトの 次の理想像が見えてくる 3. 負債に向き合ってなにを得たのか

Slide 79

Slide 79 text

79 CONFIDENTIAL - © 2022 CoDMON Inc. 79 プロダクトの 次の理想像への障壁が また負債として見えてくる 3. 負債に向き合ってなにを得たのか

Slide 80

Slide 80 text

80 CONFIDENTIAL - © 2022 CoDMON Inc. 80 この流れを繰り返していくと プロダクトが成長する 3. 負債に向き合ってなにを得たのか

Slide 81

Slide 81 text

81 CONFIDENTIAL - © 2022 CoDMON Inc. 81 プロダクトが成長すると 自分が挑戦できる 機会も増えていく 3. 負債に向き合ってなにを得たのか

Slide 82

Slide 82 text

82 CONFIDENTIAL - © 2022 CoDMON Inc. 82 その結果こそが! 3. 負債に向き合ってなにを得たのか

Slide 83

Slide 83 text

83 CONFIDENTIAL - © 2022 CoDMON Inc. 83 技術的負債に向き合い続ける姿勢は スキル幅の広がりにも繋がる話 3. 負債に向き合ってなにを得たのか

Slide 84

Slide 84 text

84 エンジニアとは なぜ負債に向き合ってきたのか 負債に向き合ってなにを得たのか 振り返り 今日話すこと 1 2 3 4

Slide 85

Slide 85 text

85 CONFIDENTIAL - © 2022 CoDMON Inc. 85 4. 振り返り 負債に向き合ってきて 実際どうだったのか?

Slide 86

Slide 86 text

86 CONFIDENTIAL - © 2022 CoDMON Inc. 86 4. 振り返り 実は

Slide 87

Slide 87 text

87 CONFIDENTIAL - © 2022 CoDMON Inc. 87 4. 振り返り 最初はめちゃくちゃ大変でした...

Slide 88

Slide 88 text

88 CONFIDENTIAL - © 2022 CoDMON Inc. 88 4. 振り返り 神ファイル(controllers.js)の解体

Slide 89

Slide 89 text

89 CONFIDENTIAL - © 2022 CoDMON Inc. 89 神ファイル(controllers.js)とは ● 可読性がとにかく低い! ファイル内検索で同じ名前の関数や変数が大量に... 4. 振り返り

Slide 90

Slide 90 text

90 CONFIDENTIAL - © 2022 CoDMON Inc. 90 神ファイル(controllers.js)とは ● 可読性がとにかく低い! ファイル内検索で同じ名前の関数や変数が大量に... ● 影響範囲がとにかく大きい! 触るたびに他の機能に影響が出ないか不安になる... 4. 振り返り

Slide 91

Slide 91 text

91 CONFIDENTIAL - © 2022 CoDMON Inc. 91 4. 振り返り controllers.jsに悩まない状況にしたい!

Slide 92

Slide 92 text

92 CONFIDENTIAL - © 2022 CoDMON Inc. 92 神ファイル(controllers.js)解体の大変さ ● リリースまでの慎重な影響調査 担当チームと古株メンバーへの影響確認と可読性の低さ 4. 振り返り

Slide 93

Slide 93 text

93 CONFIDENTIAL - © 2022 CoDMON Inc. 93 神ファイル(controllers.js)解体の大変さ ● リリースまでの慎重な影響調査 担当チームと古株メンバーへの影響確認と可読性の低さ ● 影響範囲を抑えるための分割リリース 画面ごとに20回以上に分けてのリリース作業 4. 振り返り

Slide 94

Slide 94 text

94 CONFIDENTIAL - © 2022 CoDMON Inc. 94 4. 振り返り 神ファイル(controllers.js)を解体すると

Slide 95

Slide 95 text

95 CONFIDENTIAL - © 2022 CoDMON Inc. 95 神ファイル(controllers.js)を解体すると ● 返済した時に、開発部が盛り上がる! みんなその負債に苦しんでたので、とても感謝してくれるし、自分も嬉しい! 4. 振り返り

Slide 96

Slide 96 text

96 CONFIDENTIAL - © 2022 CoDMON Inc. 96 神ファイル(controllers.js)を解体すると ● 返済した時に、開発部が盛り上がる! みんなその負債に苦しんでたので、とても感謝してくれるし、自分も嬉しい! ● 負債の名前が、返済以降は会話に出なくなる! 組織とプロダクトのたしかな進歩を感じる! (最近入社した方は、controllers.js なんて知らない) 4. 振り返り

Slide 97

Slide 97 text

97 CONFIDENTIAL - © 2022 CoDMON Inc. 97 4. 振り返り この最初の取り組みで得た 反省があります

Slide 98

Slide 98 text

98 CONFIDENTIAL - © 2022 CoDMON Inc. 98 → ユーザーの価値に直接繋がらないため、何のためにやってるか見失いやすい  その結果、トラブルが起きた時にモチベーションを保つのが難しかった 4. 振り返り 反省 一人でやってて、辛くなった時があった

Slide 99

Slide 99 text

99 CONFIDENTIAL - © 2022 CoDMON Inc. 99 → ユーザーの価値に直接繋がらないため、何のためにやってるか見失いやすい   その結果、トラブルが起きた時にモチベーションを保つのが難しかった 4. 振り返り 反省 一人でやってて、辛くなった時があった → なるべく会社やチームと合意しながら進めて、一人でやらない  周りの理解を得られなければ課題の数値化、言語化から始めるのも良いかも 学び 周りを巻き込んでいこう

Slide 100

Slide 100 text

100 CONFIDENTIAL - © 2022 CoDMON Inc. 100 4. 振り返り チームで対応すると 自分には無いスキルや知見を持った人と働くため お互いにスキル、知見を深めやすい

Slide 101

Slide 101 text

101 CONFIDENTIAL - © 2022 CoDMON Inc. 101 4. 振り返り スキル、知見が増えると プロダクトや組織に還元出来ることも増えるので チームワークは大事にしていきましょう

Slide 102

Slide 102 text

102 CONFIDENTIAL - © 2022 CoDMON Inc. 102 4. 振り返り プロダクトや組織も大事ですが

Slide 103

Slide 103 text

103 CONFIDENTIAL - © 2022 CoDMON Inc. 103 4. 振り返り プロダクトや組織のためにも

Slide 104

Slide 104 text

104 CONFIDENTIAL - © 2022 CoDMON Inc. 104 4. 振り返り 負債返済で自分が 辛くならない ようにしましょう!

Slide 105

Slide 105 text

105 まとめ

Slide 106

Slide 106 text

106 今日話したこと エンジニアとは なぜ負債に向き合ってきたのか 負債に向き合ってなにを得たのか 振り返り 1 2 3 4

Slide 107

Slide 107 text

107 今日話したこと エンジニアとは →不確実性を効率よく削減する人 なぜ負債に向き合ってきたのか 負債に向き合ってなにを得たのか 振り返り 1 2 3 4

Slide 108

Slide 108 text

108 今日話したこと エンジニアとは →不確実性を効率よく削減する人 なぜ負債に向き合ってきたのか →長期的にプロダクトを良くするため 負債に向き合ってなにを得たのか 振り返り 1 2 3 4

Slide 109

Slide 109 text

109 今日話したこと エンジニアとは →不確実性を効率よく削減する人 なぜ負債に向き合ってきたのか →長期的にプロダクトを良くするため 負債に向き合ってなにを得たのか →仕事の報酬は仕事、スキルは副産物 振り返り 1 2 3 4

Slide 110

Slide 110 text

110 今日話したこと エンジニアとは →不確実性を効率よく削減する人 なぜ負債に向き合ってきたのか →長期的にプロダクトを良くするため 負債に向き合ってなにを得たのか →仕事の報酬は仕事、スキルは副産物 振り返り →負債返済で自分が辛くならないように、周りを巻き込んでいこう 1 2 3 4

Slide 111

Slide 111 text

111 この話を聞いて

Slide 112

Slide 112 text

112 「プロダクトや開発組織を良くしたい!」 (でも技術的負債は嫌だなぁ...)

Slide 113

Slide 113 text

113 「プロダクトや開発組織を良くしたい!」 (でも技術的負債は嫌だなぁ...) ↓ 一歩踏み込んで挑戦してみるかー!

Slide 114

Slide 114 text

114 「プロダクトや開発組織を良くしたい!」 (でも技術的負債は嫌だなぁ...) ↓ 一歩踏み込んで挑戦してみるかー! (と思ってくれたら嬉しいです!)

Slide 115

Slide 115 text

115 最後に

Slide 116

Slide 116 text

ユーザーへ届く価値を 最大化し続ける “すべての先生に 子どもと向き合う 時間と心のゆとりを”持ってもらうた めに存在するフラットなチームで す。 結果からの学びを活かし ベターを模索し続ける プロダクトも/チームも/個々人も、起 きた結果からの学びを活かして「より よい状態」へ成長し続けるチームであ りたいと思っています。 チームの存在理由 だからこんなチームでいたい 116

Slide 117

Slide 117 text

LT会 毎月第三水曜日の午後に1時間、 LT会を開催しています。 トピックを技術に限定しておらず 多様な発表があり、トピックに よってはGoogle Meetのチャット コメントがお祭りのようになるこ ともあります。 育休や時短勤務 男女関係なく、育休や時短勤務を しているメンバーも多いです。 「子どもを取り巻く環境をテクノ ロジーの力でよりよいものに」と いう会社のミッションは、自分た ちの働き方にもつながっていま す。 リノベマンションでコロナ禍を乗 り越えた一家の話 現代エディタ界の帝王 あなたの知らないリリース基盤の 世界 MySQLでテーブルロックが掛かっ た話 クリーンアーキテクチャで絶対ク リーンにならない部分の話 こんなこともあります 輪読会や勉強会の開催 コドモンには週半日の学習投資の 制度があります。制度を使って個 人的な学習だけではなく、チーム や有志での勉強会・輪読会などが 頻繁に開催されています。また外 部の方や有識者主催でハンズオン が開催されることもあります。 117 毎日の開発や調査にペアプログラミ ングを取り入れてます。ドライバー のコーディング・進め方・ふるまい についてナビゲーターがその場です ぐにフィードバックし、小さいタイ ムラグでフィードバックサイクルを 回します。 ペアプロ/モブプロ

Slide 118

Slide 118 text

118 コドモン採用ページ 開発ブログ コドモンでは一緒に働きたい仲間を募集しています!

Slide 119

Slide 119 text

119 ご清聴ありがとうございました!