Slide 1

Slide 1 text

Programming for Human Interactions Liz Abinante @feministy • [email protected] Senior Software Engineer • New Relic

Slide 2

Slide 2 text

LIZ ABINANTE @feministy SELF.CONF Why?

Slide 3

Slide 3 text

LIZ ABINANTE @feministy SELF.CONF How can we use our programming skills to be better humans?

Slide 4

Slide 4 text

A brief story of two engineers

Slide 5

Slide 5 text

LIZ ABINANTE @feministy SELF.CONF Alice and Omar

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

Traits of good programmers

Slide 14

Slide 14 text

LIZ ABINANTE @feministy SELF.CONF

Slide 15

Slide 15 text

Debugging

Slide 16

Slide 16 text

LIZ ABINANTE @feministy SELF.CONF Systematic, logical approach

Slide 17

Slide 17 text

LIZ ABINANTE @feministy SELF.CONF Reliable, flexible toolset

Slide 18

Slide 18 text

LIZ ABINANTE @feministy SELF.CONF Different environments or sandboxes

Slide 19

Slide 19 text

LIZ ABINANTE @feministy SELF.CONF

Slide 20

Slide 20 text

Mental models of architecture

Slide 21

Slide 21 text

LIZ ABINANTE @feministy SELF.CONF Knowledge of data models

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

LIZ ABINANTE @feministy SELF.CONF

Slide 24

Slide 24 text

Structural knowledge of libraries and tools in their ecosystem

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

Traits of good colleagues

Slide 29

Slide 29 text

LIZ ABINANTE @feministy SELF.CONF

Slide 30

Slide 30 text

Emotional intelligence

Slide 31

Slide 31 text

LIZ ABINANTE @feministy SELF.CONF Intuition

Slide 32

Slide 32 text

LIZ ABINANTE @feministy SELF.CONF Empathy

Slide 33

Slide 33 text

LIZ ABINANTE @feministy SELF.CONF

Slide 34

Slide 34 text

Approachable

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

LIZ ABINANTE @feministy SELF.CONF Responsive to queries

Slide 37

Slide 37 text

LIZ ABINANTE @feministy SELF.CONF Adaptable to different scenarios

Slide 38

Slide 38 text

LIZ ABINANTE @feministy SELF.CONF

Slide 39

Slide 39 text

Willingness to share

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

LIZ ABINANTE @feministy SELF.CONF Share existing knowledge

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

LIZ ABINANTE @feministy SELF.CONF

Slide 44

Slide 44 text

Interest in solving hard problems

Slide 45

Slide 45 text

LIZ ABINANTE @feministy SELF.CONF …AS A TEAM

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

LIZ ABINANTE @feministy SELF.CONF Encourage collaborative solutions

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

LIZ ABINANTE @feministy SELF.CONF What makes us good programmers also makes us good people. CAN ^ … if we try harder.

Slide 50

Slide 50 text

Building a human interface

Slide 51

Slide 51 text

LIZ ABINANTE @feministy SELF.CONF Common situations

Slide 52

Slide 52 text

LIZ ABINANTE @feministy SELF.CONF Common situations FRUSTRATING

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

LIZ ABINANTE @feministy SELF.CONF How can we use our dev skills to reduce frustration?

Slide 55

Slide 55 text

Debugging

Slide 56

Slide 56 text

LIZ ABINANTE @feministy SELF.CONF Systematic, logical approach work toward a solution, not away from a problem

Slide 57

Slide 57 text

LIZ ABINANTE @feministy SELF.CONF Systematic, logical approach evaluate the code, idea, or technology

Slide 58

Slide 58 text

LIZ ABINANTE @feministy SELF.CONF Systematic, logical approach … remember that a person wrote the code, shared the idea, or invented the tech

Slide 59

Slide 59 text

LIZ ABINANTE @feministy SELF.CONF Systematic, logical approach apply the same level of scrutiny to decisions, no matter whose idea it was

Slide 60

Slide 60 text

LIZ ABINANTE @feministy SELF.CONF Reliable toolset start with basic check ins and validations

Slide 61

Slide 61 text

LIZ ABINANTE @feministy SELF.CONF Reliable toolset expand using trial and error to produce a familiar set of techniques

Slide 62

Slide 62 text

LIZ ABINANTE @feministy SELF.CONF Reliable toolset revisit techniques and borrow from others

Slide 63

Slide 63 text

LIZ ABINANTE @feministy SELF.CONF Different environments or sandboxes different people respond to different techniques

Slide 64

Slide 64 text

LIZ ABINANTE @feministy SELF.CONF Different environments or sandboxes some situations are more difficult than others

Slide 65

Slide 65 text

LIZ ABINANTE @feministy SELF.CONF ✨ ✨ emotional ✨ ✨ intelligence ✨ ✨

Slide 66

Slide 66 text

Mental models of architecture

Slide 67

Slide 67 text

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

Slide 68

Slide 68 text

LIZ ABINANTE @feministy SELF.CONF Knowledge of data models know their professional backgrounds and preferences

Slide 69

Slide 69 text

LIZ ABINANTE @feministy SELF.CONF Familiarity with existing systems know how your teammates work together, and alone

Slide 70

Slide 70 text

LIZ ABINANTE @feministy SELF.CONF Familiarity with existing systems recognize patterns and when something is out of sync

Slide 71

Slide 71 text

LIZ ABINANTE @feministy SELF.CONF knowledge of data models

Slide 72

Slide 72 text

LIZ ABINANTE @feministy SELF.CONF knowledge of HUMAN BEINGS

Slide 73

Slide 73 text

LIZ ABINANTE @feministy SELF.CONF

Slide 74

Slide 74 text

Structural knowledge of libraries and tools in their ecosystem

Slide 75

Slide 75 text

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

Slide 76

Slide 76 text

LIZ ABINANTE @feministy SELF.CONF Ability to evaluate tools objectively explain thought process to an audience with different knowledge

Slide 77

Slide 77 text

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

Slide 78

Slide 78 text

LIZ ABINANTE @feministy SELF.CONF Find more information ask questions about preferences, style, ideas

Slide 79

Slide 79 text

LIZ ABINANTE @feministy SELF.CONF prove to me you got some communication

Slide 80

Slide 80 text

Final thoughts…

Slide 81

Slide 81 text

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

Slide 82

Slide 82 text

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

Slide 83

Slide 83 text

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

Slide 84

Slide 84 text

LIZ ABINANTE @feministy SELF.CONF Just because someone is junior, doesn’t mean they aren’t an expert

Slide 85

Slide 85 text

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.

Slide 86

Slide 86 text

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

Slide 87

Slide 87 text

LIZ ABINANTE @feministy SELF.CONF We do better together.

Slide 88

Slide 88 text

SELF.CONF Liz Abinante! • @feministy [email protected] Senior Software Engineer

Slide 89

Slide 89 text

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/