SlideShare a Scribd company logo
1 of 34
学び実践してきたこと
Supership 山崎大輔(@yamaz)
山崎大輔(@yamaz)
Supership 取締役
この資料は?
学生→社会人→起業→買収→合併という
人生で、今まで学んで実践してきたことを
まとめてみました。
注意!
この資料は「こうしろ!」ということを
強制するものではありません。
みなさんの考え方の一助になれば。
社会人になってからの歩み
1. 大学卒業後TI(当時世界三位の半導体会
社)に入社。工場勤務。
2. ヤフーに転職
3. ヤフーを退職、スケールアウト立ち上げ
4. 買収されたり合併したりで現在Supership
学んだこと
TOC(Theory of Constraints)
制約条件の理論
いきなりですが、質問です。
50人のクラスが遠足で山に登ります。
山に登る速度はどう決定されるでしょう?
答え
山を登る速度はそのクラスの一番足の遅い
人間の速度によって決定されます。
TOCを3行で
1. システムのパフォーマンスはボトルネックの
パフォーマンスによって決定される
2. よってボトルネックの改善だけが重要(ボトル
ネック以外の改善はほぼムダ!!)
3. ボトルネックを解消するとボトルネックは次に
移るので、ずっと改善が可能
学んだこと
待ち行列理論
またまた質問です。
いつも10人並んでるATMが1台があります.
ここで新たにATMを1台足すと行列の数はどうな
るでしょう?
ATM
ATM
ATM
答え
だいたい0人に近づいていく
(半分ではない)
いつも10人並んでるATMとは
→ 単位時間に到着する人数とATMが
処理できる人数が釣り合ってるということ
いつも10人
ATM
ATMが1台増えると?
→ ATMが処理できる人数の方が多くなる
→ 行列の数がどんどん減っていく
→ 最終的に0人になる
ATM
ATM
ATMの処理性能 < 到着数の時
処理が間に合ってないってことな
ので、行列がどんどん増えて
最終的にめちゃくちゃ遅くなる
ATMの処理性能 > 到着数の時
処理が間に合ってるってことなの
で、行列がどんどん減って最終的
には0に近づく
リトルの公式(Little’s formula)
平均の待ち行列の数
L = λ * W
L: システムの平均待ち行列数
λ: システムの平均到着率
W: システムの平均待ち時間
処理性能 < アクセス
1%しか超えてなくても、この状態が
ずっと続く限りは待ち行列は永遠に増
える
→ システムは無限に遅くなる
スケールアウトあるある
応答速度が10倍遅くなった!
えぇっ?10倍サーバを足す必要があるの??
→必要ありません
処理性能 > アクセス
を満たせばいいので、大抵の場合数割の増強で
事足りる
逆を言うと?
1台あたり数割の性能劣化が10倍以上の速度
低下をもたらす可能性がある!!
学んだこと
ハインリッヒの法則
ハインリッヒの法則を3行で
1. 1つの重大事故の裏には29の軽微な事故が
あり、その裏には300の異常が存在する
2. だから異常を見逃さず対処することが大事
3. 対策に際しては安全工学の考え方が大事
学んだこと
ピーターの法則
自身の市場価値について
自分の市場価値
市場の伸び
市場価値
年齢
ピーターの法則
「人は最終的に無能になるまで昇進する」という法則
チームメンバーとして超優秀
↓
チームリーダーとして優秀
↓
技術部長として普通
↓
CTOとして無能
ピーターの法則の対抗策
× 昇進しないようにする
○ 戦い続ける
ピーターの法則を3行で
1. 人は無能になるレベルまで昇進するという
法則がある
2. おそらくは普通にやってると避けられない
3. 旧スケールアウトではメンバーを専門化させ、
昇進(not 昇給)させないことで対抗してきた
学んだこと
the Lake Wobegon Strategy
The Lake Wobegon Strategy
を3行で
1. 採用では「基準を満たす人を採用」じゃなく
「チームの平均値よりいい人を採用」という
方法がある
2. 上記方策で平均能力の低下を抑えられる
3. 初期値(=自分)のパフォーマンスがとても
大事
グラフにするとこんな感じ
注意点
1. これを正しく適用すると最終的に自分が一
番できない奴になるw
2. でも「自分がMax」というリスクがなくなるので、
チームは超強くなります。あと自分もいろい
ろ学べるので結果パワーアップします。
3. もちろん「下位10%を落とす」的な人事制度と
は超相性悪い
最後に
私が学んできたことを色々話してみました。
何か考え方の一助になれば

More Related Content

What's hot

JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyJenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyKazuhito Miura
 
30分でわかる広告エンジンの作り方
30分でわかる広告エンジンの作り方30分でわかる広告エンジンの作り方
30分でわかる広告エンジンの作り方Daisuke Yamazaki
 
