Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

Tech Literacy for Lean Founders

Vassar College Venture Co-op, November 2012

Jonathan Berger, Pivotal Labs


I'm @jonathanpberger

Why do I have this

ridiculous mustache?


What do I do?

Who are you?

(Show of hands)

Whose primary role is as a


Bizdev, Marketing, Analysis

Whose primary role is as a


Design, Development

Who's currently

working on their own company?

Who's planning on

launching this year?

Who's on a team

without a technical cofounder?

The Plan

Part 1:

Why "Literacy"?

Why "Coding as Literacy"?

It's a good way to talk about coding, which is often treated as a binary.

If you work in a technical medium,



Learning hard technical skills is



Literacy != Fluency

Getting technical doesn't have to be a

full-time commitment

You just need enough to

read the writing on the wall

Part 2:

How does Code Literacy Help Founders?

The Anna Karenina Principle

Happy families are all alike;

every unhappy family is unhappy in its own way.

The Reverse Anna Karenina Law of Startups

Failed startups are all alike;

every successful startup is successful in its own way.

Common Causes Startup Failure:

(failing to nail these questions)

Common Causes of Startup Death

The Iron Triangle

(Pick two.)

Agile methodologies were

built to address Iron Triangle risk.

My Thesis:

Code Literacy helps Non-Technical Founders mitigate Scope risk.

Areas of risk for

Non-Technical Founders

Risk from Honest Mistakes

Almost all this risk can be mitigated by

(technical) context

(more on that in a minute)

Risk from Dishonest Mistakes

Risk from Dishonest Mistakes

Part 3:

Becoming literate

I started as

a self-taught designer

I worked on Spot.Us and

found Agile and fell in love.

I started

Picking up on what I heard around me

For me, this looked like

CSS, HTML, Erb => TDD, Cucumber => Bash, Bundler, Rake => Git => Rspec, Capybara, Jasmine => Javascript, JQuery, the DOM => more Ruby, ORMs, REST, HTTP.

Basic Techniques

In order of

value / cost



(Git is another story altogether.)

Learn to Build Static Sites

Intermediate Techniques



And use it for everything.

TDD and Story Writing

using Cucumber. Write stories at the right size.

(See my post Writing Well-Formed Stories for more.)

TDD and Story Writing using

Cucumber / Gherkin

Given I am a logged in user

When I click "add to cart"

Then the item should added to in my cart

And my Total Price should go up


Dynamic sites



(Version control). Control your code. Even better, contribute small fixes (mostly copy and CSS).

Advanced Techniques

In-browser Mockups

be more precise in asking for what you want using basic CSS, HTML, and a templating framework (e.g., Erb or Haml)

JQuery and the DOM

contribute interactions. Simple stuff is really pretty easy.


Rules I Learned

About Learning Technical Things

Tastes I cultivated

About Learning Technical Things

What Next?

Learn Something! Learn a little HTML! And CSS! Get your hands dirty!




Find me at,, @jonathanpberger on twitter, github, forrst, flickr, etc. etc. etc.

Donate to my mustache at

Find this deck in HTML (with links)

Bonus Level!

Wherein I try to show examples if there's time.

Popular Web Languages

Test Driven Development

Pair Programming + The Pivotal Way

Making is good for projects

Making is good for teams

Making is good for individuals

Where can literacy help?

Where can literacy hurt?

In general, more literacy is better

(no matter what the role)


never forget

Sometimes design is an ineffable value-add and code needs to take the backseat.

Preserve the ability / reserve the right to stay innocent and come up with crazy ideas that the Technically Literate deem impossible.


"the rewards are more than you can imagine" - Giff Constable,

"fuck validation; be RUTHLESS"

"code wins arguments"

Nothing is better than naivete. - Pamela Castillo,