Emerging Best Practices in Swift

0ebf471a3ae8df42a84f93a7efbbdbd0?s=47 Ash Furrow
October 29, 2015

Emerging Best Practices in Swift

Presented at Swift Summit SF 2015

Resources:
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/

0ebf471a3ae8df42a84f93a7efbbdbd0?s=128

Ash Furrow

October 29, 2015
Tweet

Transcript

  1. 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
  2. 6.

    Job Description • Learning is a part of your job

    description • If it’s not, you’re being cheated
  3. 8.

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

    them off to anyone?” –Jeff Atwood “
  4. 11.

    Improving Ideas • There are very rarely new ideas •

    Invention is not enough • We should look for ideas that are new to us
  5. 12.

    Improving Ideas • Embrace the new • But never throw

    away what you know • You can have preferences! • And your preferences can change!
  6. 14.

    Skillful Learning • Learning is a skill, like any other

    • It can be learned, practiced, refined
  7. 15.
  8. 16.

    How to Learn • Seek out new ideas • Ideas

    you disagree with • Try things you think will fail
  9. 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)
  10. 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
  11. 19.

    Discovering “Best Practices” • You’ll know it when you see

    it • It is a feeling, an intuition • This happens with experience
  12. 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
  13. 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
  14. 26.

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

    library.” • “Open source a playground.” • “Give a lunch-and-learn.” • “Read a book.”
  15. 27.

    Measurable • How will you know when you’ve accomplished a

    goal? • Make a “definition of done”
  16. 28.

    Achievable • Be realistic, but ambitious • Remember, this is

    a part of your job – take it seriously
  17. 30.

    Time-Bound • We need deadlines • Use Google Calendar with

    reminders • Set up recurring events to meet & discuss progress
  18. 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
  19. 33.