Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ぼくらはこうして乗り越えてきた!
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
fukumura
June 20, 2019
Programming
2.4k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ぼくらはこうして乗り越えてきた!
CTOが考える、チームで向き合う技術的負債との付き合い方
fukumura
June 20, 2019
More Decks by fukumura
See All by fukumura
リードエンジニアから学ぶMedPeerの プロダクト開発
fukumura
1
1k
Rubyコミュニティとメドピアの素敵な関係
fukumura
5
9.5k
20190828_withrarejob_v1.0.pdf
fukumura
0
410
JapanTaxi x MedPeer 技術交流会
fukumura
1
640
20190523_graspy_.pdf
fukumura
0
580
RailsDevelopersMeetupスポンサーセッション資料
fukumura
0
330
20181101_medpeer_rwc.pdf
fukumura
0
3.8k
MedPeerGroup会社紹介
fukumura
0
2.5k
japantaxi_medpeer
fukumura
0
370
Other Decks in Programming
See All in Programming
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
400
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.3k
ActionController meets Protocol Buffers
sorah
0
560
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
800
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.2k
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.7k
残高管理から台帳サービスへの進化
artoy
1
200
Railsバージョンを4倍にした話
optim
0
450
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.2k
Kotlinの15年とServer-Side Kotlin
n_takehata
1
150
Featured
See All Featured
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
830
The Cost Of JavaScript in 2023
addyosmani
55
10k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Docker and Python
trallard
47
4.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
GitHub's CSS Performance
jonrohan
1033
470k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
The Curse of the Amulet
leimatthew05
3
16k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Code Reviewing Like a Champion
maltzj
529
40k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
67k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
Transcript
CTOが考える、 チームで向きあう技術的負債との付き合い⽅ 2019/6/20 メドピア株式会社 |> ぼくらはこうして乗り越えてきた!
⽬次 1. ⾃⼰紹介 2. メドピアってどういう会社? 3. 技術的負債とメドピアでの取り組み 4. 今からできる取り組み
3 ⾃⼰紹介 2児の⽗。 好きな飲物はビールです。 2012年からメドピアで頑張ってます! MedBeerというエンジニア向けイベントを不定期で開催してます! 福村 彰展(@fukumura) メドピア株式会社 CTO
Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc
⽬次 1. ⾃⼰紹介 2. メドピアってどういう会社? 3. 技術的負債とメドピアでの取り組み 4. 今からできる取り組み
5 メドピアってどういう会社? Supporting Doctors, Helping Patients. 医師を⽀援すること。そして患者を救うこと。 集合知により医療を再発明する。 Mission -存在意義-
Vision -実現したい姿- Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc
6 メドピアってどういう会社? 医師専⽤コミュニティサイトの 運営がメインの会社です Copyright(C) 2019 ALL RIGHTS RESERVED ,
MedPeer,Inc
7 メドピアってどういう会社? メドピアの特徴は3つ! Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc
8 メドピアってどういう会社? 1. 社⻑が現役の医師! Copyright(C) 2019 ALL RIGHTS RESERVED ,
MedPeer,Inc
9 メドピアってどういう会社? 1. 社⻑が現役の医師! Copyright(C) 2019 ALL RIGHTS RESERVED ,
MedPeer,Inc 医療現場の⼿触り感 強い想い
10 Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc メドピアってどういう会社? 2.
⽇本の医師の3⼈に1⼈が会員! ? ? 医師の3⼈に1⼈が会員
11 Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc. メドピアってどういう会社? 2.
⽇本の医師の3⼈に1⼈が会員! ? ? 医師の3⼈に1⼈が会員 医療業界へ ゲームチェンジが起こせる プラットフォーム
12 Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc メドピアってどういう会社? 3.
エンジニア⽂化!
13 Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc メドピアってどういう会社? 3.
エンジニア⽂化! 2012年から醸成している エンジニア⽂化!
14 Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc メドピアってどういう会社? 開発支援系
データベース 開発言語 開発・本番環境 業務支援系 その他 スピーディに技術選択
15 Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc メドピアってどういう会社? 開発支援系
データベース 開発言語 開発・本番環境 業務支援系 その他 スピーディに技術選択 PHPの独⾃フレームワークから Railsへ移⾏している会社です。 開発フローはgithubフロー(っぽいので) 環境は今⾵を維持してると思います!
16 メドピアの開発チーム 新規事業 エンジニア チーム エンジニア チーム エンジニア チーム エンジニア
チーム エンジニア チーム エンジニア チーム フロントエンド SRE セキュリティ QA サービス開発チームと基盤チームのマトリクス構成 C T O 室 for 医師 for 薬剤師 for コンシューマー/ビジネス 新規事業 Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc
17 メドピアの開発チーム 新規事業 エンジニア チーム エンジニア チーム エンジニア チーム エンジニア
チーム エンジニア チーム エンジニア チーム フロントエンド SRE セキュリティ QA サービス開発チームと基盤チームのマトリクス構成 C T O 室 for 医師 for 薬剤師 for コンシューマー/ビジネス 新規事業 Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc Railsエンジニア 40名(増員予定) アプリエンジニア 10名(増員予定) フロントエンドエンジニア 2名(増員予定) SRE 5名(増員予定) セキュリティ 1名(増員予定) QA 1名(増員予定)
18 メドピアの技術顧問 Ruby領域: 前島 真⼀⽒(@netwillnet) フリーランスとして、スタートアップ企業でのサービス開発⽴ち上げの経験多 数。地域Rubyコミュニティ ginza.rbやオンライン勉強会を主催。著書にパー フェクトRuby on
Rails(共著)、WEB+DB PRESSでRuby連載(Vol.93~95)。 メドピアには2016年2⽉より技術顧問として参画。 メドピアのRuby on Rails化やエンジニアの⽂化づくりをサポート フロントエンド領域: 林優⼀⽒(@frontainer) プロダクトアドバイザーソーシャルゲーム・Web開発会社にてフロントエンド エンジニア、本部⻑、CTO、プロダクトマネージャーを歴任。 現在、共同創業者の⼀員として⾃社サービスの開発に携わるとともに、社外に 向けてフロントエンド技術やプロダクト開発のアドバイスなどを⾏っている。 メドピアには2018年10⽉より技術顧問として参画。 メドピアのフロントエンド開発、JavaScript全般の技術⼒底上げをサポート。 Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc
19 メドピアの技術顧問 Ruby領域: 前島 真⼀⽒(@netwillnet) フリーランスとして、スタートアップ企業でのサービス開発⽴ち上げの経験多 数。地域Rubyコミュニティ ginza.rbやオンライン勉強会を主催。著書にパー フェクトRuby on
Rails(共著)、WEB+DB PRESSでRuby連載(Vol.93~95)。 メドピアには2016年2⽉より技術顧問として参画。 メドピアのRuby on Rails化やエンジニアの⽂化づくりをサポート フロントエンド領域: 林優⼀⽒(@frontainer) プロダクトアドバイザーソーシャルゲーム・Web開発会社にてフロントエンド エンジニア、本部⻑、CTO、プロダクトマネージャーを歴任。 現在、共同創業者の⼀員として⾃社サービスの開発に携わるとともに、社外に 向けてフロントエンド技術やプロダクト開発のアドバイスなどを⾏っている。 メドピアには2018年10⽉より技術顧問として参画。 メドピアのフロントエンド開発、JavaScript全般の技術⼒底上げをサポート。 Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc コードを⼀緒に書いてくれたり メドピアテックブログ書いてくれちゃったり 勉強会主導してくれたり ランチに⼀緒に⾏ってくれり 合宿に⼀緒に⾏ってくれたり
⽬次 1. ⾃⼰紹介 2. メドピアってどういう会社? 3. 技術的負債とメドピアでの取り組み 4. 今からできる取り組み
21 技術的負債とメドピアの取り組み 今⽇のテーマは技術的負債 技術的負債ってなんだろう? Copyright(C) 2019 ALL RIGHTS RESERVED ,
MedPeer,Inc
22 技術的負債とメドピアの取り組み 今⽇のテーマは技術的負債 技術的負債(英: Technical debt)とは、⾏き当たりばった りなソフトウェアアーキテクチャと、余裕のないソフトウェ ア開発が引き起こす結果のことを指す新しい⽐喩である。 Copyright(C) 2019
ALL RIGHTS RESERVED , MedPeer,Inc https://ja.wikipedia.org/wiki/%E6%8A%80%E8%A1%93%E7%9A%84%E8%B2%A0%E5%82%B5 Wikipediaによると・・・
23 技術的負債とメドピアの取り組み 今⽇のテーマは技術的負債 考えました Copyright(C) 2019 ALL RIGHTS RESERVED ,
MedPeer,Inc
24 技術的負債とメドピアの取り組み 技術的負債とはエンジニア視点だと下記3つ。 • モチベーションを下げるコード • 想定外に障害が起きてしまうコード • 想定外に⼯数がかかるコード 個々⼈の気持ち・スキル・知識
で感じ⽅が変わるもの。 Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc
25 技術的負債とメドピアの取り組み 技術的負債を放置すると? • ⽣産性が落ちる • 障害が起きやすくなる • 経営陣との信頼が崩れる •
モチベーションが下がる • 辞めたくなる Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc
26 技術的負債とメドピアの取り組み 放っておけない。カイゼンだ。 Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc
27 技術的負債とメドピアの取り組み 今⽇のテーマは技術的負債 モチベーションを下げるコードとは Copyright(C) 2019 ALL RIGHTS RESERVED ,
MedPeer,Inc
28 技術的負債とメドピアの取り組み モチベーションを下げるコードとは • 仕様がよくわからない • バージョンが最新じゃない・古い • トレンドじゃない Copyright(C)
2019 ALL RIGHTS RESERVED , MedPeer,Inc
29 技術的負債とメドピアの取り組み 障害が予想外に起きてしまうコード • テストがない • 可読性が悪い • 設計思想の理解が薄い Copyright(C)
2019 ALL RIGHTS RESERVED , MedPeer,Inc
30 技術的負債とメドピアの取り組み 想定より余計に⼯数がかかるコード • 可読性が悪い • Fat • DRYじゃない、DRYすぎる Copyright(C)
2019 ALL RIGHTS RESERVED , MedPeer,Inc
31 技術的負債とメドピアの取り組み 技術的負債の対策は下記3つかな? モチベーションを下げるコード 想定外に障害が起きてしまうコード 想定外に⼯数がかかるコード • モチベーションを上げる環境 • 障害が起きにくいコードと環境
• 開発がぐんぐん進むコードが⽣まれる環境 Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc
32 技術的負債とメドピアの取り組み 技術的負債の対策! • モチベーションを上げる環境 • 障害が起きにくいコードと環境 • 開発がぐんぐん進むコードが⽣まれる環境 Copyright(C)
2019 ALL RIGHTS RESERVED , MedPeer,Inc
33 技術的負債とメドピアの取り組み • モチベーションを上げる環境 Copyright(C) 2019 ALL RIGHTS RESERVED ,
MedPeer,Inc 技術的負債の対策!
34 技術的負債とメドピアの取り組み 技術的負債の対策! • モチベーションを上げる環境 独⾃フレームワークからRuby on Railsへ移⾏ Rails6で開発している PJTがすでに2つ!
Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc
35 技術的負債とメドピアの取り組み • モチベーションを上げる環境 テストを書く 後世に安⼼を与える Copyright(C) 2019 ALL RIGHTS
RESERVED , MedPeer,Inc メドピアでは ⾒積もるときにテストを書く分を 想定して⾒積もるようにしている。 技術的負債の対策!
36 技術的負債とメドピアの取り組み 技術的負債の対策! • モチベーションを上げる環境 テストを書く 後世に安⼼を与える https://tech.medpeer.co.jp/entry/2017/05/23/070000 Copyright(C) 2019
ALL RIGHTS RESERVED , MedPeer,Inc メドピアでは 書き⽅などもブログでアウトプット
37 技術的負債とメドピアの取り組み • モチベーションを上げる環境 定期的なバージョンアップ Copyright(C) 2019 ALL RIGHTS RESERVED
, MedPeer,Inc 技術的負債の対策! メドピアでは ⽉2回、⾃動でプルリクが作られる 仕組みを採⽤。 dependabotとか無料になったし便利。 (キャプチャはcircleci-bundle-update-pr )
38 技術的負債とメドピアの取り組み 技術的負債の対策! • 障害が起きにくいコードと環境 Copyright(C) 2019 ALL RIGHTS RESERVED
, MedPeer,Inc
39 技術的負債とメドピアの取り組み • 障害が起きにくいコードと環境 テストを書く!(再) 技術的負債の対策! Copyright(C) 2019 ALL RIGHTS
RESERVED , MedPeer,Inc ⼤事なことなので2回。
40 技術的負債とメドピアの取り組み 技術的負債の対策! • 障害が起きにくいコードと環境 皆で勉強(会)する Copyright(C) 2019 ALL RIGHTS
RESERVED , MedPeer,Inc 輪読会おすすめです。 同じ書籍を持ち寄って、 みんなで読むところから始めよう。 社内の知⾒者に参加してもらったり すると周りに好影響与えます。 ※メドピアでは技術顧問の前島さんに ファシリテートしてもらいながら 気になったらみなで会話するスタイル
41 技術的負債とメドピアの取り組み 技術的負債の対策! • 障害が起きにくいコードと環境 皆で勉強(会)する Copyright(C) 2019 ALL RIGHTS
RESERVED , MedPeer,Inc
42 技術的負債とメドピアの取り組み 技術的負債の対策! • 障害が起きにくいコードと環境 レビューする! Copyright(C) 2019 ALL RIGHTS
RESERVED , MedPeer,Inc おすすめです。 プルリクのテンプレート化
43 技術的負債とメドピアの取り組み 技術的負債の対策! • 障害が起きにくいコードと環境 レビューする! Copyright(C) 2019 ALL RIGHTS
RESERVED , MedPeer,Inc おすすめです。 プルリクのテンプレート化 • このプルリクエストは何なのか? • チケットURL • 重点的に⾒てほしいところは?(不安なところ) • どんなテストをしたか • ローカル環境で動かしたくなった時の⼿順
44 技術的負債とメドピアの取り組み 技術的負債の対策! • 障害が起きにくいコードと環境 可読性よくする! Copyright(C) 2019 ALL RIGHTS
RESERVED , MedPeer,Inc CIで怒ってもらうのおすすめです。 コーディング規約チェックを⼊れる RubocopとかPHP_CodeSnifferとか。
45 技術的負債とメドピアの取り組み 技術的負債の対策! • 開発がぐんぐん進むコードが⽣まれる環境 Copyright(C) 2019 ALL RIGHTS RESERVED
, MedPeer,Inc
46 技術的負債とメドピアの取り組み 技術的負債の対策! • 開発がぐんぐん進むコードが⽣まれる環境 レールに乗る Copyright(C) 2019 ALL RIGHTS
RESERVED , MedPeer,Inc 輪読会おすすめです(再) Ruby関連の書籍や gemのREADMEを読むなどしてます。
47 技術的負債とメドピアの取り組み 技術的負債の対策! • 開発がぐんぐん進むコードが⽣まれる環境 整地部活動する Copyright(C) 2019 ALL RIGHTS
RESERVED , MedPeer,Inc 整地部おすすめです。 荒地ページを作ってリファクタリング したいところを記述。 隔週で1.5h 程度の時間を確保。 修正⼤きい場合は、 技術⼒⾼いエンジニアを頼りながら カイゼン!
48 技術的負債とメドピアの取り組み 技術的負債の対策! • 開発がぐんぐん進むコードが⽣まれる環境 整地部活動する https://tech.medpeer.co.jp/entry/2018/10/24/180932 Copyright(C) 2019 ALL
RIGHTS RESERVED , MedPeer,Inc
49 技術的負債とメドピアの取り組み 技術的負債の対策! • 開発がぐんぐん進むコードが⽣まれる環境 皆でプルリクを振り返る Copyright(C) 2019 ALL RIGHTS
RESERVED , MedPeer,Inc 例えば、Rails6でハマった知⾒ をプルリクを通し、 皆が同じ地雷を踏まないように 共有しています。
50 技術的負債とメドピアの取り組み 技術的負債の対策! • 開発がぐんぐん進むコードが⽣まれる環境 JavaScriptStudy ハンズオンで勉強会 • ES6 •
Vue.js • TypeScript Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc
51 技術的負債とメドピアの取り組み 技術的負債の対策! • 開発がぐんぐん進むコードが⽣まれる環境 インフラStudy ハンズオンで勉強会 • シンプルなRailsアプリ作成 •
ネットワーク・セキュリティ Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc
52 技術的負債とメドピアの取り組み 技術的負債の対策! • 開発がぐんぐん進むコードが⽣まれる環境 SecurityStudy 勉強⽤リポジトリ作成 • 初期はテストがfail •
脆弱性を潰すとsuccess • OWASP top10 の理解 OSSのRailsGoatを カスタマイズして利⽤ Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc
⽬次 1. ⾃⼰紹介 2. メドピアってどういう会社? 3. 技術的負債とメドピアでの取り組み 4. 今からできる取り組み
54 取り組み とっつきやすい取り組み Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc
取り組みとまとめ
55 取り組み 整地部 輪読会 プルリク振り返り会 プルリクテンプレート レビュー コーディング規約⾃動チェック Copyright(C) 2019
ALL RIGHTS RESERVED , MedPeer,Inc 取り組みとまとめ
56 取り組み すこしハードルがあるかもな取り組み Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc
取り組みとまとめ
57 取り組み エンジニア⽂化を醸成 技術的負債の解消チームを作る 技術顧問の⼒をかりる 技術研鑽系イベントの定期開催 技術研鑽系のサポート Copyright(C) 2019 ALL
RIGHTS RESERVED , MedPeer,Inc 取り組みとまとめ
58 取り組みとまとめ 2013年から年2〜3回ペースで⾏き続けています! Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc
<過去実績> 2013年3⽉ 伊東 2013年9⽉ 箱根 2014年2⽉ 伊東 2014年6⽉ 千葉 2015年3⽉ 伊東 2016年1⽉ 熱海 2016年8⽉ 湯河原 2017年3⽉ 湯河原 2017年7⽉ 千葉 2017年11⽉ 群⾺ 2018年7⽉ 伊⾖⼤島 2018年11⽉ 湯河原 2019年6⽉ 北の⽅?
59 まとめ 新規事業 エンジニア チーム エンジニア チーム SRE セキュリティ for
医師 新規事業 C T O 室 2016年までの開発チーム。
60 メドピアの開発チーム 新規事業 エンジニア チーム エンジニア チーム エンジニア チーム エンジニア
チーム SRE セキュリティ for 医師 for コンシューマー/ビジネス 新規事業 C T O 室 Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc 2017年までの開発チーム。
61 メドピアの開発チーム 新規事業 エンジニア チーム エンジニア チーム エンジニア チーム エンジニア
チーム エンジニア チーム SRE セキュリティ for 医師 for コンシューマー/ビジネス 新規事業 C T O 室 Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc 2018年までの開発チーム。
62 メドピアの開発チーム 新規事業 エンジニア チーム エンジニア チーム エンジニア チーム エンジニア
チーム エンジニア チーム エンジニア チーム フロントエンド SRE セキュリティ QA for 医師 for 薬剤師 for コンシューマー/ビジネス 新規事業 C T O 室 Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc 2019年の開発チーム。(今)
63 取り組み ⼈増えてくると・・・ Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc
取り組みとまとめ
64 取り組みとまとめ まとめ 技術的負債を望んで作る⼈はいないが、 できてしまうのは仕⽅がない。 ⾒る⼈が変わると技術的負債に早変わり していまうという困り物。 やれるところからやっていく姿勢が⼤事。 Copyright(C) 2019
ALL RIGHTS RESERVED , MedPeer,Inc
65 仲間募集してます! Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc
66 ご清聴ありがとうございました! Copyright(C) 2019 ALL RIGHTS RESERVED , MedPeer,Inc