How To Teach An Old Dev New Tech: Learning React as a Senior Developer

A presentation at ReactConf AU in February 2020 in Sydney NSW, Australia by Trent Willis

Slide 1

Slide 1

How to teach an old dev new tech Learning React as a senior developer @trentmwillis | #ReactConfAU (expect lots of doggos)

Slide 2

Slide 2

About 9 months ago…

Slide 3

Slide 3

mkdir app_v2

Slide 4

Slide 4

git commit -m “lead dev = me”

Slide 5

Slide 5

npm install old-tech-stack

Slide 6

Slide 6

git commit -m “y u no work?!”

Slide 7

Slide 7

🚫 Testing Story 🚫 Reliable Patterns 🚫 Community Solutions

Slide 8

Slide 8

Fight the Familiar Embrace the New

Slide 9

Slide 9

Embrace the New React Redux TypeScript

Slide 10

Slide 10

“I don’t know React…or Redux…or TypeScript.” –Me (the lead developer), ~9 months ago

Slide 11

Slide 11

I HAVE NO IDEA WHAT I’M DOING –Me (the lead developer), ~9 months ago

Slide 12

Slide 12

Fast-forward 9 months… 😁 Positive Feedback For The App 😁 Smooth Development 😁 And…

Slide 13

Slide 13

“I know and enjoy React.” –Me, now

Slide 14

Slide 14

Why was our journey successful?

Slide 15

Slide 15

How to teach an old dev new tech Learning React as a senior developer @trentmwillis | #ReactConfAU (expect lots of doggos)

Slide 16

Slide 16

What do you mean by “old”? @trentmwillis | #ReactConfAU

Slide 17

Slide 17

✅ Comfortable With A Tech Stack ✅ Working Primarily In That Tech Stack ✅ Doing The Above For A While™ @trentmwillis | #ReactConfAU

Slide 18

Slide 18

An “Old Dev” is a dev that is solidly in their comfort zone (and has been for a while) @trentmwillis | #ReactConfAU

Slide 19

Slide 19

The comfort zone can bias you towards not learning @trentmwillis | #ReactConfAU

Slide 20

Slide 20

Good Reasons For Staying In The Comfort Zone ✅ Quicker progress at start of project ✅ Can foresee possible pitfalls/issues ✅ Existing tools and knowledge base @trentmwillis | #ReactConfAU

Slide 21

Slide 21

The comfort zone is not inherently bad @trentmwillis | #ReactConfAU

Slide 22

Slide 22

The Comfort Zone Becomes Bad When You… 🚫 Don’t trust others’ experiences 🚫 Are afraid to fail in front of your team 🚫 Want to remain the resident “expert” @trentmwillis | #ReactConfAU

Slide 23

Slide 23

The comfort zone is bad when it does not celebrate learning @trentmwillis | #ReactConfAU

Slide 24

Slide 24

How do we create a culture to celebrate learning? @trentmwillis | #ReactConfAU

Slide 25

Slide 25

Why do we learn anything? @trentmwillis | #ReactConfAU

Slide 26

Slide 26

Two types of motivation @trentmwillis | #ReactConfAU

Slide 27

Slide 27

Two types of motivation Extrinsic @trentmwillis | #ReactConfAU

Slide 28

Slide 28

Intrinsic Two types of motivation Extrinsic @trentmwillis | #ReactConfAU

Slide 29

Slide 29

One type of motivation does not necessarily produce better results @trentmwillis | #ReactConfAU

Slide 30

Slide 30

Intrinsic motivation is more likely to produce better results @trentmwillis | #ReactConfAU

Slide 31

Slide 31

& I wanted to learn React I needed to learn React @trentmwillis | #ReactConfAU

Slide 32

Slide 32

“A decrease in intrinsic motivation when external rewards are offered regardless of outcome.” Overjustification Effect @trentmwillis | #ReactConfAU

Slide 33

Slide 33

Understanding motivation let’s us create environments where success is likely @trentmwillis | #ReactConfAU

Slide 34

