don’t understand software development
A lot of Designers ...
Slide 3
Slide 3 text
don’t understand software development
… even some software developers.
A lot of Designers ...
people
Slide 4
Slide 4 text
We’re about to fix all this
Don’t feel bad.
(famous. last. words.)
Slide 5
Slide 5 text
#whoami
Slide 6
Slide 6 text
First, some Questions.
Slide 7
Slide 7 text
What is software?
Programs that tell a computer
how to do something
Slide 8
Slide 8 text
System software. Programming software.
*Application software*
Types of software?
Slide 9
Slide 9 text
Application Software?
That sounds a lot like “apps” …
Slide 10
Slide 10 text
Apps?
Desktop Apps. Mobile Apps. *Web Apps*
aka “software”
Slide 11
Slide 11 text
Website vs Web app
Slide 12
Slide 12 text
Why is Software hard?
(This is not an existential question)
Slide 13
Slide 13 text
“There are known knowns; there are things we know we know.
We also know there are known unknowns; that is to say we
know there are some things we do not know.
But there are also unknown unknowns – there are things we
do not know we don't know”
— *former* United States Secretary of Defense Donald Rumsfeld
Slide 14
Slide 14 text
Why is Software hard?
Unknown Unknowns are a KILLER!
Slide 15
Slide 15 text
Why is Software hard?
Coming up with estimates are hard and …
Slide 16
Slide 16 text
“L’enfer, c’est les autres”
Jean
Paul
Sartre
Slide 17
Slide 17 text
Just kidding …
Slide 18
Slide 18 text
“Hell is other people”
Jean
Paul
Sartre
Slide 19
Slide 19 text
Methods of building software
Agile. Waterfall. Big Design. Iterative
Slide 20
Slide 20 text
What’s the right way?!
(This is an existential question)
Slide 21
Slide 21 text
How I like to do it
Design. Discuss. Prototype. Argue.
Write Tests. Code. Find problems.
Regroup. Code more.
Manual Testing. Fix bugs.
Release. Drink. Profit. Party.
Rinse. Repeat.
Slide 22
Slide 22 text
How to do it wrong?
Bad estimates
Long times between checkins
Not involving the developers
No collaborative tools
Bad. Hard dates.
Slide 23
Slide 23 text
What the designer should know
You don’t need to know how to program
… but you need to know the medium
you’re designing for
Slide 24
Slide 24 text
What the designer should know
Native mobile vs mobile web
Touch screen vs mouse
Page loads vs Ajax
Android vs ios vs Windows phone
etc
Slide 25
Slide 25 text
What the designer should know
*Don’t* try to keep up with less, sass, css, haml
css3, html5, jquery, dojo, spine, backbone,
Ember.js, jsonp, sugar.js, AIR, WPF …
Slide 26
Slide 26 text
What the designer should know
Front-end Development is *now* very
specialized. It didn’t used to be, so
designers could work on front end code
Slide 27
Slide 27 text
What the designer should know
Focus on acquiring ui/ux knowledge
… but picking up technical knowledge
never hurts. makes it harder to be
bullshitted.
Slide 28
Slide 28 text
My Advice?
You’re not Steve Jobs.
Slide 29
Slide 29 text
My Advice for
working with Developers?
If you want something. Ask nicely.
Explain. Get them to help you win.
Slide 30
Slide 30 text
My Advice?
Ask A LOT of questions.
People like to talk about their work
Slide 31
Slide 31 text
Albert Einstein
I am neither especially clever nor especially gifted.
I am only very, very curious
Slide 32
Slide 32 text
My Advice?
Never tell a developer *HOW* to do
something, unless you’re prepared for
war.
Slide 33
Slide 33 text
My Advice?
Learn how to use collaborative tools.
Skype. Campfire. Basecamp.
Slide 34
Slide 34 text
My Advice?
Learn how to write bug reports and use
JIRA or Lighthouse
Slide 35
Slide 35 text
My Advice?
Learn the importance of testing and
regressions.
Slide 36
Slide 36 text
The Future
• Node.js. Evented programming
• Scaling. Concurrency. Big Data.
• html5
• The Rise of Mobile
• *Responsive design
*
h.p://speakerdeck.com/u/malarkey/p/fashionably-‐flexible-‐responsive-‐web-‐design-‐full-‐day-‐workshop-‐1