hackyale 0-60 in startup tech
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: [email protected]
slides: http://slideshare.net/dblockdotorg