Use the left/right arrow keys to navigate.

Code Literacy for Lean Teams

AgileUX NYC 2012

Jonathan Berger, Pivotal Labs

Hi!

I'm @jonathanpberger

  • My background is in

    • philosophy and then
    • design and now
    • development
  • I read and write code every day to build products at @pivotallabs

Who are you?

(Show of hands)

Who's primary role is

Product Owner?

Who's primary role is

Designer?

Who's primary role is

Developer?

How many people have

“GET TECHNICAL”

as their NYE resolution?

How's it going? Still with it?

Getting Technical

The Plan

  • 1: "Literacy" is a useful way to discuss becoming technical

  • 2: Technical literacy helps Lean Teams

  • 3: Share my story about becoming literate

Part 1:

"Coding As Literacy"

Why "Coding as Literacy"?

  • It's a good way to talk about coding, which is often treated as a binary.
  • The success of Code Year indicates this case may be stipulated.

If you work in a technical medium,

TECHNOLOGY IS POWERFUL

BUT

Learning hard technical skills is

SCARY

Remember

Literacy != Fluency

Getting technical doesn't have to be a

full-time commitment

A True Story

I gave a "Git for Designers" talk

  • The speaker before me talked typography to a rapt audience
  • ...and when Ryan said 'Git...', the room emptied(!)
  • He also said:

"We don't hire designers who can't code."

Part 2:

How does Code Literacy Help Lean Teams?

My Thesis

High levels of code literacy correlate with more sustainable projects and more successful outcomes.

Making is good for projects

  • Small details are important, especially to the user. They fall by the wayside.
  • There's a whole class of things for which it takes more time to explain it than to do.
  • This is tech literacy's sweet spot for PO's and designers and leads to a dramatic increase in think-make-check speed.

Making is good for teams

  • Lend a helping hand to development work at the edges,
  • Avoid resource bottlenecks,
  • Build respect and camraderie, reduce "us-vs.-them"

Making is good for individuals

  • Building things feels awesome
  • "Instead of telling someone else how to paint, you get to hold the brush."

Overview

Where can literacy help?

  • Designer, PO: Better tactical design choices and execution, more team bandwidth,
  • Principal: better strategic design choices, more realistic estimates, better analytical tools.
  • Developer: uhhh...

Overview

Where can literacy hurt?

  • Design, PM, Principal: time / opportunity cost, overstepping bounds, loss of innocence
  • Developer: tunnel vision can skew priorities

In general, more literacy is better

(no matter what the role)

but...

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.

Part 3:

Becoming literate

I started as

a self-taught designer

I worked on Spot.Us and

found Agile and fell in love.

I wanted to bring Agile to design.

I found Pivotal, and

they needed an Agile designer

Sweet!

I started working with 2 pairs of developers.

They would type code

I would use Adobe for mocks

Learning #1

In-browser Mockups

with basic CSS, HTML, and a templating framework (Erb)

Learning #2

TDD and Story Writing

using Cucumber. This helped my UX and UI practice enormously.

Learning #3

Basic Tools

Setting up an environment, Bundler, Rake, etc., let me run locally.

Learning #4

Git

So I could contribute small fixes, mostly copy and CSS.

But

I was breaking a lot of tests

Learning #5

Rspec and Capybara

So I run tests and make some fixes.

Now I could commit code

without breaking the build

:-)

Learning #6

JQuery and the DOM

So I could make better in-browser mocks and make more changes

Learning #7

More Ruby, which led to ORMs and REST and HTTP verbs.

That's a mouthful.

Learning #8

By now, I was doing development regularly

and starting to bring my Design practice back to it. Personas in cuke!

Learning #∞

Still learning every day

Meta-learnings

Rules I Learned

About Learning Technical Things

  • Learn what the web is built of (internet architecture),
  • Immersion/osmosis is a powerful teaching tool,
  • It's critically important to do things and get feedback, not just read about them.

Tastes I cultivated

About Learning Technical Things

  • Tools are important (but don't obsess over them),
  • Develop the sense of when to ask for help and when to tough it out,
  • Develop the sense of smell of knowing when you should go along with Magic, and when you have to learn how it works under the hood.

What Next?

Learn Something! Learn Rails! Or Sinatra.

Thanks!

http://jonathanpberger.com,

jonathanpberger@gmail.com,

@jonathanpberger on twitter, github, forrst, flickr, etc etc etc

http://jonathanpberger.com/talks for this deck in HTML (with links).