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
Fujimura Daisuke
November 20, 2024
4
1.1k
庭と負債
Fujimura Daisuke
November 20, 2024
Tweet
Share
More Decks by Fujimura Daisuke
See All by Fujimura Daisuke
AIの時代で我々はどのようにコードを書くのか
fujimura
3
850
SaaSを作るという仕事について
fujimura
12
5.7k
一文字エイリアスのすすめ
fujimura
0
330
現役CTOが語る!RubyKaigiの楽しみ方
fujimura
0
1.2k
いかにして文系新卒エンジニアが「大きな問い」を大事にするCTOになったのか
fujimura
2
670
Kaigi on Rails 2022 - 既存Railsアプリ攻略法 CTOが見ること・やること・考えること
fujimura
14
3.9k
SimpleDelegator活用のご提案
fujimura
0
1.5k
入門 名前
fujimura
24
14k
それPostgreSQLでできるよ @ Rails Developer Meetup 2018 Day 1
fujimura
10
3.9k
Featured
See All Featured
Done Done
chrislema
181
16k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Building Your Own Lightsaber
phodgson
103
6.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
The Cult of Friendly URLs
andyhume
78
6.1k
Docker and Python
trallard
42
3.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Transcript
2024-11-20 ROSCAFE TECH NIGHT#12 CTOが技術的負債とどう向き合うか 戦略的視点からの考察 STORES 株式会社 CTO 藤村大介
庭と負債
自己紹介 - お仕事 2 時期 2008~2012 2013~ 2015~ 2020~ 会社
いろいろ Quipper マチマチ STORES バックエンド Rails Rails Rails Rails, etc. フロントエンド jQuery, Backbone.js etc. Backbone.js etc. React.js React.js, Vue.js 立場 ほぼメンバー いわゆるEM CTO CTO 藤村大介 twitter.com/ffu_ github.com/fujimura note.com/fujimuradaisuke
自己紹介 - 書いたり発表したもの 3 Rails Developer Meetup 2019 入門 名前
WEB+DB PRESSの特集のダイジェスト版 https://speakerdeck.com/fujimura/ru-men-ming-qian WEB+DB PRESS Vol.110 特集 名前付け大全 「よい命名とは」をガチで考えてみたやつ https://gihyo.jp/magazine/wdpress/archive/2019/vol110
自己紹介 - 書いたり発表したもの 4 STORES Tech Conf 2024 AIの時代で我々はどのようにコードを書くのか このさきエンジニアに残される仕事とはなにか?をガチで考えてみたやつ
https://speakerdeck.com/fujimura/new-engineering-2024-our-remaining-work
自己紹介 - ポッドキャスト 5 論より動くもの.fm 藤村がホストになって、技術や技術にまつわることについてざっくばらんに話す Podcastです。 文字起こしもあるよ! 論より動くもの.fm |
Podcast on Spotify 論より動くもの.fm on Apple Podcasts 論より動くもの.fm カテゴリーの記事一覧 - STORES Product Blog
6
STORES のミッション こだわりや情熱、たのしみに駆動される経済をつくる 熱中しているひとたちから生み出される、 多様な商品やサービスが街に溢れる世界。 その経済を支える、デジタルインフラを提供する。 7
サービス紹介 8 お店のデジタルを まるっとサポート。 個人や中小事業の方々に向けて、 お店のデジタル化をまるっと 実現できる価値を提供しています。
採用してます! STORES 採用 https://jobs.st.inc/ 詳細はこちらで検索
ぶっちゃけどうなの?というところから、 これから目指していることなど、リアルな STORES についてお話します。 少しでも興味をお持ちいただけたらお気軽にご参加ください。お待ちしております! オンライン会社説明会、やってます。 開催日程はこちら https://jobs.st.inc/
2024-11-20 ROSCAFE TECH NIGHT#12 CTOが技術的負債とどう向き合うか 戦略的視点からの考察 STORES 株式会社 CTO 藤村大介
庭と負債
今日の話 • 「技術的負債」の由来、考えたことありますか? • 財務会計からの比喩 • 「返済」「利子」という考え方 • でも本当にこれが適切なメタファーなのでしょうか? •
「庭」というメタファーでどうか? • だいぶ実践よりですが、エンジニアリングの文化も戦略ということで…
「技術的負債」というメタファーの限界 • 企業財務における負債 • 資金調達方法の一つ。経営判断として意図的に選択される • 返済計画、リスク評価が存在し、定量的に管理される • ソフトウェアにおける「負債」 •
失敗、環境の変化などで意図せず発生する • その成り立ちからして、計画的な管理は難しい • 「技術的負債」はミスリーディング • 人間の思考は言葉の意味に引っ張られる • 「技術的負債」という財務からの概念は「管理できる」という期待を抱 かせる • が、実際はできない • 持続可能なコードベースに向けたよりよいメタファーが必要では?
「庭」というメタファーはどうか? • 作り方 • 計画はあるが、環境との対話で変化していく • 完璧な設計図通りには進まない • 時間とともに育つことを前提とした構想 •
育て方 • 日々の手入れの積み重ね • 環境の変化への適応 • 予期せぬ事態(病害虫、天候)への対応 • ソフトウェアとの共通点 • 完璧な状態がない • 変化する • 継続的なケアが必要
実践と心がけ • お手入れ • 庭が荒れているのを見て「これは計画的な負債」とは感じないはず。見 つけたら片付けよう • ケアは実践でありマインドセットである。計画性も重要だが日々の行い にするべし •
具体例:手を入れる前にリファクタリングする • 庭を歩く • コードベースとその価値や意味合いは時間とともに変化する。歩いて眺 めよう • 周囲のコードや使われ方、ドメインモデルと一緒に見て、造形や配置が 自然になっているか感じる • メトリクスやドキュメントも同じ
マインドセットの変化 • 関係性の変化 • 負債という管理すべき対象から、庭という愛着の持てる作品へ • 「お気に入り」の箇所が生まれたり • 感情の変化 •
義務としての負債解消から、少しづつ改善して育てる喜びへ • 「負債の返却」 vs 「お手入れ」 • 庭仕事は楽しい! • 計画的な負債の解消よりも、徐々に庭を育てるほうが楽しい • 庭仕事は実践なので、モチベーションのインパクトは大きい
チーム文化への発展 • 庭仕事は計画的な実行ではなく、日々の実践 • まずは自分から少しづつ始める • 毎日出社したら何か一つ片付ける、というのがオススメ • 前例が習慣となり、文化になる •
ときには採用も大事
まとめ • 「技術的負債」への代替アプローチはある • 「庭を育てる」という戦術…というか文化 • 文化を変える、という戦略 • 庭を育てるようにソフトウェアを書いてみよう •
愛着をもって、少しづつ、チームで ちなみに、「庭」という捉え方は同僚(@yubrot & @ykpythemind)の発言がオリジナル。この発表をするにあ たって読んだ 山内朋樹『庭のかたちが生まれるとき 庭園の詩学と庭師の知恵』からも大きなインスピレーション をもらいました。