Serf / Consul 入門 ~仕事を楽しくしよう~
Serf / Consul 入門 ~仕事を楽しくしよう~Serf / Consul 入門 ~仕事を楽しくしよう~
Serf / Consul 入門 ~仕事を楽しくしよう~Masahito Zembutsu
 
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps条件分岐とcmovとmaxps
条件分岐とcmovとmaxpsMITSUNARI Shigeo
 
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)増田 亨
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugItsuki Kuroda
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)NTT DATA Technology & Innovation
 
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニングyoku0825
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方Yoshiyasu SAEKI
 
CRDT in 15 minutes
CRDT in 15 minutesCRDT in 15 minutes
CRDT in 15 minutesShingo Omura
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Yoshinori Matsunobu
 
広告がうざい
広告がうざい広告がうざい
広告がうざいGen Ito
 
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...Holden Karau
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法についてYuji Otani
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学MITSUNARI Shigeo
 
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったか
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったかもうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったか
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったかsuno88
 

What's hot (20)

JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyJenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
 
30分でわかる広告エンジンの作り方
30分でわかる広告エンジンの作り方30分でわかる広告エンジンの作り方
30分でわかる広告エンジンの作り方
 
Serf / Consul 入門 ~仕事を楽しくしよう~
Serf / Consul 入門 ~仕事を楽しくしよう~Serf / Consul 入門 ~仕事を楽しくしよう~
Serf / Consul 入門 ~仕事を楽しくしよう~
 
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps条件分岐とcmovとmaxps
条件分岐とcmovとmaxps
 
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
 
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 
CRDT in 15 minutes
CRDT in 15 minutesCRDT in 15 minutes
CRDT in 15 minutes
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
 
広告がうざい
広告がうざい広告がうざい
広告がうざい
 
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったか
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったかもうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったか
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったか
 

Viewers also liked

逆説のスタートアップ思考
逆説のスタートアップ思考逆説のスタートアップ思考
逆説のスタートアップ思考Takaaki Umada
 
RailsとCで広告システムを作って起業した話
RailsとCで広告システムを作って起業した話RailsとCで広告システムを作って起業した話
RailsとCで広告システムを作って起業した話Daisuke Yamazaki
 
ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方Harada Kazuki
 
