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
急成長してきたANDPADの3年間、 そしてマイクロサービス化へ進む今
Search
ANDPAD inc
July 02, 2019
Programming
0
2.2k
急成長してきたANDPADの3年間、 そしてマイクロサービス化へ進む今
デブサミ2019夏で使用した登壇資料です。
3部で構成されており、ANDPADの生い立ちから、フルサイクルエンジニア、そして開発組織のスケールまで触れております。
ANDPAD inc
July 02, 2019
Tweet
Share
More Decks by ANDPAD inc
See All by ANDPAD inc
アンドパッドにおける CocoaPods ライブラリ群の SwiftPackageManager への移行戦略
andpad
0
30
Flutter は DCM が 9 割
andpad
1
40
Amplify で SPA をホスティングする際の注意点
andpad
0
25
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
andpad
0
63
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
390
本編では話さない Zig の話
andpad
2
250
"noncopyable types" の使いどころについて考えてみた
andpad
0
390
ANDPAD黒板のオフラインモード機能 リリースまでの軌跡
andpad
0
280
アンドパッドのマルチプロダクト戦略を支える SRE
andpad
1
250
Other Decks in Programming
See All in Programming
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
250
Introduction to kotlinx.rpc
arawn
0
770
Swift Testingのモチベを上げたい
stoticdev
2
140
Jasprが凄い話
hyshu
0
180
Datadog Workflow Automation で圧倒的価値提供
showwin
1
260
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
240
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
1
630
sappoRo.R #12 初心者セッション
kosugitti
0
280
Django NinjaによるAPI開発の効率化とリプレースの実践
kashewnuts
1
280
ナレッジイネイブリングにAIを活用してみる ゆるSRE勉強会 #9
nealle
0
160
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
9
2.5k
SwiftUI移行のためのインプレッショントラッキング基盤の構築
kokihirokawa
0
160
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
47
7.4k
4 Signs Your Business is Dying
shpigford
183
22k
A Modern Web Designer's Workflow
chriscoyier
693
190k
A Tale of Four Properties
chriscoyier
158
23k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
Done Done
chrislema
182
16k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
The Cult of Friendly URLs
andyhume
78
6.2k
How STYLIGHT went responsive
nonsquared
99
5.4k
Building Your Own Lightsaber
phodgson
104
6.2k
Transcript
急成長してきたANDPADの3年間、 そしてマイクロサービス化へ進む今
(C) OCT inc. - confidencial は 施工管理アプリです &ANDPADとは?
(C) OCT inc. - confidencial &ANDPADとは?
(C) OCT inc. - confidencial 最近の動向
(C) OCT inc. - confidencial Seed 55M(5500万) Series A 0.4B(4億)
Series B 2B(20億) 1500 30 20 10 40 エンジニア人数 顧客数 1200 600 900 300 事業の伸び vs エンジニア人数
(C) OCT inc. - confidencial &ANDPADのエンジニア組織を知ってもらうために、 創業期どのような考えで、どのようにして生まれ たのか、&ANDPADが今後考える世界観についてお 話しいたします。 本日の話
&ANDPADとは。創業期と世界観
(C) OCT inc. - confidencial ・自己紹介 ・0 → 1 &ANDPAD
・ANDPADが目指す世界観 目次
(C) OCT inc. - confidencial 自己紹介 • 名前:金近 望(兄) •
経歴 ◦ 2008. 東京工業大学情報科学科卒 ◦ 2008. ITベンチャー企業入社 ◦ 2010. 88ラボ 開設 ◦ 2014. Oct,inc 創業、CTO • 趣味 ◦ 筋トレ、バスケ、散歩、Youtube 本(ビジネス、哲学、数学) • 人生のテーマ:「成長」 いろいろな成長エンジンを作りたい はまったらとことん掘り下げる ANDPADに現在は夢中です
(C) OCT inc. - confidencial 兄弟で開発してます これ弟 しかし、兄弟の阿吽の呼吸で作り上げた巨大モノリシック構造に・・・
(C) OCT inc. - confidencial ・自己紹介 ・0 → 1 &ANDPAD
・ANDPADが目指す世界観 目次
(C) OCT inc. - confidencial 会社に行きながら創った草ベンチャー「88」 年表 2010年 稲田との出会い 2011年
シェアハウス 2014年 Oct開始 ローンチ 2016年 ローンチ 現在
(C) OCT inc. - confidencial 稲田(代表)との出会い 会社に行きながら創った草ベンチャー「88」
(C) OCT inc. - confidencial 事業はどのようにすれば起こせるのか サービスをまず作ってみる
(C) OCT inc. - confidencial ひとまず作ってみたサービス「2Read」
(C) OCT inc. - confidencial しかし、事業は立ち上げられず・・ 時間が足りないのでは?
(C) OCT inc. - confidencial 一緒に住めばもっと時間が増える! シェアハウスしてみよう!
(C) OCT inc. - confidencial 次の日には家探し、そして引越
(C) OCT inc. - confidencial シェアハウス時代
(C) OCT inc. - confidencial しかし、まだ事業は立ち上がらない・・ フルコミットしないとダメなのでは?
(C) OCT inc. - confidencial 起業に向けて フルコミットするテーマ探し
(C) OCT inc. - confidencial どのような事業で起業するか
(C) OCT inc. - confidencial 成長する市場に対し、成長する場がある
(C) OCT inc. - confidencial 8を1つにして、選択と集中 8 のコンセプトはそのまま、 新たなプロジェクトが生まれ、そこには閃きがある OCTの誕生
建築・建設市場の課題を解決する会社「OCT」
(C) OCT inc. - confidencial 建築・建設市場の課題を解決する会社「OCT」
(C) OCT inc. - confidencial 次は「みんなのリフォーム」を作ってみた
(C) OCT inc. - confidencial 「みんなのリフォーム」を作ってみたことで、 業界をより深く知るきっかけになった
(C) OCT inc. - confidencial 少子高齢化という問題 出典:「建設産業の現状」(国土交通省)
(C) OCT inc. - confidencial 低生産性という問題 出典:「付加価値労働生産性に関する補足説明資料」(国土交通省)
(C) OCT inc. - confidencial 施工現場がとても困っている!
(C) OCT inc. - confidencial そこから&ANDPADができあがる 組織コンセプトの「8」が埋め込まれた あなたの会社と共にというコンセプトで & ANDPADが生まれた
(C) OCT inc. - confidencial ・自己紹介 ・0 → 1 &ANDPAD
・&ANDPADが目指す世界観 目次
(C) OCT inc. - confidencial 建築業界に関わるエンジニアを増やし、 関わる人全てに成長機会を提供したい
(C) OCT inc. - confidencial 建築・建設市場の課題を解決する会社「OCT」 そのために 成長するための構造 成長するための考え方 を常に試行錯誤していく
(C) OCT inc. - confidencial 成長するための構造 プロダクト構造的マイクロ化 マイクロサービス:成長するためのプロダクト構造 家づくりがいろいろな作業/工事の組み合わせでできているように、プロダクトもそれに合わせ てパズルのように組み合わせてできる構造
&ANDPADエンジニアはマイクロサービス構造をフカボル集団になる 組織構造的マイクロ化 マイクロスタートアップ:成長するための組織構造 &ANDPADのエンジニア組織の考え方 「スタートアップの構成要素はスタートアップである」 &ANDPADが建築市場でイノベーションを起こし続けるならば、 &ANDPAD組織内でもイノベーションが起き続けているべき
(C) OCT inc. - confidencial 成長するための考え方:イノベーションループ イノベーション確率を上げる行動をする 0 - 1
でやるやらを判断せず、少しでもイノベーションが上がる行動を積み重ねていく アウトプットのTry & Errorの積み重ね 因数分解して組み合わせる 他の会社のナレッジをそのまま適用せず、 本質を理解しその時その状況の&ANDPADに当てはめていく モノゴトが分解できると、組み合わせ自由になる 今まで当たり前と思われていた概念を分解し、新たな概念を創出する
(C) OCT inc. - confidencial エンジニア組織ビジョン
エンジニアが開発を 最高に楽しむ場をつくる
(C) OCT inc. - confidencial ・自己紹介 ・エンジニアにとって「楽しい」とは? ・技術の観点での取り組み ・ものづくりの観点での取り組み 目次
(C) OCT inc. - confidencial ・モバイル開発の責任者 ・iOS,Android,Flutter,Go,Firestore ・新規アプリ,Webのデザイン ・元々は富士通研究所で研究者 ・趣味は、アプリ開発と執筆と減量
・技術書典あたりに毎回出没しています。 ・Firebaseが好き 自己紹介
(C) OCT inc. - confidencial 「ぼくのかんがえたさいきょうのアプリ」 を世界中に広めること。 開発者としての夢
(C) OCT inc. - confidencial 1500 30 20 10 40
エンジニア人数 顧客数 1200 600 900 300 ここらへん 事業の伸び vs エンジニア人数
(C) OCT inc. - confidencial ・建築現場のプロジェクト管理ツール ・施工管理、チャット、検査、図面、短工事、引合粗利(Web) アプリは5種リリース &ANDPADってなに?
(C) OCT inc. - confidencial ・建築現場のプロジェクト管理ツール ・施工管理、チャット、検査、図面、短工事、引合粗利(Web) Swift Kotlin Swift
Kotlin Swift ReactNative Flutter &ANDPADってなに?
(C) OCT inc. - confidencial &ANDPAD チャットアプリリリース(iOS/Android/Rails) 図面アプリリリース(iOS/Rails) &ANDPAD 本体アプリリリース(iOS/Android/Rails)
短工事サービスリリース(Nuxt(Vue) /Go / k8s/ flutter/ Design) Firebase新規事業 入ってから取り組んだこと
(C) OCT inc. - confidencial ・自己紹介 ・エンジニアにとって「楽しい」とは? ・技術の観点での取り組み ・ものづくりの観点での取り組み 目次
(C) OCT inc. - confidencial エンジニアとして働いていて どういうときに楽しいと感じるか?
(C) OCT inc. - confidencial ・新しい技術に常にチャレンジできること ・自分自身に変化を感じることができる ・開発した機能が役立つ実感 ・クリエイティブさを感じる ・役割が固定化されていない
・事業を産み出す能力の高まりを感じる ・事業に希望、未来を感じる などなど エンジニア(自分)にとって楽しいと思うこと
(C) OCT inc. - confidencial ・技術 ・ものづくり ・事業、社会貢献 ←会社の存在意義 ・成長
←技術、ものづくり、事業による環境 エンジニア(自分)にとって楽しいの定義
(C) OCT inc. - confidencial ・新しい技術に常にチャレンジできること(技術、成長) ・自分自身に変化を感じることができる(成長) ・開発した機能が役立つ実感(事業、ものづくり) ・クリエイティブさを感じる(ものづくり) ・役割が固定化されていない(ものづくり、成長)
・事業を産み出す能力の高まりを感じる(成長) ・事業に希望、未来を感じる(事業) エンジニア(自分)にとって楽しいと思うこと
(C) OCT inc. - confidencial ・自己紹介 ・エンジニアにとって「楽しい」とは? ・技術の観点での取り組み ・ものづくりの観点での取り組み 目次
(C) OCT inc. - confidencial &ANDPADの初期アーキテクチャ
(C) OCT inc. - confidencial サーバーサイド +インフラ モバイル (iOS/Android) +
サーバーサイド &ANDPADの技術(最初の2年)
(C) OCT inc. - confidencial サービスの機能も増えて、同じドメインを 複数のエンジニアで開発するのが苦痛に &ANDPADの技術
(C) OCT inc. - confidencial サービスの機能も増えて、同じドメインを 複数のエンジニアで開発するのが苦痛に 楽しくない。。。 &ANDPADの技術
(C) OCT inc. - confidencial &ANDPADの技術(2018年後半〜)
(C) OCT inc. - confidencial ユーザー 体験を 上げる 作り込み +
新技術の 実験場 &ANDPADの技術(2018年後半〜)
(C) OCT inc. - confidencial より機能単位でユーザー体験を上げられて 安定的により新しい技術に挑戦できる環境に &ANDPADの技術
(C) OCT inc. - confidencial ・自己紹介 ・エンジニアにとって「楽しい」の定義 ・技術の観点での取り組み ・ものづくりの観点での取り組み 目次
(C) OCT inc. - confidencial 開発者 ・良くも悪くも役割が分担されて いる。良い面としては、開発者は 実装に集中できる。悪い面は、 言われたものを実装するだけの作
業者になりがち。 ものづくりが作業になる瞬間
(C) OCT inc. - confidencial 開発者(クリエーター) お客様要望、データ分析 ↓↑ 理想的な開発者 ・お客様要望または、データから
要件(仮説)を定義して、デザイ ン・実装に落とし込み、質を担保 した状態で製品をリリースする サイクルを1人で回せる状態。 理想的な状態
(C) OCT inc. - confidencial 理想的な開発チーム お客様要望、データ分析 ↓↑ 理想的な開発チーム ・お客様要望または、データから
要件(仮説)を定義して、デザイ ン・実装に落とし込み、質を担保 した状態で製品をリリースする サイクルをチームで回すが、特に 役割が固定化されておらず全員が サイクルを担当できる状態。 理想的な状態
(C) OCT inc. - confidencial 参考) https://medium.com/netflix-techblog/full-cycle-developers-at-netflix-a08c31f83249 フルサイクル開発者 フルサイクル開発者の"本当の仕事"はライフ サイクル全てにわたる問題を解決することだ。
フルサイクル開発者はSWE(Software Engineer)としてもSDET(Software Development Engineer in Test)としてもSRE としても振る舞うのだ。あるときはビジネス の課題を解決するソフトウェアを開発し、ま たあるときはテストケースを書き、そしてま たあるときはシステム運用の自動化を行う。 フルサイクル開発者(Netflix)
(C) OCT inc. - confidencial 最終的には、一人一人が 自分以外の力を頼らずにさいきょうのアプリ を考えて作っていけるようになる。 そういうメンバーが集まったチームが 「さいきょう」のチームになる。
僕たちはどういう開発者、チームを目指すか
(C) OCT inc. - confidencial ・僕たちエンジニアには、「技術」「ものづくり」 「事業・社会貢献」「成長」の場が必要。 ・「技術」に関しては、モノリシックを脱却して 新しい場を作りつつある。 ・「ものづくり」に関しては、役割分担を決めすぎずに
全ての製品サイクルに関われる状態をつくる。 ・そしてさいきょうのチームになる。 まとめ
少数精鋭開発から 大人数開発組織への移行
(C) OCT inc. - confidencial ・自己紹介 ・スケールする体制作り ・意識する目標値 ・これからの組織課題 目次
(C) OCT inc. - confidencial Github: teruhiky Twitter: @trhk_ytm Teruhiko
Yatomi &ANDPADの引合粗利管理システムのPM兼エンジニア Ruby on Rails, Python, Perl, C++, C Apr 2012~ 外資金融エンジニア Aug 2018~ 株式会社オクト 趣味:スノボ・スキー・山登り・旅行・漫画 野望:フロントエンド開発 ➡ アプリ開発 About me
(C) OCT inc. - confidencial 事業の伸び vs エンジニア人数 1500 30
20 10 40 エンジニア人数 顧客数 1200 600 900 300 ここらへん
(C) OCT inc. - confidencial エンジニア採用 兼 サーバーエンジニア エンジニア採用 兼
プロダクトマネージャー兼 サーバーエンジニア 入ってから
(C) OCT inc. - confidencial ・自己紹介 ・スケールする体制作り ・意識する目標値 ・これからの組織課題 目次
(C) OCT inc. - confidencial 今の時代の開発組織にとって重要なこととは・・・ “開発イテレーションが小さく高速で進む”こと スケールする体制作り
(C) OCT inc. - confidencial 入社した時の開発チーム概略図 Front + Back- end
+ SRE プロダクト 開発チーム iOS + Android PM + Support + Design 少数精鋭開 発 役割が分かれすぎるとコミュニケーションコストが増加するリスク
(C) OCT inc. - confidencial 組織のあり方にはその時々における最適解が存在する 柔軟に組織構造を合わせていくことが重要
(C) OCT inc. - confidencial ビジネスのスケールによる開発組織の転換期 兼務の限界 システム規模・依存関係の複雑化によるBug発生 ユーザー増による運用保守負荷の増大 人が増えると必要な役割が増える
情シス、データエンジニア、エンジニア採用、EM 10% 10% 顧客数1600 x 平均User数3人 Customer Support Engineer (10分/調査) ➡ 8時 間
(C) OCT inc. - confidencial Server 30人体制 SRE プロダクト 開発チーム
iOS ベースとなる開発領域を持ち個々人の力量で広げていくスタイル 採用に応じて流動的に対応できる体制へ Front PM Android Design Support
(C) OCT inc. - confidencial 組織構造の変革とともに今度は何が課題になってきたか 開発速度 全体感の希薄化への対策と開発が小さく完結する施策 人が増えて開発速度は上がるか? 組織としてどう動くか
ティール型組織 vs ピラミッド型組織 会社(オクト)が好む構造とは? エンジニアにとって楽しい環境とは?
(C) OCT inc. - confidencial (オクトが考える) エンジニアにとって楽しい組織とは ・最小マネジメントで自走する組織 ・フラットでオープンな組織体制 Confluence
Slack Google Apps Script JIRA 勤怠登録 Reminder 開発ナレッジ共有 開発スケジュール共有
(C) OCT inc. - confidencial 組織ビジョン オクトの方向性 平常時:ティールっぽい組織、緊急時:ピラミッド組織 • 組織の存在目的を意識
• “建設業界の働くを幸せ”にする • ビジョンや事業は社員の意思により変化する • 自己推進型(個々に裁量がある) • 個人のありのままを尊重 • 緊急時は組織ルールを参照して動く
(C) OCT inc. - confidencial 個々人の行動規範 自分が変える 現状を打破するのはいつだって自分 仮説検証文化 まずアウトプット。それから改善
Betterを模索する 代替案もしくは一緒に考える姿勢でより良い方向へ導く 目的志向 目的を意識・共有しそれの達成に集中する Don’t Repeat Your Operation 同じことを繰り返すなら自動化 自己推進型 個人のありのままを尊重 組織の存在目的の実現化 ベンチャーがスケールする ために
(C) OCT inc. - confidencial 目次 ・自己紹介 ・スケールする体制作り ・意識する目標値 ・これからの組織課題
(C) OCT inc. - confidencial “開発イテレーションが小さく高速で進む”ために スケールする体制を作っていく そのために、改善したい項目を定める
(C) OCT inc. - confidencial 組織構造変更時に意識している項目 プルリク作成頻度 人が増えて開発が活性化することで開発が高速化して欲しい プルリク対象ファイル数 ビッグバン変更でなく小さく開発イテレーションを回したい
臨時リリース頻度 バグ発生数 新規開発とバグ開発と運用保守のバランスを改善することで新規開発にリソースを割きたい
(C) OCT inc. - confidencial ・自己紹介 ・スケールする体制作り ・意識する目標値 ・これからの組織課題 目次
(C) OCT inc. - confidencial プロダクト 開発チーム 各個人・各チームで完結して自走しながら目標に向かって動き続ける体制 プロのスポーツチームはビジョン・戦略はチームとしてまとまりながら各個人が役割をもって動けている イメージする組織
チーム チーム
(C) OCT inc. - confidencial 各個人・各チーム内で完結して自走する組織になるには キャリアや環境の自由度を高めて 自己実現・チャレンジしやすい環境を推進する 端的に言えば、「変化 >
維持」(個人、チーム、組織)
(C) OCT inc. - confidencial 100人体制を見据えて • キャリア ◦ キャリアは会社に用意されるものでなく、各個人が作るもの
◦ 「社内異動」「ポジションの透明性」「チャレンジ機会」を作ることでキャリアをより作れるよう にする ◦ 他者のキャリアの参考のために「Mentor/Mentee制度」を導入 ◦ 各エンジニア:登壇機会を推奨していくことで市場価値を高める + 事業を進めることで実績となる • 福利厚生を以下からさらに充実
(C) OCT inc. - confidencial 最後に・・・ オクト1人目の Engineering Manager をお待ちしてます!
(C) OCT inc. - confidencial Question?