The Art of Stealing

The Art of Stealing

Software development mostly happens in platform specific silos. We frequently miss opportunities to learn how developers on other platforms & technologies have solved problems very similar to ours. This talks will share personal success stories of stealing ideas from other platforms and applying them to iOS development. Hopefully attendees will be inspired to learn & steal on their own.

De23af005c790b22f8ce4d201e6ca027?s=128

Benjamin Encz

May 08, 2017
Tweet

Transcript

  1. Benjamin Encz @benjaminencz The Art Of Stealing | @benjaminencz |

    MCE Conf, May 2017 1
  2. The Art of Stealing The Art Of Stealing | @benjaminencz

    | MCE Conf, May 2017 2
  3. Assertion 1 We are ignoring a huge amount of valuable

    knowledge outside of our immediate community. The Art Of Stealing | @benjaminencz | MCE Conf, May 2017 3
  4. Assertion 2 We and our industry could be significantly more

    productive if most developers expanded their scope of knowledge. The Art Of Stealing | @benjaminencz | MCE Conf, May 2017 4
  5. "Ultimately, it comes down to taste. It comes down to

    trying to expose yourself to the best things that humans have done and then try to bring those things in to what you're doing. I mean Picasso had a saying—‘good artists copy, great artists steal’— and we have always been shameless about stealing great ideas". — Steve Jobs (1996 PBS documentary "Triumph of the Nerds") The Art Of Stealing | @benjaminencz | MCE Conf, May 2017 5
  6. Copying

  7. Stealing

  8. Time Spent Researching vs Time Spent Writing Code The Art

    Of Stealing | @benjaminencz | MCE Conf, May 2017 8
  9. Source: http://jlongster.com/How-I-Became-Better-Programmer

  10. Most developers (including myself) are spending too little time on

    research. The Art Of Stealing | @benjaminencz | MCE Conf, May 2017 10
  11. The Art Of Stealing | @benjaminencz | MCE Conf, May

    2017 11
  12. Personal Examples The Art Of Stealing | @benjaminencz | MCE

    Conf, May 2017 12
  13. ReSwift The Art Of Stealing | @benjaminencz | MCE Conf,

    May 2017 13
  14. The Art Of Stealing | @benjaminencz | MCE Conf, May

    2017 14
  15. None
  16. Validated 16

  17. Validated func logout(user: LoggedInUser) { //... } The Art Of

    Stealing | @benjaminencz | MCE Conf, May 2017 17
  18. Validated typealias LoggedInUser = Validated<User, LoggedInValidator> do { let loggedInUser

    = try LoggedInUser(currentUser) } catch { // ... } The Art Of Stealing | @benjaminencz | MCE Conf, May 2017 18
  19. Validated The Art Of Stealing | @benjaminencz | MCE Conf,

    May 2017 19
  20. How to Steal in Practice The Art Of Stealing |

    @benjaminencz | MCE Conf, May 2017 20
  21. Change In Mindset » New Idea? New problem? -> must

    have been solved before! » Some group must have more resources focused on this than I could ever have. The Art Of Stealing | @benjaminencz | MCE Conf, May 2017 21
  22. Three Modes of Research » Exploratory » Targeted » Collaborative

    The Art Of Stealing | @benjaminencz | MCE Conf, May 2017 22
  23. Exploratory Research Goal: Expand Horizon » Spend small amount of

    time grasping core ideas of other technology » Begin to see connections between seemingly unrelated areas The Art Of Stealing | @benjaminencz | MCE Conf, May 2017 23
  24. Targeted Research Goal: Avoid Previous Mistakes » Determine Research Budget

    » Perform High Level Research to Find Options » Pick 2-5 Options » Read, Prototype, Evaluate, Repeat The Art Of Stealing | @benjaminencz | MCE Conf, May 2017 24
  25. Collaborative Research Goal: Quickly Gain Insight Outside Your Area »

    Exchange with developers on other platforms while working on same feature (targeted) » Meet people from other communities (exploratory) The Art Of Stealing | @benjaminencz | MCE Conf, May 2017 25
  26. Prototyping is Thinking The Art Of Stealing | @benjaminencz |

    MCE Conf, May 2017 26
  27. Conclusion The Art Of Stealing | @benjaminencz | MCE Conf,

    May 2017 27
  28. Conclusion 1 Don't narrowly focus on immediate productivity. Invest time

    in research, learning, collaboration. Look outside of your box. You can make small investments that pay off quickly. The Art Of Stealing | @benjaminencz | MCE Conf, May 2017 28
  29. Conclusion 2 Reinventing the wheel is great, but starting from

    scratch would be foolish. The Art Of Stealing | @benjaminencz | MCE Conf, May 2017 29
  30. Conlusion 3 Stealing is a foundation for innovation. It will

    make you more effective and more creative and will accelerate the rate at which you gain experience. If we're lucky it creates innovation for our entire industry. The Art Of Stealing | @benjaminencz | MCE Conf, May 2017 30
  31. Keep Stealing! Related Talk/Book (Thx to my Coworker Raheel): "Steal

    like an Artist" Sync Prototype: https://github.com/Ben-G/OT-Sync-Prototype Slides: http://bit.ly/artofstealing @benjaminencz The Art Of Stealing | @benjaminencz | MCE Conf, May 2017 31