Programming for Human Interactions

3d65a0bc911de24fde5e58d84b0276af?s=47 Liz
May 21, 2016

Programming for Human Interactions

Most programmers, regardless of our discipline or focus of choice, have a shared set of skills that make us good at what we do. On the whole we're excellent problem solvers who aren't afraid of failure and we spend ample amounts of time researching our options before experimenting with different solutions. What if we applied these deductive skills to more difficult scenarios of human interaction, like code reviews and teamwork? Is it possible for us to learn how to become better humans from how we program? Can being better humans make us better at programming? Using the tactics familiar to us as programmers, I'll outline a programmatic approach for human interactions to help us win at both programming and people-ing.

3d65a0bc911de24fde5e58d84b0276af?s=128

Liz

May 21, 2016
Tweet

Transcript

  1. Programming for Human Interactions Liz Abinante @feministy • labinante@newrelic.com Senior

    Software Engineer • New Relic
  2. LIZ ABINANTE @feministy SELF.CONF Why?

  3. LIZ ABINANTE @feministy SELF.CONF How can we use our programming

    skills to be better humans?
  4. A brief story of two engineers

  5. LIZ ABINANTE @feministy SELF.CONF Alice and Omar

  6. LIZ ABINANTE @feministy SELF.CONF They both join new teams at

    work.
  7. LIZ ABINANTE @feministy SELF.CONF 1 feels successful. 1 feels like

    a failure.
  8. LIZ ABINANTE @feministy SELF.CONF 1 feels successful. 1 feels like

    a failure.
  9. LIZ ABINANTE @feministy SELF.CONF 1 feels successful. 1 feels like

    a failure.
  10. LIZ ABINANTE @feministy SELF.CONF What was the difference?

  11. None
  12. None
  13. Traits of good programmers

  14. LIZ ABINANTE @feministy SELF.CONF

  15. Debugging

  16. LIZ ABINANTE @feministy SELF.CONF Systematic, logical approach

  17. LIZ ABINANTE @feministy SELF.CONF Reliable, flexible toolset

  18. LIZ ABINANTE @feministy SELF.CONF Different environments or sandboxes

  19. LIZ ABINANTE @feministy SELF.CONF

  20. Mental models of architecture

  21. LIZ ABINANTE @feministy SELF.CONF Knowledge of data models

  22. LIZ ABINANTE @feministy SELF.CONF Familiarity with the interactions between existing

    systems
  23. LIZ ABINANTE @feministy SELF.CONF

  24. Structural knowledge of libraries and tools in their ecosystem

  25. LIZ ABINANTE @feministy SELF.CONF Ability to evaluate tools objectively

  26. LIZ ABINANTE @feministy SELF.CONF Knowing what role each piece plays

  27. LIZ ABINANTE @feministy SELF.CONF Ability to find more information

  28. Traits of good colleagues

  29. LIZ ABINANTE @feministy SELF.CONF

  30. Emotional intelligence

  31. LIZ ABINANTE @feministy SELF.CONF Intuition

  32. LIZ ABINANTE @feministy SELF.CONF Empathy

  33. LIZ ABINANTE @feministy SELF.CONF

  34. Approachable

  35. LIZ ABINANTE @feministy SELF.CONF Good communication in various forms

  36. LIZ ABINANTE @feministy SELF.CONF Responsive to queries

  37. LIZ ABINANTE @feministy SELF.CONF Adaptable to different scenarios

  38. LIZ ABINANTE @feministy SELF.CONF

  39. Willingness to share

  40. LIZ ABINANTE @feministy SELF.CONF Learn new things to help themselves

    and others
  41. LIZ ABINANTE @feministy SELF.CONF Share existing knowledge

  42. LIZ ABINANTE @feministy SELF.CONF Encourage teamwork and even distribution of

    responsibility
  43. LIZ ABINANTE @feministy SELF.CONF

  44. Interest in solving hard problems

  45. LIZ ABINANTE @feministy SELF.CONF …AS A TEAM

  46. LIZ ABINANTE @feministy SELF.CONF Distill problems down to the basics

  47. LIZ ABINANTE @feministy SELF.CONF Encourage collaborative solutions

  48. LIZ ABINANTE @feministy SELF.CONF What makes us good programmers also

    makes us good people.
  49. LIZ ABINANTE @feministy SELF.CONF What makes us good programmers also

    makes us good people. CAN ^ … if we try harder.
  50. Building a human interface

  51. LIZ ABINANTE @feministy SELF.CONF Common situations

  52. LIZ ABINANTE @feministy SELF.CONF Common situations FRUSTRATING

  53. LIZ ABINANTE @feministy SELF.CONF Code reviews Team projects Pairing

  54. LIZ ABINANTE @feministy SELF.CONF How can we use our dev

    skills to reduce frustration?
  55. Debugging

  56. LIZ ABINANTE @feministy SELF.CONF Systematic, logical approach work toward a

    solution, not away from a problem
  57. LIZ ABINANTE @feministy SELF.CONF Systematic, logical approach evaluate the code,

    idea, or technology
  58. LIZ ABINANTE @feministy SELF.CONF Systematic, logical approach … remember that

    a person wrote the code, shared the idea, or invented the tech
  59. LIZ ABINANTE @feministy SELF.CONF Systematic, logical approach apply the same

    level of scrutiny to decisions, no matter whose idea it was
  60. LIZ ABINANTE @feministy SELF.CONF Reliable toolset start with basic check

    ins and validations
  61. LIZ ABINANTE @feministy SELF.CONF Reliable toolset expand using trial and

    error to produce a familiar set of techniques
  62. LIZ ABINANTE @feministy SELF.CONF Reliable toolset revisit techniques and borrow

    from others
  63. LIZ ABINANTE @feministy SELF.CONF Different environments or sandboxes different people

    respond to different techniques
  64. LIZ ABINANTE @feministy SELF.CONF Different environments or sandboxes some situations

    are more difficult than others
  65. LIZ ABINANTE @feministy SELF.CONF ✨ ✨ emotional ✨ ✨ intelligence

    ✨ ✨
  66. Mental models of architecture

  67. LIZ ABINANTE @feministy SELF.CONF Knowledge of data models know a

    little about your teammates as people
  68. LIZ ABINANTE @feministy SELF.CONF Knowledge of data models know their

    professional backgrounds and preferences
  69. LIZ ABINANTE @feministy SELF.CONF Familiarity with existing systems know how

    your teammates work together, and alone
  70. LIZ ABINANTE @feministy SELF.CONF Familiarity with existing systems recognize patterns

    and when something is out of sync
  71. LIZ ABINANTE @feministy SELF.CONF knowledge of data models

  72. LIZ ABINANTE @feministy SELF.CONF knowledge of HUMAN BEINGS

  73. LIZ ABINANTE @feministy SELF.CONF

  74. Structural knowledge of libraries and tools in their ecosystem

  75. LIZ ABINANTE @feministy SELF.CONF Ability to evaluate tools objectively discuss

    decisions and share strategy
  76. LIZ ABINANTE @feministy SELF.CONF Ability to evaluate tools objectively explain

    thought process to an audience with different knowledge
  77. LIZ ABINANTE @feministy SELF.CONF Knowing what role each piece plays

    encourage people to do the things they’re interested in but might not be good at
  78. LIZ ABINANTE @feministy SELF.CONF Find more information ask questions about

    preferences, style, ideas
  79. LIZ ABINANTE @feministy SELF.CONF prove to me you got some

    communication
  80. Final thoughts…

  81. LIZ ABINANTE @feministy SELF.CONF Expertise with technology and people both

    take time
  82. LIZ ABINANTE @feministy SELF.CONF … they also take patience and

    effort
  83. LIZ ABINANTE @feministy SELF.CONF Experience alone is not enough

  84. LIZ ABINANTE @feministy SELF.CONF Just because someone is junior, doesn’t

    mean they aren’t an expert
  85. LIZ ABINANTE @feministy SELF.CONF We don’t work in a vacuum.

    We don’t work alone. We are people who build things for people.
  86. LIZ ABINANTE @feministy SELF.CONF We don’t work in a vacuum.

    We don’t work alone. We are people who build things for people. with
  87. LIZ ABINANTE @feministy SELF.CONF We do better together.

  88. SELF.CONF Liz Abinante! • @feministy labinante@newrelic.com Senior Software Engineer

  89. LIZ ABINANTE @feministy SELF.CONF Photos ➡ Space! https://unsplash.com/photos/rTZW4f02zY8 ➡ Books:

    https://www.pexels.com/photo/books-school-stacked-closed-48126/ ➡ Poster: https://www.pexels.com/photo/office-poster-quote-success-8865/ ➡ Sad pug: https://www.pexels.com/photo/pug-portrait-dog-closeup-47444/ ➡ Debugging: https://www.pexels.com/photo/car-retro-vintage-oldtimer-9014/ ➡ Architecture: https://www.pexels.com/photo/building-london-london-city- skycrappers-34643/ ➡ Libraries: https://www.pexels.com/photo/books-old-book-knowledge- bookstore-34592/ ➡ Emotional lemur: https://www.pexels.com/photo/nature-eyes-grey-fur-33149/ ➡ Approachable pooch: https://www.pexels.com/photo/dog-cute-fur-black-89249/ ➡ Cookies: https://www.pexels.com/photo/cookies-chocolate-chip-sweets-29978/ ➡ Mountain: https://www.pexels.com/photo/sky-mountain-forest-nature-24837/