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
tsuyoshi nakamura
March 10, 2018
Business
2.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
スタートアップしてからの失敗の数々
tsuyoshi nakamura
March 10, 2018
More Decks by tsuyoshi nakamura
See All by tsuyoshi nakamura
社内の勉強会で発表した_output_一部抜粋版_.pdf
tsuyoshi
0
510
PHPを少しでも早く_条件はあるよ_.pdf
tsuyoshi
0
89
スタートアップ6年目のレビュー文化.pdf
tsuyoshi
1
2k
PHPを少し深堀るよ.pdf
tsuyoshi
0
410
Reactive_Manifesto.pdf
tsuyoshi
0
94
About_Resilience.pdf
tsuyoshi
1
110
エンジニアの循環ってgood_or_bad_.pdf
tsuyoshi
0
1.3k
スタートアップエンジニアの役割
tsuyoshi
0
560
古株のvalueの出し方
tsuyoshi
0
4.2k
Other Decks in Business
See All in Business
malna-recruiting-pitch
malna
0
27k
インキュデータ会社紹介資料
okitsu
3
60k
“隣のチームの改善の取り組み”を見える化 すれば、チームはもっと良くなると思っていた。同じ部署 19チーム・243件 の取り組みを見える化した記録と、見えてきた 壁と価値
hansodeeeeee
3
790
プロダクトオーナーを「忙しい」から解き放つ!委任を促す言葉
kawanotron
0
210
アジャイル実践者のための堅牢でスケーラブルな働き方を構築する技術/Self-Management for Agile Practitioner
ikuodanaka
1
210
プロジェクトのリズムを 体に取り込む
kozotaira
0
240
「仕訳」から「取引」へ(fAD2026)
shunsuke_takeuchi
PRO
0
1.2k
CMB.TECH Q2 2026 earnings release
cmbtech
PRO
1
2.1k
増え続ける運用を、 Skill化する"型"でさばく
morimori3
0
300
PMよ、エゴイストになれ!
suh1101
0
230
会社案内資料
auditech2022
0
170
[2026.09] カルチャーデック|株式会社サイバーリンクス
cyberlinks
0
180
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
700
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.1k
YesSQL, Process and Tooling at Scale
rocio
174
15k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
510
Fireside Chat
paigeccino
43
4k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
600
Transcript
スタートアップしてからの失敗の数々 2018.3.10 @phperkaigi2018
- Software Engineer (CyberAgent group) - @nakamura_tsuyo4 - Makuake -
創業エンジニア (from 2013) About me
Makuakeはスタートアップ時のメイン言語として PHPを採用しています。 無い無いづくしのスタートアップですが、過去を振り返りここは妥協 せずにやっておけば良かったなどを紹介します 前段
たくさんあるので早速いきます
1 --- 過度なファイルの存在確認処理 s3に保存している画像のfile_exists(AWS SDK)処理が至る所に存在。 = インターネット経由でAPIをコールしまくってい る。performanceは引きづられる > そもそもファイルの存在確認が必要な場面を
見極める。必要な場合であっても1度file_exits した結果をストレージに置いておくべきだった
2 --- preg_matchの多用 preg_matchじゃなくても良い場面でも preg_matchを使ってた。 > そもそもpreg_matchしなくても良い設計はな いか、多くの場合はstrposで代用できて、とても 高速
3 --- ImageMagic運用 元画像から綺麗にサムネイルを作る要件に対 して自前でImageMagicをインストールしてオン デマンドに活用してた。 > Lambdaで非同期的にサムネイルを作る方法 もあるけど、そもそもサムネイル+CDN配信して くれるsaasを活用した
4 --- AWS SESの上限を使い切ってしまった メールを送信できる上限が決まってます。がそ の閾値を見逃して上限に達してしまい、メール が送れない問題 > すぐに上限緩和依頼。監視の追加
5 --- 不要になったtableがたくさん 過去使ってたけど今は使ってないテーブルが多 数。しかもめっちゃレコード持ってるDBの Aurora移行の時に見積りに影響。 > 不要になれば期限を決めてdrop tableしま しょう。とりあえずとっておくではなくて、N日まで
に使わなかったら消すとかbackupして消すが 必要
6 --- Unuse method classたくさん問題 利用されていないコードが沢山散らばっていて 可読性が悪く開発効率がみるみる落ちる > IDEなどから不要なものは念のためgrepして 消すリリースを繰り返した。total:300PR’s。
Phanも活用
7 --- Blogシステムを自前で運用 SEOに効果あるっぽいから同じサービスの domain内でblog記事を運用したい...が、効果 が未知数なものを運用していくツラさ > SEOは無視できないけど自分たちの本業の サービス開発に集中すべし。クオリティーの高 いサービスを提供することが一番のSEO対策!!
結局外部blogサービスへ引越した
8 --- ハウスキーピング意識の欠如 とりあえずログを取っておくで放置されるパター ンが後々、ログが肥大化してdiskを食いつぶし たり問題が表面化 > 無駄にログを溜め込まない。N日経って不要 となるものは積極的にpurge処理を追加
9 --- 外部API 変更を見逃しての障害 通知はだいたいメールのみ。それを忘れさら れ、或る日突然エラー > メールだけでは気づかないのでslackへの通 知や通知をメールをメーリス化で
10 --- mysqlのレコードに0とnullが同居問題 プログラムの作り上、ケアすべきことが増え、冗 長になっている > プログラムを修正して蓋をする 過去のデータを洗い替えするバッチで一気に修 正 今後はdev環境にSQLモード設定を検討
ここまでは技術的な話
組織的な話を少々
11 --- コードを書く以外の役割 少しTeamが大きくなると必然と古株にマネージ メント的要件や社内情シスのような役割を求め られるようになる。 思考と合えば良いが、今後もバリバリコードを 書いてプロダクト開発したいと思考しているとツ ライ >
PM的な役割の人を早めに採用すべし
色々と話してきましたが、何は妥協すべき でなかったのか?
❏ もっと必要最低限の機能に絞れば... (MVP) ❏ 後発サービスとしては難しい面もあるけど... ❏ 本来集中すべきコア機能などに集中 ❏ 提供するものを小さくすることで運用コストを下げる ❏
役割が変わったなと感じ、不満に思えば早めに 1 on 1 ❏ 流れに任せてなんとなくその役割を担うのはリスク
おまけ(実は)
スタートアップのエンジニアになることはそれなりの苦 労があります 遊んでいる暇などなく、ひたすら仕事します。 システム・組織のトラブルなど日常になります。 この状況を下支えするモチベーションが必要
▸ ゼロから事業を立ち上げをし たいと強く思っていた In My Case 人によるけど - CEOの思いに強く共感したとか -
Stock Optionをもらったとか 多くの困難に立ち向かう為の信念が大事!
ご静聴ありがとう ございました