Slide 34

Motivations can change (Unlike data in Redux 😉) @trentmwillis | #ReactConfAU

Slide 35

Slide 35

Extrinsic @trentmwillis | #ReactConfAU Intrinsic

Slide 36

Slide 36

Extrinsic @trentmwillis | #ReactConfAU Intrinsic

Slide 37

Slide 37

Foster positive and supportive motivations for learning (and everything else) @trentmwillis | #ReactConfAU

Slide 38

Slide 38

How do we create a culture that celebrates learning? @trentmwillis | #ReactConfAU

Slide 39

Slide 39

Start by being honest (Admit when you don’t know something!) @trentmwillis | #ReactConfAU

Slide 40

Slide 40

“You should already know that.” @trentmwillis | #ReactConfAU

Slide 41

Slide 41

“You should already know that.” vs. “I’m not sure, let’s figure it out together.” @trentmwillis | #ReactConfAU

Slide 42

Slide 42

Ability To Learn > Already Knowing (This is empowering!) @trentmwillis | #ReactConfAU

Slide 43

Slide 43

Build empathy about learning @trentmwillis | #ReactConfAU

Slide 44

Slide 44

You can’t unlearn something… @trentmwillis | #ReactConfAU

Slide 45

Slide 45

Listen to those learning it for the first time @trentmwillis | #ReactConfAU

Slide 46

Slide 46

Listen and act to create positive experiences @trentmwillis | #ReactConfAU

Slide 47

Slide 47

Try learning a new complex skill (To remind yourself what it’s like) @trentmwillis | #ReactConfAU

Slide 48

Slide 48

Learning a new technology is like climbing a mountain @trentmwillis | #ReactConfAU

Slide 49

Slide 49

Build up others @trentmwillis | #ReactConfAU

Slide 50

Slide 50

Encourage exploration of interests @trentmwillis | #ReactConfAU

Slide 51

Slide 51

Encourage exploration of interests @trentmwillis | #ReactConfAU

Slide 52

Slide 52

Play to their strengths and knowledge (And make sure you recognize them!) @trentmwillis | #ReactConfAU

Slide 53

Slide 53

Actually Celebrate! @trentmwillis | #ReactConfAU

Slide 54

Slide 54

@trentmwillis | #ReactConfAU

Slide 55

Slide 55

Actually Celebrate! @trentmwillis | #ReactConfAU

Slide 56

Slide 56

How do we learn effectively? @trentmwillis | #ReactConfAU

Slide 57

Slide 57

Research the scope of what you need to learn @trentmwillis | #ReactConfAU

Slide 58

Slide 58

Build-up knowledge in well-defined increments @trentmwillis | #ReactConfAU

Slide 59

Slide 59

Pick your projects/tickets/issues purposefully to learn new skills @trentmwillis | #ReactConfAU

Slide 60

Slide 60

Take breaks (Plural, meaning more than one) @trentmwillis | #ReactConfAU

Slide 61

Slide 61

Don’t underestimate the power of rest @trentmwillis | #ReactConfAU

Slide 62

Slide 62

Get your sleep (Seriously, it’s like magic) @trentmwillis | #ReactConfAU

Slide 63

Slide 63

Be gentle to yourself The journey is long; don’t burn out @trentmwillis | #ReactConfAU

Slide 64

Slide 64

The comfort zone is not inherently bad (It becomes bad when it doesn’t celebrate learning) @trentmwillis | #ReactConfAU

Slide 65

Slide 65

Foster positive motivations for learning (Be honest, show empathy, and build up others) @trentmwillis | #ReactConfAU

Slide 66

Slide 66

Make your learning more effective (Make a purposeful plan and take care of yourself) @trentmwillis | #ReactConfAU

Slide 67

Slide 67

What is your takeaway? @trentmwillis | #ReactConfAU

Slide 68

Slide 68

Start by being honest @trentmwillis | #ReactConfAU

Slide 69

Slide 69

Start by being a dev that celebrates learning @trentmwillis | #ReactConfAU