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

0ebf471a3ae8df42a84f93a7efbbdbd0?s=128

Ash Furrow

April 21, 2016
Tweet

Transcript

  1. Dependency Mana Unit Testing ☑︎ ☑︎ ☑︎ ☐ Accessibility Continuous

    Integr
  2. None
  3. Let’s talk about where we were, where we are now,

    and where we’re going
  4. Really Important Things Empathy is essential Be mindful Let’s do

    Community-Driven Development
  5. Empathy

  6. Empathy for yourself

  7. Past → Present → Future

  8. Past → Present → Future

  9. Past → Present → Future →

  10. Past → Present → Future → →

  11. Empathy for others

  12. Everyone has similar fears and similar doubts

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

  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.”
  15. Communication

  16. –Harold Abelson, SICP “Programs must be written for people to

    read, and only incidentally for machines to execute.”
  17. Good Programmer → Good Communicator

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

  19. So, communication is important

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

  21. Move to hangouts early and often

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

    → Better programming skills
  23. Mindfulness

  24. None
  25. Look for better ways to solve familiar problems

  26. None
  27. Examples • Dependency managers • Fastlane • Jazzy • Swiftlint

    • Swiftcheck • chswift • CocoaDocs • nsdateformatter.com • Quick & Nimble • Inclusive Toolkit • FBSnapshotTestCase • swift-compiler-crashes
  28. Mindful communication

  29. Think ahead

  30. Listen Affirm Respond Add

  31. Automation

  32. None
  33. None
  34. None
  35. Look for opportunities to automate

  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
  37. Danger

  38. None
  39. Automate team invitations

  40. Community-Driven Development

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

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

  44. None
  45. iOS has become more community-focused

  46. iOS circa 2013 …

  47. iOS circa 2013 left-pad incident …

  48. iOS circa 2013 left-pad incident iOS today …

  49. iOS circa 2013 left-pad incident iOS today … { Good

    middle ground
  50. “If you’re the smartest person in the room, find a

    new room.”
  51. This is really easy in open source

  52. This is really easy in open source … because we’re

    all in several rooms at once
  53. Open Source by Default

  54. Really Important Things Empathy is essential Be mindful Let’s do

    Community-Driven Development
  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.”