HackYale 0-60 in Startup Tech

Post on 27-Jun-2015

703 views 0 download

Tags:

transcript

0-60 IN STARTUP TECH

HackYale – Friday, November 2nd

Daniel Doubrovkine (dB.)

tweet me: @dblockdotorg

First …

Slides will be online.

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

All bad ideas are my own.

Take an awesome idea …

… and make working software

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”

Day 1

Pick a Code Name

this is “Gravity”

Day 2

Documents Go Here

Hosted

Free or Cheap

Private

Shareable

Backed Up

Passwords

Day 3

Tasks Go Here

Create Tasks

Take Tasks

Start Tasks

Complete Tasks

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

Day 5

Learning

Domain Driven Design

Taxonomy

Specifications

Wireframes

People

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.

Week-End

Sustainable Pace

Day 1

A Plan

Story: Users Can Sign Up

Day 1

Source Control

Repository

Commit

Push

Pull

Merge

Day 1

Code Reviews

Peer review of every check-in

Shared knowledge

Shared responsibility

It’s common to push back

Reviewboard

Crucible

Day 1

Your First Commit

README

GettingStarted.md

Day 2

A Friendly Visit

2-3 People

Bring Pastries

Tell Your Story

Be Impressed

Ask “Why?” 3x

Owe One

Day 3: Choosing Technology

Stacks

A Web Stack

Django

Python

Apache

MySQL

Linux

Rackspace

Backbone.js

Rails

Ruby

MongoDB

Heroku

AWS

Stacks

Help You Focus on The Domain

Classify Problems

Offer Generic Solutions

Provide Consistent Experience

Map Software Evolution

Enable Reuse of Skills

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))

Alternatives: Personal Favorite

Alternatives: Trustworthy People

It worked before

It didn’t work before

It’s new and shiny

Someone I trust uses it

Alternatives: Simplicity

The Emperor’s Old Clothes Charles Hoare, 1981

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

Alternatives: Developer Happiness

Developers Are Happy with

Their Own Choices

Cutting Edge Technology

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

Day 4

Implement a Story w/ Tests

Setup Continuous Integration

Writing tests makes development faster, not

slower from day one four.

Day 4

Continuous Deployment

Development

Staging

Production

Demo

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!

A Sprint: Week 3 & 4

User-Facing Stories

Under-Promise and Over-Deliver

Make People Happy

Keep Things Simple

Don’t Acquire Technical Debt

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

Your Resume

Passion to Professionalism

Examples of Doing

Consistent Delivery

Demonstrable Experience

Strong References

You

Doer

Humble

Listens

Self-Sufficient

Thorough

Questions

name: Daniel Doubrovkine (aka. dB.)

company: http://art.sy

twitter: @dblockdotorg

blog: http://code.dblock.org

email: dblock@dblock.org

slides: http://slideshare.net/dblockdotorg