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

Emerging Best Practices in Swift

Ash Furrow
October 29, 2015

Emerging Best Practices in Swift

Presented at Swift Summit SF 2015

Colour palette: http://www.colourlovers.com/palette/49963/let_them_eat_cake
In Programming, One is the Loneliest Number: http://blog.codinghorror.com/in-programming-one-is-the-loneliest-number/

Ash Furrow

October 29, 2015

More Decks by Ash Furrow

Other Decks in Programming


  1. Agenda 1. Learning is necessary, but not sufficient 2. Like

    coding, learning is a skill that can be refined 3. Being awesome is actually pretty banal
  2. Job Description • Learning is a part of your job

    description • If it’s not, you’re being cheated
  3. What good are nifty coding tricks if you can't show

    them off to anyone?” –Jeff Atwood “
  4. Improving Ideas • There are very rarely new ideas •

    Invention is not enough • We should look for ideas that are new to us
  5. Improving Ideas • Embrace the new • But never throw

    away what you know • You can have preferences! • And your preferences can change!
  6. Skillful Learning • Learning is a skill, like any other

    • It can be learned, practiced, refined
  7. How to Learn • Seek out new ideas • Ideas

    you disagree with • Try things you think will fail
  8. Finding New Ideas • Open source code • Blog posts,

    books, podcasts, screencasts, conferences, etc • Newsletters make these easier • Follow people on Twitter (people who are not iOS developers)
  9. Don’t Dismiss • Never dismiss an idea or a person

    • People will stop talking to you, ya jerk! • People are allowed to disagree with you
  10. Discovering “Best Practices” • You’ll know it when you see

    it • It is a feeling, an intuition • This happens with experience
  11. Discovering “Best Practices” • Ask yourself why this? • Write

    your answer down • Collect your answers, and form principles • Reflect on them • Everyone’s are different
  12. Using Principles • Use principles to evaluate new ideas •

    Not “is this useful?” but rather “when would this be useful?” • Use principles to get better at evaluating ideas • Refine principles over time
  13. Specific • “Read 10 blog posts.” • “Try one new

    library.” • “Open source a playground.” • “Give a lunch-and-learn.” • “Read a book.”
  14. Measurable • How will you know when you’ve accomplished a

    goal? • Make a “definition of done”
  15. Achievable • Be realistic, but ambitious • Remember, this is

    a part of your job – take it seriously
  16. Time-Bound • We need deadlines • Use Google Calendar with

    reminders • Set up recurring events to meet & discuss progress
  17. Wrap Up 1. Learning is a part of our job

    2. It’s not easy, and it’s not comfortable 3. So we need to hold ourselves accountable