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. Swift Emerging Best Practices in Ash Furrow

  2. Crave Beginners Rules

  3. How do we find new ones? Best practices

  4. 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
  5. Necessary Insufficient but

  6. Job Description • Learning is a part of your job

    description • If it’s not, you’re being cheated
  7. Whole We are all part of a

  8. What good are nifty coding tricks if you can't show

    them off to anyone?” –Jeff Atwood “
  9. New best practices New Ideas

  10. Every act of creation is first an act of destruction.”

    –Pablo Picasso “
  11. Improving Ideas • There are very rarely new ideas •

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

    away what you know • You can have preferences! • And your preferences can change!
  13. Learning can be learned

  14. Skillful Learning • Learning is a skill, like any other

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

    you disagree with • Try things you think will fail
  17. 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)
  18. 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
  19. Discovering “Best Practices” • You’ll know it when you see

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

    your answer down • Collect your answers, and form principles • Reflect on them • Everyone’s are different
  21. 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
  22. The banality of Awesome

  23. Use the System Buddy

  24. KPIs Write down some

  25. • Specific • Measurable • Achievable • Relevant • Time-bound

    SMART Goals
  26. Specific • “Read 10 blog posts.” • “Try one new

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

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

    a part of your job – take it seriously
  29. Relevant • Everything is relevant ¯\_(ツ)_/¯ • Just reflect on

    what you’ve learned
  30. Time-Bound • We need deadlines • Use Google Calendar with

    reminders • Set up recurring events to meet & discuss progress
  31. 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
  32. Intuition Experience

  33. Wax on