Cuong Do on Hypergrowth

Post on 18-May-2015

225 views 0 download

Tags:

transcript

Leading Through Hyper-Growth

Cuong Do Head of NYC Engineering, Dropbox

Cuong in a Nutshell CS @ Carnegie Mellon

Engineer at Inktomi (ent. network s/w)

Engineer, Eng Manager at PayPal

Founding engineer at YouTube

Led product development at YouTube

Leading NYC Engineering for Dropbox

Structure Technology

Recruiting

Team Structure

Product Development Process

Leadership

Handling Hyper-Growthwhile hyper_growth():

identify_and_fix_bottlenecks()

drink_preferred_beverage()

sleep()

notice_new_bottleneck()

Works for scaling systems and teams!

Infrastructure Growth

metadata server

50,000 Users!

file data server

SeparateMySQL

machine!S3

AWSManaged hosting

Early 2008 (beta, 50k users)

THE SERVER

Dropbox User

2007: The Beginning

metadata servers

memcache

databases

ZooKeeper

analytics

haproxy

nginx

core services

hbase

SNT datacenter AWS

file data servers

S3livefill

offline jobs

Today (300 mil users, 4 mil biz)

Backend Stack1.5 years ago:

nginx

haproxy

memcache

C++

Python

RabbitMQ

MySQL

Now includes:

Go

Hadoop

LevelDB

Redis

Tornado

Recruiting - foundation First 6-10 engineers must be unicorns

Exceptional generalists

Cultural standard bearers

Interviews are inherently noisy

Iterate

Identify biases

Recruiting - scaling Originally: all generalists

Specialized over time

Mobile programmers

Product engineers

Recruiting is everyone’s job

source: flic.kr/p/968txx

Team Structure First engineer on any team is the founder

Teams fluid

Keep teams small

Average is 6-12 people

Lots of parallel efforts

70/20/10

The Mobile Team Beginning: The Mobile Team

Problems

Moving to a mobile-centric world

Central bottleneck for mobile work

Mobile Now Mobile centric world => mobile engineers on every product team

Mobile training for all interested engineers

Original mobile team morphed into Dropbox App iOS & Android teams

Mix generalists with mobile specialists

Product development Early: no process

Current

3-5 year vision

6 month goals

6 week sprints

Process lags current needs

Org Structure - Beginning

Founders

Everyone Else

Org Structure (early 2013)

Founders

Eng

Eng Lead

Eng Eng Eng

Eng Lead

Eng Eng

….

Lots of Leads (2013)VP Eng

Eng Lead

Eng Eng Eng Eng Eng

Eng Lead

Eng Eng Eng Eng Eng

Eng Lead

Eng Eng Eng Eng Eng

Eng Lead

Eng Eng Eng Eng Eng

Eng Lead

Eng Eng Eng Eng Eng

Eng Lead

Eng Eng Eng Eng Eng

Eng Lead

Eng Eng Eng Eng Eng

Eng Lead

Eng Eng Eng Eng Eng

Eng Lead

Eng Eng Eng Eng Eng

Eng Lead

Eng Eng Eng Eng Eng

Infrastructure - 2013Eng Lead

Eng Eng Eng Eng Eng Eng Eng Eng Eng Eng

Eng Eng Eng Eng Eng Eng Eng Eng Eng Eng

Eng Eng Eng Eng Eng

Eng Eng Eng Eng Eng

Eng Eng Eng Eng Eng Eng Eng Eng Eng Eng Eng Eng Eng Eng Eng

Infrastructure - NowGroup Mgr

Eng Eng Eng Eng Eng Eng

Eng Eng Eng

Eng

Eng Eng Eng

Eng Eng Eng Eng Eng

Eng Eng Eng Eng Eng Eng

Eng Mgr

Eng Eng Eng

Eng Eng Eng

Eng Mgr

Eng Eng Eng Eng Eng Eng

Eng Eng Eng Eng Eng Eng

Eng Eng Eng Eng Eng Eng

Eng Eng Eng

Eng Eng Eng

Eng Eng Eng

Leadership Pitfalls Strongest engineers != strongest managers

Leading team of 4 vs 12

Leading in a 50- vs 600-person company

source: flic.kr/p/dkbbGy

Bonus Section: Values Write them down. Here’s ours:

Relentlessly focus on impact

Own It

Write and maintain great code

Pursue simplicity and sweat the details

Build a culture that you want to be a part of ten years from now

Create your own values!

Values Early: Reinforced informally through tireless founders and early team members

Now: Written and constantly reinforced

Non-technical interview

Candidate evaluation

Manager feedback

Career tracks

Themes Stretch, break, fix, repeat

Avoid over-engineering

Build foundation, build on it, repeat

source: flic.kr/p/7QyDJe

Thank you! I’ll be around for questions

Email me at cdo@dropbox.com