Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
技術的負債に向き合い続ける姿勢はスキル幅の広がりにも繋がる話
Search
コドモン開発チーム
February 01, 2023
1
310
技術的負債に向き合い続ける姿勢はスキル幅の広がりにも繋がる話
コドモン開発チーム
February 01, 2023
Tweet
Share
More Decks by コドモン開発チーム
See All by コドモン開発チーム
コドモンの決済基盤のテストの紹介 / Introduction to the Payment Infrastructure Testing of Codmon
codmoninc
0
210
組織の変化とSREの役割進化 | 責務拡大にどう応えるか / Organizational Change and the Evolution of the SRE Role
codmoninc
0
9
コンテナイメージを複数のチームで扱うための、 ビルドフローの構築・運用 / Building and Managing a Container Image Workflow for Multiple Teams
codmoninc
0
35
業界に標準を提案し、業界と長くお付き合いするVertical SaaS / Vertical SaaS that Proposes Industry Standards and Builds Long-Term Relationships with the Industry.
codmoninc
0
450
「Be agile」でいるためにしていること / What we do to stay 'agile'
codmoninc
1
580
ペアプロに納得感がなかった話 / A story about not being convinced by pair programming
codmoninc
1
590
だいじなこと、に集中するチームでいるために / To be a team that focuses on what matters
codmoninc
1
520
遅延読み込みの歩みから理解するSeekableOCI / Understanding SeekableOCI from the Perspective of Lazy Loading
codmoninc
0
40
コドモンがXPを取り入れている理由 / The reason why Codmon is incorporating XP
codmoninc
1
600
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
137
6.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Unsuck your backbone
ammeep
669
57k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
Documentation Writing (for coders)
carmenintech
66
4.5k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Transcript
技術的負債に向き合い続ける姿勢は スキル幅の広がりにも繋がる話 2022年12月9日 西銘 承太郎
2 経歴 PGとしてSESの会社で開発現場を数社経験し、事業に寄り 添ったエンジニアとして働きたいと思い、コドモンに入社。 自己紹介 西銘 承太郎 にしめ じょうたろう 2019.10
コドモンに開発エンジニアとして入社 2020.04 保守改善チームのリーダーとして、 技術的負債に向き合い始める 2021.04 リリース運用改善を始める 2021.10 SREチームに異動。 インフラ周りにも手を伸ばし始める
3 Mission
4 すべての先生に 子どもと向き合う 時間と心のゆとりを こんなプロダクトを開発しています メインプロダクトは、こども施設職員の業務を支援するWebアプリケーション。 保護者と施設のやり取りを支えるモバイルアプリケーションや、施設職員向けモバイル版 アプリケーション、外部サービスと連携するAPIなども開発しています。
受託開発期 2009年 創業 導入数 11,000 5 これまでの沿革 2009年に創業し、受託開発事業を経て2015年に保育・教育施設向け業務支援サービス「コドモン」をリリース。 保育・教育業界に根付いたバーティカル領域でシェアを伸ばしつつ、着実に成長戦略を実現しています。 全国200自治体
で採用 BizDev 始動 ベネッセHD社と 資本業務提携 ㈱コドモンを 新設分割にて設立 コドモン正式版 リリース 導入数 5,000 導入数 1,500 導入数 100 スクール向け 連絡ツール 開発 コドモンβ版 リリース
219人 ※2022年7月時点 6 チーム構成 2022年6月時点
7 開発・保守の難易度が 高いプロダクト状況 2020年まで「早くたくさん機能をつ くる」ことを最優先に開発してきた ため、アーキテクチャ面に課題があ ります。 技術的負債の課題 開発・保守しやすい ソースコードへ
だからこうしていきます 機能単位でのリプレイス • 2021年2月、シフト機能をリリース • 2022年8月、資料室機能をリリース →今後は複線同時進行しリプレイスを加速予定 機能や処理単位でのリファクタリング • ドメイン駆動開発 x クリーンアーキテクチャ ベースへのリファクタリングが進行中 →今後も各チームで優先度を判断しながら進行予定 7
8 はじめに
9 本題に入る前に
10 この半年のシステム稼働状況について
11 2022年4月から半年ほど システム稼働が不安定な状況が 時折発生してしまいました
12 安定稼働にもつながる 技術的負債の返済に向き合ってきた 私の話をします
13 ひたすら 技術的負債に向き合ったら 意外とスキルがついていた
14 そんな話です
15 エンジニアとは なぜ負債に向き合ってきたのか 負債に向き合ってなにを得たのか 振り返り 今日話すこと 1 2 3 4
16 今日話さないこと • 負債の具体的な返済方法 • システムの稼働状況の詳細
17 エンジニアとは なぜ負債に向き合ってきたのか 負債に向き合ってなにを得たのか 振り返り 今日話すこと 1 2 3 4
18 CONFIDENTIAL - © 2022 CoDMON Inc. 18 エンジニアとは? 1.
エンジニアとは
19 CONFIDENTIAL - © 2022 CoDMON Inc. 19 『エンジニアリング組織論への招待 〜不確実性に向き合う思考と組織のリファクタリング』
1. エンジニアとは
20 CONFIDENTIAL - © 2022 CoDMON Inc. 20 1. エンジニアとは
エンジニアリング ↓ ?
21 CONFIDENTIAL - © 2022 CoDMON Inc. 21 1. エンジニアとは
エンジニアリング ↓ 工学 (実現するための科学)
22 CONFIDENTIAL - © 2022 CoDMON Inc. 22 1. エンジニアとは
ソフトウェアにおける エンジニアリング ↓ ?
23 CONFIDENTIAL - © 2022 CoDMON Inc. 23 1. エンジニアとは
ソフトウェアにおける エンジニアリング ↓ 不確実性を効率よく削減すること
24 CONFIDENTIAL - © 2022 CoDMON Inc. 24 1. エンジニアとは
ソフトウェアにおける エンジニアリング ↓ 不確実性を効率よく削減すること (=「曖昧さ」を減らし、「具体性・明確さ」を増やす行為)
25 CONFIDENTIAL - © 2022 CoDMON Inc. 25 1. エンジニアとは
どういうことか?
26 CONFIDENTIAL - © 2022 CoDMON Inc. 26 1. エンジニアとは
出典: 広木 大地 (著)『エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング』技術評論社、2018年、P12
27 CONFIDENTIAL - © 2022 CoDMON Inc. 27 1. エンジニアとは
エンジニアとは ↓ 不確実性を効率よく削減する人
28 1 3 4 エンジニアとは なぜ負債に向き合ってきたのか 負債に向き合ってなにを得たのか 振り返り 今日話すこと 2
29 CONFIDENTIAL - © 2022 CoDMON Inc. 29 2. なぜ負債に向き合ってきたのか
負債を返済する ↓ ?
30 CONFIDENTIAL - © 2022 CoDMON Inc. 30 2. なぜ負債に向き合ってきたのか
負債を返済する ↓ 目の前の開発ストレスを 取り除くこと?
31 CONFIDENTIAL - © 2022 CoDMON Inc. 31 負債を返済する ↓
目の前の開発ストレスを 取り除くこと? 2. なぜ負債に向き合ってきたのか
32 CONFIDENTIAL - © 2022 CoDMON Inc. 32 2. なぜ負債に向き合ってきたのか
負債を返済する ↓ ?
33 CONFIDENTIAL - © 2022 CoDMON Inc. 33 2. なぜ負債に向き合ってきたのか
負債を返済する ↓ 長期的にプロダクトを 良くすること
34 CONFIDENTIAL - © 2022 CoDMON Inc. 34 2. なぜ負債に向き合ってきたのか
どういうことか?
35 CONFIDENTIAL - © 2022 CoDMON Inc. 35 2. なぜ負債に向き合ってきたのか
良いプロダクトをつくる
36 CONFIDENTIAL - © 2022 CoDMON Inc. 36 2. なぜ負債に向き合ってきたのか
良いプロダクトをつくる ↓ ?
37 CONFIDENTIAL - © 2022 CoDMON Inc. 37 2. なぜ負債に向き合ってきたのか
良いプロダクトをつくる ↓ 良い設計?流行りの技術使う?
38 CONFIDENTIAL - © 2022 CoDMON Inc. 38 2. なぜ負債に向き合ってきたのか
良いプロダクトをつくる ↓ 「ユーザーにとっての本当の価値」 を仮説検証して積み重ねる
39 CONFIDENTIAL - © 2022 CoDMON Inc. 39 案件:ダッシュボード画面のデザイン変更(一般的な仮説検証の流れ) 前提:コードの改修は表示関数を修正すればOK!
2. なぜ負債に向き合ってきたのか
40 CONFIDENTIAL - © 2022 CoDMON Inc. 40 案件:ダッシュボード画面のデザイン変更(一般的な仮説検証の流れ) 前提:コードの改修は表示関数を修正すればOK!
↓ 仮説:ユーザーが喜ぶデザインはA?B? • 〇〇だからデザインAだろう • △△だからデザインBかも 2. なぜ負債に向き合ってきたのか
41 CONFIDENTIAL - © 2022 CoDMON Inc. 41 案件:ダッシュボード画面のデザイン変更(一般的な仮説検証の流れ) 前提:コードの改修は表示関数を修正すればOK!
↓ 仮説:ユーザーが喜ぶデザインはA?B? • 〇〇だからデザインAだろう • △△だからデザインBかも ↓ 仮説検証結果をプロダクトに反映する 2. なぜ負債に向き合ってきたのか
42 CONFIDENTIAL - © 2022 CoDMON Inc. 42 2. なぜ負債に向き合ってきたのか
それが今のコドモンでは...
43 CONFIDENTIAL - © 2022 CoDMON Inc. 43 案件:ダッシュボード画面のデザイン変更 (コドモンでの仮説検証の流れ)
前提:コードの改修は表示関数を修正すればOK! 2. なぜ負債に向き合ってきたのか ✖ ✖ ✖ ✖ ✖
44 CONFIDENTIAL - © 2022 CoDMON Inc. 44 案件:ダッシュボード画面のデザイン変更 (コドモンでの仮説検証の流れ)
前提:コードの改修は表示関数を修正すればOK! ↓ テストで不具合を検知! 表示関数を修正すると特定のデータを持った ユーザーで画面崩れが発生! 2. なぜ負債に向き合ってきたのか ✖ ✖ ✖ ✖ ✖
45 CONFIDENTIAL - © 2022 CoDMON Inc. 45 案件:ダッシュボード画面のデザイン変更 (コドモンでの仮説検証の流れ)
前提:コードの改修は表示関数を修正すればOK! ↓ テストで不具合を検知! 表示関数を修正すると特定のデータを持った ユーザーで画面崩れが発生! ↓ 仮説検証の前に前提の再確認が必要! 2. なぜ負債に向き合ってきたのか ✖ ✖ ✖ ✖ ✖
46 CONFIDENTIAL - © 2022 CoDMON Inc. 46 案件:ダッシュボード画面のデザイン変更 (コドモンでの仮説検証の流れ)
前提(じゃなかった):コードの改修は表示関数を修正すればOK! ↓ 本当の前提:コードの改修は表示関数とデータ取得関数を修正すればOK! 2. なぜ負債に向き合ってきたのか 前提が違うのか...確かめなきゃ...
47 CONFIDENTIAL - © 2022 CoDMON Inc. 47 案件:ダッシュボード画面のデザイン変更 (コドモンでの仮説検証の流れ)
前提(じゃなかった):コードの改修は表示関数を修正すればOK! ↓ 本当の前提:コードの改修は表示関数とデータ取得関数を修正すればOK! ↓ 仮説:ユーザーが喜ぶデザインはA?B? ↓ 仮説検証結果をプロダクトに反映する 2. なぜ負債に向き合ってきたのか 前提が違うのか...確かめなきゃ... 前提がわかった...!やっと本題の仮説検証するぞ...
48 CONFIDENTIAL - © 2022 CoDMON Inc. 48 この既存プロダクトの 「じゃなかった前提」こそが
技術的負債です 2. なぜ負債に向き合ってきたのか
49 CONFIDENTIAL - © 2022 CoDMON Inc. 49 2. なぜ負債に向き合ってきたのか
一般的に向き合いたい課題 コドモンが向き合っている課題
50 CONFIDENTIAL - © 2022 CoDMON Inc. 50 2. なぜ負債に向き合ってきたのか
→ 「ユーザーにとっての本当の価値」(不確実性) + 前提の確認 一般的に向き合いたい課題 コドモンが向き合っている課題
51 CONFIDENTIAL - © 2022 CoDMON Inc. 51 2. なぜ負債に向き合ってきたのか
→「じゃなかった前提(技術的負債)」の確認(不確実性) +「ユーザーにとっての本当の価値」(不確実性) → 「ユーザーにとっての本当の価値」(不確実性) + 前提の確認 一般的に向き合いたい課題 コドモンが向き合っている課題
52 CONFIDENTIAL - © 2022 CoDMON Inc. 52 2. なぜ負債に向き合ってきたのか
ユーザーにとっての本当の価値に向き合いたい人 技術的負債に向き合いたい人
53 CONFIDENTIAL - © 2022 CoDMON Inc. 53 2. なぜ負債に向き合ってきたのか
• 社長、CS、営業、PdM、デザイナー、エンジニアなどなど • サービスに共感してくれる社外の人 → たくさんいる 技術的負債に向き合いたい人 ユーザーにとっての本当の価値に向き合いたい人
54 CONFIDENTIAL - © 2022 CoDMON Inc. 54 2. なぜ負債に向き合ってきたのか
• リファクタ大好きなエンジニア → あまりいない • 社長、CS、営業、PdM、デザイナー、エンジニアなどなど • サービスに共感してくれる社外の人 → たくさんいる ユーザーにとっての本当の価値に向き合いたい人 技術的負債に向き合いたい人
55 CONFIDENTIAL - © 2022 CoDMON Inc. 55 技術的負債を放置すると 人数が増えてもユーザーのための課題解決に
使える時間はあまり増えない 2. なぜ負債に向き合ってきたのか
56 CONFIDENTIAL - © 2022 CoDMON Inc. 56 2. なぜ負債に向き合ってきたのか
自分はエンジニアとして コドモンでどう働くべきか? ↓
57 CONFIDENTIAL - © 2022 CoDMON Inc. 57 2. なぜ負債に向き合ってきたのか
自分はエンジニアとして コドモンでどう働くべきか? ↓ 技術的負債に向き合うこと
58 CONFIDENTIAL - © 2022 CoDMON Inc. 58 2. なぜ負債に向き合ってきたのか
負債を返済する ↓ 長期的にプロダクトを 良くすること
59 エンジニアとは なぜ負債に向き合ってきたのか 負債に向き合ってなにを得たのか 振り返り 今日話すこと 1 2 3 4
60 CONFIDENTIAL - © 2022 CoDMON Inc. 60 3. 負債に向き合ってなにを得たのか
負債に向き合って得たもの それは
61 CONFIDENTIAL - © 2022 CoDMON Inc. 61 3. 負債に向き合ってなにを得たのか
負債に向き合って得たもの それは 「仕事」でした
62 CONFIDENTIAL - © 2022 CoDMON Inc. 62 「仕事の報酬は仕事」 by
ソニー創業者 井深 大 3. 負債に向き合ってなにを得たのか
63 CONFIDENTIAL - © 2022 CoDMON Inc. 63 3. 負債に向き合ってなにを得たのか
• コード修正によるリスク低減 • コードの複雑さを下げる 重視していたこと レガシーコード改善
64 CONFIDENTIAL - © 2022 CoDMON Inc. 64 3. 負債に向き合ってなにを得たのか
• コード修正によるリスク低減 • コードの複雑さを下げる • アプリの野良コードのGit管理化 • 神ファイルの解体 重視していたこと やったこと レガシーコード改善
65 CONFIDENTIAL - © 2022 CoDMON Inc. 65 3. 負債に向き合ってなにを得たのか
• コード修正によるリスク低減 • コードの複雑さを下げる • アプリの野良コードのGit管理化 • 神ファイルの解体 重視していたこと やったこと レガシーコード改善 • 可読性と変更容易性の向上による 開発者体験UP 結果
66 CONFIDENTIAL - © 2022 CoDMON Inc. 66 3. 負債に向き合ってなにを得たのか
• コード修正によるリスク低減 • コードの複雑さを下げる • アプリの野良コードのGit管理化 • 神ファイルの解体 重視していたこと やったこと • 可読性と変更容易性の向上による 開発者体験UP Mgr) 「DX改善とかやる?」 ※DX (Developer Experience) = 開発者体験 結果 得た仕事 レガシーコード改善
67 CONFIDENTIAL - © 2022 CoDMON Inc. 67 3. 負債に向き合ってなにを得たのか
• リリース作業によるリスク低減 • トイル(手作業)の削減 重視していたこと DX(開発者体験)改善
68 CONFIDENTIAL - © 2022 CoDMON Inc. 68 3. 負債に向き合ってなにを得たのか
• リリース作業によるリスク低減 • トイル(手作業)の削減 • 3つに分かれたリポジトリの統合 • ビルド、デプロイ運用の整備 • リリースフローの自動化 重視していたこと やったこと DX(開発者体験)改善
69 CONFIDENTIAL - © 2022 CoDMON Inc. 69 3. 負債に向き合ってなにを得たのか
• リリース作業によるリスク低減 • トイル(手作業)の削減 • 3つに分かれたリポジトリの統合 • ビルド、デプロイ運用の整備 • リリースフローの自動化 重視していたこと やったこと • リリース作業の均一化/工数の削減 • GitOpsの定着 結果 DX(開発者体験)改善
70 CONFIDENTIAL - © 2022 CoDMON Inc. 70 3. 負債に向き合ってなにを得たのか
• リリース作業によるリスク低減 • トイル(手作業)の削減 • 3つに分かれたリポジトリの統合 • ビルド、デプロイ運用の整備 • リリースフローの自動化 重視していたこと やったこと • リリース作業の均一化/工数の削減 • GitOpsの定着 SRE) 「DevOpsやってるし、 アプリ触れるし、SREチームで プッシュ通知基盤の改善とかどう?」 結果 得た仕事 DX(開発者体験)改善
71 CONFIDENTIAL - © 2022 CoDMON Inc. 71 3. 負債に向き合ってなにを得たのか
• 負荷によるリスク低減 • サービスの疎結合化 重視していること プッシュ通知基盤 / インフラ改善
72 CONFIDENTIAL - © 2022 CoDMON Inc. 72 3. 負債に向き合ってなにを得たのか
• 負荷によるリスク低減 • サービスの疎結合化 • プッシュ通知基盤の改善 • 既存サービスの負荷調査 重視していること やっていること プッシュ通知基盤 / インフラ改善
73 CONFIDENTIAL - © 2022 CoDMON Inc. 73 • レガシーコード改善
3. 負債に向き合ってなにを得たのか やってきた仕事 • プロダクトの深い知見 得たスキル、知見
74 CONFIDENTIAL - © 2022 CoDMON Inc. 74 • レガシーコード改善
↓ • DX(開発者体験)改善 3. 負債に向き合ってなにを得たのか やってきた仕事 • プロダクトの深い知見 • CI/CDツール(GitHub Actions) 得たスキル、知見
75 CONFIDENTIAL - © 2022 CoDMON Inc. 75 • プロダクトの深い知見
• CI/CDツール(GitHub Actions) • コンテナ設計(Docker,ECS) • Terraformによるインフラ構築 • レガシーコード改善 ↓ • DX(開発者体験)改善 ↓ • プッシュ通知基盤改善 3. 負債に向き合ってなにを得たのか やってきた仕事 得たスキル、知見
76 CONFIDENTIAL - © 2022 CoDMON Inc. 76 • レガシーコード改善
↓ • DX(開発者体験)改善 ↓ • プッシュ通知基盤改善 • インフラ改善 • プロダクトの深い知見 • CI/CDツール(GitHub Actions) • コンテナ設計(Docker,ECS) • Terraformによるインフラ構築 • 監視ツール(Datadog) • データ分析ツール(Jupyter) • 負荷テストツール(k6) 3. 負債に向き合ってなにを得たのか やってきた仕事 得たスキル、知見
77 CONFIDENTIAL - © 2022 CoDMON Inc. 77 • レガシーコード改善
↓ • DX(開発者体験)改善 ↓ • プッシュ通知基盤改善 • インフラ改善 3. 負債に向き合ってなにを得たのか やってきた仕事 • プロダクトの深い知見 • CI/CDツール(GitHub Actions) • コンテナ設計(Docker,ECS) • Terraformによるインフラ構築 • 監視ツール(Datadog) • データ分析ツール(Jupyter) • 負荷テストツール(k6) 得たスキル、知見
78 CONFIDENTIAL - © 2022 CoDMON Inc. 78 負債を返済すると プロダクトの
次の理想像が見えてくる 3. 負債に向き合ってなにを得たのか
79 CONFIDENTIAL - © 2022 CoDMON Inc. 79 プロダクトの 次の理想像への障壁が
また負債として見えてくる 3. 負債に向き合ってなにを得たのか
80 CONFIDENTIAL - © 2022 CoDMON Inc. 80 この流れを繰り返していくと プロダクトが成長する
3. 負債に向き合ってなにを得たのか
81 CONFIDENTIAL - © 2022 CoDMON Inc. 81 プロダクトが成長すると 自分が挑戦できる
機会も増えていく 3. 負債に向き合ってなにを得たのか
82 CONFIDENTIAL - © 2022 CoDMON Inc. 82 その結果こそが! 3.
負債に向き合ってなにを得たのか
83 CONFIDENTIAL - © 2022 CoDMON Inc. 83 技術的負債に向き合い続ける姿勢は スキル幅の広がりにも繋がる話
3. 負債に向き合ってなにを得たのか
84 エンジニアとは なぜ負債に向き合ってきたのか 負債に向き合ってなにを得たのか 振り返り 今日話すこと 1 2 3 4
85 CONFIDENTIAL - © 2022 CoDMON Inc. 85 4. 振り返り
負債に向き合ってきて 実際どうだったのか?
86 CONFIDENTIAL - © 2022 CoDMON Inc. 86 4. 振り返り
実は
87 CONFIDENTIAL - © 2022 CoDMON Inc. 87 4. 振り返り
最初はめちゃくちゃ大変でした...
88 CONFIDENTIAL - © 2022 CoDMON Inc. 88 4. 振り返り
神ファイル(controllers.js)の解体
89 CONFIDENTIAL - © 2022 CoDMON Inc. 89 神ファイル(controllers.js)とは •
可読性がとにかく低い! ファイル内検索で同じ名前の関数や変数が大量に... 4. 振り返り
90 CONFIDENTIAL - © 2022 CoDMON Inc. 90 神ファイル(controllers.js)とは •
可読性がとにかく低い! ファイル内検索で同じ名前の関数や変数が大量に... • 影響範囲がとにかく大きい! 触るたびに他の機能に影響が出ないか不安になる... 4. 振り返り
91 CONFIDENTIAL - © 2022 CoDMON Inc. 91 4. 振り返り
controllers.jsに悩まない状況にしたい!
92 CONFIDENTIAL - © 2022 CoDMON Inc. 92 神ファイル(controllers.js)解体の大変さ •
リリースまでの慎重な影響調査 担当チームと古株メンバーへの影響確認と可読性の低さ 4. 振り返り
93 CONFIDENTIAL - © 2022 CoDMON Inc. 93 神ファイル(controllers.js)解体の大変さ •
リリースまでの慎重な影響調査 担当チームと古株メンバーへの影響確認と可読性の低さ • 影響範囲を抑えるための分割リリース 画面ごとに20回以上に分けてのリリース作業 4. 振り返り
94 CONFIDENTIAL - © 2022 CoDMON Inc. 94 4. 振り返り
神ファイル(controllers.js)を解体すると
95 CONFIDENTIAL - © 2022 CoDMON Inc. 95 神ファイル(controllers.js)を解体すると •
返済した時に、開発部が盛り上がる! みんなその負債に苦しんでたので、とても感謝してくれるし、自分も嬉しい! 4. 振り返り
96 CONFIDENTIAL - © 2022 CoDMON Inc. 96 神ファイル(controllers.js)を解体すると •
返済した時に、開発部が盛り上がる! みんなその負債に苦しんでたので、とても感謝してくれるし、自分も嬉しい! • 負債の名前が、返済以降は会話に出なくなる! 組織とプロダクトのたしかな進歩を感じる! (最近入社した方は、controllers.js なんて知らない) 4. 振り返り
97 CONFIDENTIAL - © 2022 CoDMON Inc. 97 4. 振り返り
この最初の取り組みで得た 反省があります
98 CONFIDENTIAL - © 2022 CoDMON Inc. 98 → ユーザーの価値に直接繋がらないため、何のためにやってるか見失いやすい
その結果、トラブルが起きた時にモチベーションを保つのが難しかった 4. 振り返り 反省 一人でやってて、辛くなった時があった
99 CONFIDENTIAL - © 2022 CoDMON Inc. 99 → ユーザーの価値に直接繋がらないため、何のためにやってるか見失いやすい
その結果、トラブルが起きた時にモチベーションを保つのが難しかった 4. 振り返り 反省 一人でやってて、辛くなった時があった → なるべく会社やチームと合意しながら進めて、一人でやらない 周りの理解を得られなければ課題の数値化、言語化から始めるのも良いかも 学び 周りを巻き込んでいこう
100 CONFIDENTIAL - © 2022 CoDMON Inc. 100 4. 振り返り
チームで対応すると 自分には無いスキルや知見を持った人と働くため お互いにスキル、知見を深めやすい
101 CONFIDENTIAL - © 2022 CoDMON Inc. 101 4. 振り返り
スキル、知見が増えると プロダクトや組織に還元出来ることも増えるので チームワークは大事にしていきましょう
102 CONFIDENTIAL - © 2022 CoDMON Inc. 102 4. 振り返り
プロダクトや組織も大事ですが
103 CONFIDENTIAL - © 2022 CoDMON Inc. 103 4. 振り返り
プロダクトや組織のためにも
104 CONFIDENTIAL - © 2022 CoDMON Inc. 104 4. 振り返り
負債返済で自分が 辛くならない ようにしましょう!
105 まとめ
106 今日話したこと エンジニアとは なぜ負債に向き合ってきたのか 負債に向き合ってなにを得たのか 振り返り 1 2 3 4
107 今日話したこと エンジニアとは →不確実性を効率よく削減する人 なぜ負債に向き合ってきたのか 負債に向き合ってなにを得たのか 振り返り 1 2 3
4
108 今日話したこと エンジニアとは →不確実性を効率よく削減する人 なぜ負債に向き合ってきたのか →長期的にプロダクトを良くするため 負債に向き合ってなにを得たのか 振り返り 1 2
3 4
109 今日話したこと エンジニアとは →不確実性を効率よく削減する人 なぜ負債に向き合ってきたのか →長期的にプロダクトを良くするため 負債に向き合ってなにを得たのか →仕事の報酬は仕事、スキルは副産物 振り返り 1
2 3 4
110 今日話したこと エンジニアとは →不確実性を効率よく削減する人 なぜ負債に向き合ってきたのか →長期的にプロダクトを良くするため 負債に向き合ってなにを得たのか →仕事の報酬は仕事、スキルは副産物 振り返り →負債返済で自分が辛くならないように、周りを巻き込んでいこう
1 2 3 4
111 この話を聞いて
112 「プロダクトや開発組織を良くしたい!」 (でも技術的負債は嫌だなぁ...)
113 「プロダクトや開発組織を良くしたい!」 (でも技術的負債は嫌だなぁ...) ↓ 一歩踏み込んで挑戦してみるかー!
114 「プロダクトや開発組織を良くしたい!」 (でも技術的負債は嫌だなぁ...) ↓ 一歩踏み込んで挑戦してみるかー! (と思ってくれたら嬉しいです!)
115 最後に
ユーザーへ届く価値を 最大化し続ける “すべての先生に 子どもと向き合う 時間と心のゆとりを”持ってもらうた めに存在するフラットなチームで す。 結果からの学びを活かし ベターを模索し続ける プロダクトも/チームも/個々人も、起
きた結果からの学びを活かして「より よい状態」へ成長し続けるチームであ りたいと思っています。 チームの存在理由 だからこんなチームでいたい 116
LT会 毎月第三水曜日の午後に1時間、 LT会を開催しています。 トピックを技術に限定しておらず 多様な発表があり、トピックに よってはGoogle Meetのチャット コメントがお祭りのようになるこ ともあります。 育休や時短勤務
男女関係なく、育休や時短勤務を しているメンバーも多いです。 「子どもを取り巻く環境をテクノ ロジーの力でよりよいものに」と いう会社のミッションは、自分た ちの働き方にもつながっていま す。 リノベマンションでコロナ禍を乗 り越えた一家の話 現代エディタ界の帝王 あなたの知らないリリース基盤の 世界 MySQLでテーブルロックが掛かっ た話 クリーンアーキテクチャで絶対ク リーンにならない部分の話 こんなこともあります 輪読会や勉強会の開催 コドモンには週半日の学習投資の 制度があります。制度を使って個 人的な学習だけではなく、チーム や有志での勉強会・輪読会などが 頻繁に開催されています。また外 部の方や有識者主催でハンズオン が開催されることもあります。 117 毎日の開発や調査にペアプログラミ ングを取り入れてます。ドライバー のコーディング・進め方・ふるまい についてナビゲーターがその場です ぐにフィードバックし、小さいタイ ムラグでフィードバックサイクルを 回します。 ペアプロ/モブプロ
118 コドモン採用ページ 開発ブログ コドモンでは一緒に働きたい仲間を募集しています!
119 ご清聴ありがとうございました!