hackyale 0-60 in startup tech

35
0-60 IN STARTUP TECH HackYale – Friday, November 2nd Daniel Doubrovkine (dB.) tweet me: @dblockdotorg

Upload: daniel-doubrovkine

Post on 27-Jun-2015

702 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HackYale 0-60 in Startup Tech

0-60 IN STARTUP TECH

HackYale – Friday, November 2nd

Daniel Doubrovkine (dB.)

tweet me: @dblockdotorg

Page 2: HackYale 0-60 in Startup Tech

First …

Slides will be online.

Credit for all good ideas goes to my team’s.

All bad ideas are my own.

Page 3: HackYale 0-60 in Startup Tech

Take an awesome idea …

Page 4: HackYale 0-60 in Startup Tech

… and make working software

Page 5: HackYale 0-60 in Startup Tech

Day 0

What will you do?

“Dear ___,

Saw your presentation at ___. I liked the Q&A and learned a bunch of new things.

I have a favor to ask. I’ve joined a NY startup, ___. We’re just starting, and I am

hoping to do things ‘right’ from the start. I was wondering whether I could borrow

someone’s time at ___ next week (yours or someone who works for you) and maybe

bring 1-2 people with me to see how your code and tooling is organized.

Sincerely,

-Me”

Page 6: HackYale 0-60 in Startup Tech

Day 1

Pick a Code Name

this is “Gravity”

Page 7: HackYale 0-60 in Startup Tech

Day 2

Documents Go Here

Hosted

Free or Cheap

Private

Shareable

Backed Up

Passwords

Page 8: HackYale 0-60 in Startup Tech

Day 3

Tasks Go Here

Create Tasks

Take Tasks

Start Tasks

Complete Tasks

Page 9: HackYale 0-60 in Startup Tech

Day 4

A Bit of Process

Extreme

Programming

(XP)

Scrum Waterfall

Agile Not Agile

What do we do next? What do we do during the

next month?

What are all the things we

need to do this year?

#FAIL Grow this way

Page 10: HackYale 0-60 in Startup Tech

Day 5

Learning

Domain Driven Design

Taxonomy

Specifications

Wireframes

People

Page 11: HackYale 0-60 in Startup Tech

Week 1

Scheduled exciting meetings with other startups

Created a place to store information, a team wiki

Created a KB and a way to create new knowledge

Created a place to manage and track work.

Page 12: HackYale 0-60 in Startup Tech

Week-End

Sustainable Pace

Page 13: HackYale 0-60 in Startup Tech

Day 1

A Plan

Story: Users Can Sign Up

Page 14: HackYale 0-60 in Startup Tech

Day 1

Source Control

Repository

Commit

Push

Pull

Merge

Page 15: HackYale 0-60 in Startup Tech

Day 1

Code Reviews

Peer review of every check-in

Shared knowledge

Shared responsibility

It’s common to push back

Reviewboard

Crucible

Page 16: HackYale 0-60 in Startup Tech

Day 1

Your First Commit

README

GettingStarted.md

Page 17: HackYale 0-60 in Startup Tech

Day 2

A Friendly Visit

2-3 People

Bring Pastries

Tell Your Story

Be Impressed

Ask “Why?” 3x

Owe One

Page 18: HackYale 0-60 in Startup Tech

Day 3: Choosing Technology

Page 19: HackYale 0-60 in Startup Tech

Stacks

Page 20: HackYale 0-60 in Startup Tech

A Web Stack

Django

Python

Apache

MySQL

Linux

Rackspace

Backbone.js

Rails

Ruby

MongoDB

Heroku

AWS

Page 21: HackYale 0-60 in Startup Tech

Stacks

Help You Focus on The Domain

Classify Problems

Offer Generic Solutions

Provide Consistent Experience

Map Software Evolution

Enable Reuse of Skills

Page 22: HackYale 0-60 in Startup Tech

Big Company: Bakeoff

Identify Candidates ASP.NET / RoR / J2EE / LAMP

Develop Metrics scalability, complexity, cost

Gather Data feature matrix, metrics data

Compare =SUM(A:Z)

Pick a Winner =MAX(SUM(A:Z))

Page 23: HackYale 0-60 in Startup Tech

Alternatives: Personal Favorite

Page 24: HackYale 0-60 in Startup Tech

Alternatives: Trustworthy People

It worked before

It didn’t work before

It’s new and shiny

Someone I trust uses it

Page 25: HackYale 0-60 in Startup Tech

Alternatives: Simplicity

The Emperor’s Old Clothes Charles Hoare, 1981

http://dl.acm.org/citation.cfm?id=358561&bnc=1

Page 26: HackYale 0-60 in Startup Tech

Alternatives: Developer Happiness

Developers Are Happy with

Their Own Choices

Cutting Edge Technology

Page 27: HackYale 0-60 in Startup Tech

Does it really matter?

Try It … Iterate … Keep It … Toss It

Easy to Learn

Frustration-less

Quick to Leverage

Vibrant Community

Elegant Solutions

Time

Results

Fighting

Learning

Page 28: HackYale 0-60 in Startup Tech

Day 4

Implement a Story w/ Tests

Setup Continuous Integration

Writing tests makes development faster, not

slower from day one four.

Page 29: HackYale 0-60 in Startup Tech

Day 4

Continuous Deployment

Development

Staging

Production

Demo

Page 30: HackYale 0-60 in Startup Tech

Day 5

Demo Day!

Developers know how to get started.

Developers can commit code with a peer code review.

Every time a developer checks in code, continuous integration runs tests and

e-mails results to the team.

Every time continuous integration executed tests successfully, staging gets

the latest code.

We can deploy to production by hitting a button!

Page 31: HackYale 0-60 in Startup Tech

A Sprint: Week 3 & 4

User-Facing Stories

Under-Promise and Over-Deliver

Make People Happy

Keep Things Simple

Don’t Acquire Technical Debt

Page 32: HackYale 0-60 in Startup Tech

People

People make all the difference

Cultural fit is more important than technical abilities

There’re excellent developers that are a bad cultural fit

There’re bad developers that are an excellent cultural fit

Generalists are Often Better than Specialists

Pigs, not Chickens

Page 33: HackYale 0-60 in Startup Tech

Your Resume

Passion to Professionalism

Examples of Doing

Consistent Delivery

Demonstrable Experience

Strong References

Page 34: HackYale 0-60 in Startup Tech

You

Doer

Humble

Listens

Self-Sufficient

Thorough

Page 35: HackYale 0-60 in Startup Tech

Questions

name: Daniel Doubrovkine (aka. dB.)

company: http://art.sy

twitter: @dblockdotorg

blog: http://code.dblock.org

email: [email protected]

slides: http://slideshare.net/dblockdotorg