Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Engineering of Craft

Engineering of Craft

Given at Codemania 2019 in Auckland, New Zealand

Consider the code you write every day: Is it engineering? Is it craft? Is it... both? Is there something we can learn by returning to our creative roots, to help us be even better engineers than we already are?

Join me as I look at engineering from a totally different angle. We’ll talk about patterns, prototypes, testing, and bug fixing... without reviewing a single line of code.

There will be puns. And pockets. And you might even walk away with a better understanding of why your pants don’t fit as well as they could!

Raquel Vélez

May 15, 2019
Tweet

More Decks by Raquel Vélez

Other Decks in Programming

Transcript

  1. THE ENGINEERING OF
    CRAFT
    RAQUEL VÉLEZ
    @rockbot

    View full-size slide

  2. LET'S REVIEW THE
    ENGINEERING
    DEVELOPMENT PROCESS

    View full-size slide

  3. AND LET'S DO IT WITH
    PANTS

    View full-size slide

  4. CODE VS PANTS
    LET’S COMPARE THE TWO
    https://bit.ly/2VQvIEO

    View full-size slide

  5. THE PRODUCT SPEC

    View full-size slide

  6. OUR
    CUSTOMER
    • Nuclear engineer
    • Works in a laser lab
    • Often found leaning
    over lasers, bending
    into tight spaces

    View full-size slide

  7. THE
    PROBLEM
    • Has difficulty finding
    jeans that fit
    • Jeans gape at the
    waist and sag in the
    butt, resulting in
    insufficient coverage
    https://i.imgur.com/z7TNt9X_d.jpg

    View full-size slide

  8. PROPOSED
    SOLUTION
    A custom-made pair of
    jeans!
    https://bit.ly/2YwnAar

    View full-size slide

  9. SUCCESS
    CRITERIA
    • Fitted in waist
    • Roomy enough for
    lots of bending
    • Personalized with
    nerdiness

    View full-size slide

  10. THE TECH SPEC

    View full-size slide

  11. TWO OPTIONS FOR CUSTOM JEANS
    TAKE A PATTERN THAT ALREADY
    EXISTS AND MODIFY IT
    • Pros:
    • Instructions + community exist
    • Avoid NIH syndrome
    • Cons:
    • Made for “generic human”; but
    every human is unique and
    making it fit is going to be time-
    consuming
    CREATE A PATTERN FROM
    SCRATCH
    • Pros:
    • Make exactly what we want
    • It’s been done before, in principle
    • Cons:
    • Requires skill to do well
    • Will likely still be painfully time-
    consuming

    View full-size slide

  12. CREATE A PATTERN FROM
    SCRATCH
    • Pros:
    • Make exactly what we want
    • It’s been done before, in principle
    • Cons:
    • Requires skill to do well
    • Will likely still be painfully time
    consuming
    TWO OPTIONS FOR CUSTOM JEANS
    TAKE A PATTERN THAT ALREADY
    EXISTS AND MODIFY IT
    • Pros:
    • Instructions + community exist
    • Avoid NIH syndrome
    • Cons:
    • Made for “generic human”; but
    every human is unique and
    making it fit is going to be time-
    consuming

    View full-size slide

  13. THE
    PATTERN
    • Instructions
    • Fabric requirements
    • Basic fitting
    • Multiple sizes

    View full-size slide

  14. OUR FIRST PROTOTYPE

    View full-size slide

  15. PROTOTYPING
    BASICS
    • Throw away-able
    • Quick turnaround
    • Cheap fabric
    • No finishing touches
    • Continuous iteration
    cut the
    pattern pieces
    sew the
    pieces
    together
    fit the garment
    to the end-user
    modify the
    pattern

    View full-size slide

  16. TDD: TEST-DRIVEN
    DEVELOPMENT

    View full-size slide

  17. NOTE: THE TESTS ARE
    ALWAYS PERFECT

    View full-size slide

  18. FAILING TESTS
    THESE ARE BLOCKERS TO PRODUCTION

    View full-size slide

  19. WARNING:
    YOU CANNOT UNSEE WHAT YOU
    ARE ABOUT TO SEE

    View full-size slide

  20. FAILING TESTS
    THESE ARE BLOCKERS TO PRODUCTION

    View full-size slide

  21. BREAK AND
    ITERATE
    • Broken tests = time
    to fix the code
    • Let's cut out a larger
    size and modify the
    back piece to add
    more height for the
    waist in the back

    View full-size slide

  22. PROTOTYPE 8-ISH

    View full-size slide

  23. NO MORE BLOCKERS
    FOR PRODUCTION!

    View full-size slide

  24. POST-PRODUCTION BUGS
    IT'S NEVER TOO LATE TO CLEAN UP AN OOPSIE
    BEFORE AFTER

    View full-size slide

  25. RETROSPECTIVE

    View full-size slide

  26. LOGGING
    TFW you're certain
    you'll remember what
    that meant and then
    you get distracted and
    come back to it later
    and totally forget

    View full-size slide

  27. MORE
    FREQUENT
    COMMITS
    What did I do here?
    Why? When?
    How do I go back?

    View full-size slide

  28. VERSION
    CONTROL
    Colors and dates are a
    start, but are they
    enough?

    View full-size slide

  29. BACKUPS
    You never know when
    your code may be
    corrupted

    View full-size slide

  30. CODE
    REVIEWS
    • It's helpful to get
    other opinions
    • These two didn't
    help much at all

    View full-size slide

  31. SUCCESS?
    YES!
    Fitted in waist
    Roomy enough for
    lots of bending
    Personalized with
    nerdiness

    View full-size slide

  32. BUT WAIT - WHY ARE
    PANTS SO TRICKY?

    View full-size slide

  33. A QUICK PRIMER ON CLOTHES + FIT
    EVERYONE HAS TROUBLE FINDING CLOTHES THAT FIT WELL
    https://bit.ly/2JcVvkN

    View full-size slide

  34. A QUICK PRIMER ON CLOTHES + FIT
    EVERYONE HAS TROUBLE FINDING CLOTHES THAT FIT WELL
    divide the pattern piece vertically and horizontally

    View full-size slide

  35. A QUICK PRIMER ON CLOTHES + FIT
    EVERYONE HAS TROUBLE FINDING CLOTHES THAT FIT WELL
    cut and spread to create a larger size

    View full-size slide

  36. A QUICK PRIMER ON CLOTHES + FIT
    EVERYONE HAS TROUBLE FINDING CLOTHES THAT FIT WELL
    cut and overlap to create a smaller size

    View full-size slide

  37. SIZE GUIDE COMPARISON
    MEN'S MEDIUM T-SHIRT
    Patagonia Icebreaker Quicksilver The North Face Variation
    Chest
    96 - 102 cm
    (38 - 40 in)
    91 - 99 cm 99 - 103 cm
    99 - 104 cm
    (39 - 41 in)
    13 cm
    Waist
    78 - 84 cm
    (31 - 33 in)
    78 - 85 cm 78.5 - 83 cm
    81 - 86 cm
    (32 - 34 in)
    8 cm
    Sleeve
    86 cm
    (34 in)
    87 - 87.5 cm 83 cm
    86 cm
    (34 in)
    4.5 cm

    View full-size slide

  38. HOW DOES THAT COMPARE
    TO THE CODE YOU WRITE?

    View full-size slide

  39. LOOK AT CODE FROM
    A DIFFERENT ANGLE

    View full-size slide

  40. WE ARE
    CRAFTSPEOPLE

    View full-size slide

  41. USE WHAT YOU
    KNOW

    View full-size slide

  42. BUILD SOMETHING
    DIFFERENT

    View full-size slide

  43. BREAK AND ITERATE

    View full-size slide

  44. AND SURPRISE YOURSELF
    WITH WHAT YOU LEARN

    View full-size slide

  45. RAQUEL VÉLEZ
    @rockbot
    THANK YOU!!

    View full-size slide