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

Emerging Best Practices in Swift

Avatar for Ash Furrow 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/

Avatar for Ash Furrow

Ash Furrow

October 29, 2015
Tweet

More Decks by Ash Furrow

Other Decks in Programming

Transcript

  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