「一番いいおすすめを頼む」 ~5分でわかるレコメンドエンジンの基礎~ (Gunma.web #3 2010/12/11)
「一番いいおすすめを頼む」 ~5分でわかるレコメンドエンジンの基礎~ (Gunma.web #3 2010/12/11)「一番いいおすすめを頼む」 ~5分でわかるレコメンドエンジンの基礎~ (Gunma.web #3 2010/12/11)
「一番いいおすすめを頼む」 ~5分でわかるレコメンドエンジンの基礎~ (Gunma.web #3 2010/12/11)parrotstudio
 
ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜Miki Yutani
 
VOYAGE GROUPの成長する勉強会カルチャー
VOYAGE GROUPの成長する勉強会カルチャーVOYAGE GROUPの成長する勉強会カルチャー
VOYAGE GROUPの成長する勉強会カルチャーHironori Miura
 
ソフトウェアエンジニアに知ってほしいAerospike
ソフトウェアエンジニアに知ってほしいAerospikeソフトウェアエンジニアに知ってほしいAerospike
ソフトウェアエンジニアに知ってほしいAerospike株式会社ジオロジック
 
ヒューマンエラーの防ぎ方(Japanese)
ヒューマンエラーの防ぎ方(Japanese)ヒューマンエラーの防ぎ方(Japanese)
ヒューマンエラーの防ぎ方(Japanese)Toru Nakata
 
アドテク案件入門講座 8月20日(公開版)
アドテク案件入門講座 8月20日(公開版)アドテク案件入門講座 8月20日(公開版)
アドテク案件入門講座 8月20日(公開版)伊藤 孝
 
【事前資料:NG版】非オタの彼女が俺の持ってる監視ツールに興味津々なんだが…
【事前資料:NG版】非オタの彼女が俺の持ってる監視ツールに興味津々なんだが…【事前資料:NG版】非オタの彼女が俺の持ってる監視ツールに興味津々なんだが…
【事前資料:NG版】非オタの彼女が俺の持ってる監視ツールに興味津々なんだが…Masahito Zembutsu
 
OSC東京(2014年10月)
OSC東京(2014年10月)OSC東京(2014年10月)
OSC東京(2014年10月)joeswebhosting
 
フルスクラッチで書いたアドサーバの開発運用史
フルスクラッチで書いたアドサーバの開発運用史フルスクラッチで書いたアドサーバの開発運用史
フルスクラッチで書いたアドサーバの開発運用史Innami Satoshi
 
39works: 新規事業創出の仕組み
39works: 新規事業創出の仕組み39works: 新規事業創出の仕組み
39works: 新規事業創出の仕組みOsaka University
 
機関車トーマスで説明するRTB
機関車トーマスで説明するRTB機関車トーマスで説明するRTB
機関車トーマスで説明するRTBHisatoshi Kikumoto
 
メディアマネタイズは次の世界へ。プライベートマーケットプレイス超入門
メディアマネタイズは次の世界へ。プライベートマーケットプレイス超入門メディアマネタイズは次の世界へ。プライベートマーケットプレイス超入門
メディアマネタイズは次の世界へ。プライベートマーケットプレイス超入門Shoho Kozawa
 
Wantedlyを使った採用 LT 20120704
Wantedlyを使った採用 LT 20120704Wantedlyを使った採用 LT 20120704
Wantedlyを使った採用 LT 20120704Akitsugu Otani
 

Viewers also liked (20)

逆説のスタートアップ思考
逆説のスタートアップ思考逆説のスタートアップ思考
逆説のスタートアップ思考
 
RailsとCで広告システムを作って起業した話
RailsとCで広告システムを作って起業した話RailsとCで広告システムを作って起業した話
RailsとCで広告システムを作って起業した話
 
ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方
 
「一番いいおすすめを頼む」 ~5分でわかるレコメンドエンジンの基礎~ (Gunma.web #3 2010/12/11)
「一番いいおすすめを頼む」 ~5分でわかるレコメンドエンジンの基礎~ (Gunma.web #3 2010/12/11)「一番いいおすすめを頼む」 ~5分でわかるレコメンドエンジンの基礎~ (Gunma.web #3 2010/12/11)
「一番いいおすすめを頼む」 ~5分でわかるレコメンドエンジンの基礎~ (Gunma.web #3 2010/12/11)
 
ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜
 
タブレット版 Yahoo!ニュースアプリのこだわり #yxdena
タブレット版 Yahoo!ニュースアプリのこだわり #yxdena タブレット版 Yahoo!ニュースアプリのこだわり #yxdena
タブレット版 Yahoo!ニュースアプリのこだわり #yxdena
 
スマデバリッチ広告をプロトタイプで作り上げる #yxdena
スマデバリッチ広告をプロトタイプで作り上げる #yxdena スマデバリッチ広告をプロトタイプで作り上げる #yxdena
スマデバリッチ広告をプロトタイプで作り上げる #yxdena
 
VOYAGE GROUPの成長する勉強会カルチャー
VOYAGE GROUPの成長する勉強会カルチャーVOYAGE GROUPの成長する勉強会カルチャー
VOYAGE GROUPの成長する勉強会カルチャー
 
ソフトウェアエンジニアに知ってほしいAerospike
ソフトウェアエンジニアに知ってほしいAerospikeソフトウェアエンジニアに知ってほしいAerospike
ソフトウェアエンジニアに知ってほしいAerospike
 
ヒューマンエラーの防ぎ方(Japanese)
ヒューマンエラーの防ぎ方(Japanese)ヒューマンエラーの防ぎ方(Japanese)
ヒューマンエラーの防ぎ方(Japanese)
 
アドテク案件入門講座 8月20日(公開版)
アドテク案件入門講座 8月20日(公開版)アドテク案件入門講座 8月20日(公開版)
アドテク案件入門講座 8月20日(公開版)
 
【事前資料:NG版】非オタの彼女が俺の持ってる監視ツールに興味津々なんだが…
【事前資料:NG版】非オタの彼女が俺の持ってる監視ツールに興味津々なんだが…【事前資料:NG版】非オタの彼女が俺の持ってる監視ツールに興味津々なんだが…
【事前資料:NG版】非オタの彼女が俺の持ってる監視ツールに興味津々なんだが…
 
OSC東京(2014年10月)
OSC東京(2014年10月)OSC東京(2014年10月)
OSC東京(2014年10月)
 
フルスクラッチで書いたアドサーバの開発運用史
フルスクラッチで書いたアドサーバの開発運用史フルスクラッチで書いたアドサーバの開発運用史
フルスクラッチで書いたアドサーバの開発運用史
 
39works: 新規事業創出の仕組み
39works: 新規事業創出の仕組み39works: 新規事業創出の仕組み
39works: 新規事業創出の仕組み
 
広告の最適化
広告の最適化広告の最適化
広告の最適化
 
機関車トーマスで説明するRTB
機関車トーマスで説明するRTB機関車トーマスで説明するRTB
機関車トーマスで説明するRTB
 
Rtb30min
Rtb30minRtb30min
Rtb30min
 
メディアマネタイズは次の世界へ。プライベートマーケットプレイス超入門
メディアマネタイズは次の世界へ。プライベートマーケットプレイス超入門メディアマネタイズは次の世界へ。プライベートマーケットプレイス超入門
メディアマネタイズは次の世界へ。プライベートマーケットプレイス超入門
 
Wantedlyを使った採用 LT 20120704
Wantedlyを使った採用 LT 20120704Wantedlyを使った採用 LT 20120704
Wantedlyを使った採用 LT 20120704
 

今まで学び実践してきたこと