How to teach an old dev new tech Learning React as a senior developer
@trentmwillis | #ReactConfAU
(expect lots of doggos)
Slide 2
About 9 months ago…
Slide 3
mkdir app_v2
Slide 4
git commit -m “lead dev = me”
Slide 5
npm install old-tech-stack
Slide 6
git commit -m “y u no work?!”
Slide 7
🚫 Testing Story 🚫 Reliable Patterns 🚫 Community Solutions
Slide 8
Fight the Familiar
Embrace the New
Slide 9
Embrace the New React Redux TypeScript
Slide 10
“I don’t know React…or Redux…or TypeScript.”
–Me (the lead developer), ~9 months ago
Slide 11
I HAVE NO IDEA
WHAT I’M DOING –Me (the lead developer), ~9 months ago
Slide 12
Fast-forward 9 months… 😁 Positive Feedback For The App 😁 Smooth Development 😁 And…
Slide 13
“I know and enjoy React.”
–Me, now
Slide 14
Why was our journey successful?
Slide 15
How to teach an old dev new tech Learning React as a senior developer
@trentmwillis | #ReactConfAU
(expect lots of doggos)
Slide 16
What do you mean by “old”?
@trentmwillis | #ReactConfAU
Slide 17
✅ Comfortable With A Tech Stack ✅ Working Primarily In That Tech Stack ✅ Doing The Above For A While™
@trentmwillis | #ReactConfAU
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
The comfort zone can bias you towards not learning
@trentmwillis | #ReactConfAU
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
The comfort zone is not inherently bad
@trentmwillis | #ReactConfAU
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
The comfort zone is bad when it does not celebrate learning
@trentmwillis | #ReactConfAU
Slide 24
How do we create a culture to celebrate learning?
@trentmwillis | #ReactConfAU
Slide 25
Why do we learn anything?
@trentmwillis | #ReactConfAU
Slide 26
Two types of motivation
@trentmwillis | #ReactConfAU
Slide 27
Two types of motivation Extrinsic
@trentmwillis | #ReactConfAU
Slide 28
Intrinsic
Two types of motivation Extrinsic
@trentmwillis | #ReactConfAU
Slide 29
One type of motivation does not necessarily produce better results
@trentmwillis | #ReactConfAU
Slide 30
Intrinsic motivation is more likely to produce better results
@trentmwillis | #ReactConfAU
Slide 31
&
I wanted to learn React I needed to learn React
@trentmwillis | #ReactConfAU
Slide 32
“A decrease in intrinsic motivation when external rewards are offered regardless of outcome.” Overjustification Effect
@trentmwillis | #ReactConfAU
Slide 33
Understanding motivation let’s us create environments where success is likely @trentmwillis | #ReactConfAU
Slide 34
Motivations can change (Unlike data in Redux 😉)
@trentmwillis | #ReactConfAU
Slide 35
Extrinsic
@trentmwillis | #ReactConfAU
Intrinsic
Slide 36
Extrinsic
@trentmwillis | #ReactConfAU
Intrinsic
Slide 37
Foster positive and supportive motivations for learning (and everything else)
@trentmwillis | #ReactConfAU
Slide 38
How do we create a culture that celebrates learning?
@trentmwillis | #ReactConfAU
Slide 39
Start by being honest (Admit when you don’t know something!)
@trentmwillis | #ReactConfAU
Slide 40
“You should already know that.”
@trentmwillis | #ReactConfAU
Slide 41
“You should already know that.” vs. “I’m not sure, let’s figure it out together.”
@trentmwillis | #ReactConfAU
Slide 42
Ability To Learn > Already Knowing (This is empowering!)
@trentmwillis | #ReactConfAU
Slide 43
Build empathy about learning
@trentmwillis | #ReactConfAU
Slide 44
You can’t unlearn something…
@trentmwillis | #ReactConfAU
Slide 45
Listen to those learning it for the first time
@trentmwillis | #ReactConfAU
Slide 46
Listen and act to create positive experiences
@trentmwillis | #ReactConfAU
Slide 47
Try learning a new complex skill (To remind yourself what it’s like)
@trentmwillis | #ReactConfAU
Slide 48
Learning a new technology is like climbing a mountain
@trentmwillis | #ReactConfAU
Slide 49
Build up others
@trentmwillis | #ReactConfAU
Slide 50
Encourage exploration of interests
@trentmwillis | #ReactConfAU
Slide 51
Encourage exploration of interests
@trentmwillis | #ReactConfAU
Slide 52
Play to their strengths and knowledge (And make sure you recognize them!)
@trentmwillis | #ReactConfAU
Slide 53
Actually Celebrate!
@trentmwillis | #ReactConfAU
Slide 54
@trentmwillis | #ReactConfAU
Slide 55
Actually Celebrate!
@trentmwillis | #ReactConfAU
Slide 56
How do we learn effectively?
@trentmwillis | #ReactConfAU
Slide 57
Research the scope of what you need to learn
@trentmwillis | #ReactConfAU
Slide 58
Build-up knowledge in well-defined increments
@trentmwillis | #ReactConfAU
Slide 59
Pick your projects/tickets/issues purposefully to learn new skills
@trentmwillis | #ReactConfAU
Slide 60
Take breaks (Plural, meaning more than one)
@trentmwillis | #ReactConfAU
Slide 61
Don’t underestimate the power of rest
@trentmwillis | #ReactConfAU
Slide 62
Get your sleep (Seriously, it’s like magic)
@trentmwillis | #ReactConfAU
Slide 63
Be gentle to yourself The journey is long; don’t burn out
@trentmwillis | #ReactConfAU
Slide 64
The comfort zone is not inherently bad (It becomes bad when it doesn’t celebrate learning)
@trentmwillis | #ReactConfAU
Slide 65
Foster positive motivations for learning (Be honest, show empathy, and build up others)
@trentmwillis | #ReactConfAU
Slide 66
Make your learning more effective (Make a purposeful plan and take care of yourself)
@trentmwillis | #ReactConfAU
Slide 67
What is your takeaway?
@trentmwillis | #ReactConfAU
Slide 68
Start by being honest
@trentmwillis | #ReactConfAU
Slide 69
Start by being a dev that celebrates learning
@trentmwillis | #ReactConfAU