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

iOS Checkup

iOS Checkup

My talk from MCE 2016

http://2016.mceconf.com/

Copy with presenter notes and citations is available: https://static.ashfurrow.com/mce2016_with_notes.pdf

Ash Furrow

April 21, 2016
Tweet

More Decks by Ash Furrow

Other Decks in Programming

Transcript

  1. Dependency Mana
    Unit Testing
    ☑︎
    ☑︎
    ☑︎

    Accessibility
    Continuous Integr

    View Slide

  2. View Slide

  3. Let’s talk about where we were,
    where we are now, and where we’re going

    View Slide

  4. Really Important Things
    Empathy is essential
    Be mindful
    Let’s do Community-Driven Development

    View Slide

  5. Empathy

    View Slide

  6. Empathy for yourself

    View Slide

  7. Past → Present → Future

    View Slide

  8. Past → Present → Future

    View Slide

  9. Past → Present → Future


    View Slide

  10. Past → Present → Future

    → →

    View Slide

  11. Empathy for others

    View Slide

  12. Everyone has similar fears
    and similar doubts

    View Slide

  13. We have science'd empathy,
    and the results are awesome

    View Slide

  14. –Me, about depression, 2013
    “I wish that I had something more substantial to add to the
    dialogue than ‘me too’, but sometimes it’s worth knowing that
    you’re not alone, and that it can get better.”

    View Slide

  15. Communication

    View Slide

  16. –Harold Abelson, SICP
    “Programs must be written for people to read,
    and only incidentally for machines to execute.”

    View Slide

  17. Good Programmer → Good Communicator

    View Slide

  18. Good Programmer → Good Communicator
    Good Communicator → Good Programmer

    View Slide

  19. So, communication is important

    View Slide

  20. Text-based communication is
    really bad at conveying empathy

    View Slide

  21. Move to hangouts early and often

    View Slide

  22. Empathy for ourselves
    → Empathy for others
    → Better communication
    → Better programming skills

    View Slide

  23. Mindfulness

    View Slide

  24. View Slide

  25. Look for better ways to solve
    familiar problems

    View Slide

  26. View Slide

  27. Examples
    • Dependency managers
    • Fastlane
    • Jazzy
    • Swiftlint
    • Swiftcheck
    • chswift
    • CocoaDocs
    • nsdateformatter.com
    • Quick & Nimble
    • Inclusive Toolkit
    • FBSnapshotTestCase
    • swift-compiler-crashes

    View Slide

  28. Mindful communication

    View Slide

  29. Think ahead

    View Slide

  30. Listen
    Affirm
    Respond
    Add

    View Slide

  31. Automation

    View Slide

  32. View Slide

  33. View Slide

  34. View Slide

  35. Look for opportunities
    to automate

    View Slide

  36. I wrote unit tests
    → I want tests to run on pull requests
    → I set up Continuous Integration
    → I can use CI to automate code coverage analysis
    → I can use CI to automate deploys with Fastlane
    → I can use CI to automate common PR responses

    View Slide

  37. Danger

    View Slide

  38. View Slide

  39. Automate team invitations

    View Slide

  40. Community-Driven
    Development

    View Slide

  41. Sharing an idea is the easiest
    way to validate it

    View Slide

  42. View Slide

  43. Sharing an idea is the easiest
    way to improve it

    View Slide

  44. View Slide

  45. iOS has become more
    community-focused

    View Slide

  46. iOS circa 2013

    View Slide

  47. iOS circa 2013 left-pad incident

    View Slide

  48. iOS circa 2013 left-pad incident
    iOS today

    View Slide

  49. iOS circa 2013 left-pad incident
    iOS today

    {
    Good middle ground

    View Slide

  50. “If you’re the smartest person in the room,
    find a new room.”

    View Slide

  51. This is really easy in open source

    View Slide

  52. This is really easy in open source
    … because we’re all in several
    rooms at once

    View Slide

  53. Open Source by Default

    View Slide

  54. Really Important Things
    Empathy is essential
    Be mindful
    Let’s do Community-Driven Development

    View Slide

  55. –Buckminster Fuller, 1969
    “So, planners, architects, and engineers take the initiative. Go to
    work, and above all co-operate and don’t hold back on one
    another or try to gain at the expense of another. Any success in
    such lopsidedness will be increasingly short-lived.”

    View Slide