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

Programming for Humans

Programming for Humans

Short talk presented at Women Who Code Portland's Networking Night
https://www.meetup.com/Women-Who-Code-Portland/events/222804928/

Video: https://www.youtube.com/watch?v=yIvn3HkoD9Y&t=3280

3765534fc2f04754512bfb85b2bc6421?s=128

Emily Hyland

June 08, 2015
Tweet

More Decks by Emily Hyland

Other Decks in Programming

Transcript

  1. Programming for API design as UX design Humans

  2. Emily Hyland Senior Software Engineer at New Relic Ruby &

    JavaScript
  3. WHO this is for WHATit means WHYit’s a good idea

    WHENto apply it HOWit works
  4. WHAT WHY WHEN HOW WHO

  5. everybody code is for people, even when it’s internal or

    part of a side project
  6. WHAT WHY WHEN HOW WHO

  7. WHAT WHY WHEN HOW WHO

  8. remote calls exposed
 to consumers API

  9. remote calls exposed
 to consumers classes, methods, and variables in

    a codebase even when private API —
  10. the subjective experience
 of using software ease of use and

    emotional connection user experience —
  11. the qualities or properties
 of an object that define its

    possible uses or make clear how it can or should be used affordance http://www.merriam-webster.com/dictionary/affordance
  12. WHAT WHY WHEN HOW WHO

  13. WHAT WHY WHEN HOW WHO

  14. reusable knowledge a consistent interface lets you apply things you

    already learned
  15. discoverability it’s easier to jump in when you can tell

    what something is for
  16. empathetic & personal design patterns and best practices are abstract

    this is how they affect humans —
  17. WHAT WHY WHEN HOW WHO

  18. WHAT WHY WHEN HOW WHO

  19. writing code step back every so often to consider your

    approach
  20. code reviews you’re already in the
 right frame of mind

  21. choosing tools look at the conventions
 and documentation

  22. WHAT WHY WHEN HOW WHO

  23. WHAT WHY WHEN HOW WHO

  24. follow convention is there a pattern that’s already established?

  25. imagine the user why are they using your code? what

    is their goal?
  26. write the README before you write the code think how

    you’ll use it, not the implementation
  27. WHAT WHY WHEN HOW WHO

  28. WHAT WHY WHEN HOW WHO

  29. Programmers often feel joy when they can concentrate on the

    creative side of programming, so Ruby is designed to make programmers happy. I consider a programming language as a user interface, so it should follow the principles of user interface. – Yukihiro Matsumoto