the developer's guide to learning effectively

131
Arthur Doler @arthurdoler [email protected] Slides: Handout: THE DEVELOPERS GUIDE TO LEARNING EFFECTIVELY The stuff your brain wishes you knew http://bit.ly/2yjzbjM None

Upload: arthur-doler

Post on 22-Jan-2018

87 views

Category:

Self Improvement


2 download

TRANSCRIPT

Page 1: The Developer's Guide to Learning Effectively

Arthur Doler@arthurdoler

[email protected]:

Handout:

THE DEVELOPER’S GUIDE TO

LEARNING EFFECTIVELYThe stuff your brain wishes you knew

http://bit.ly/2yjzbjM

None

Page 2: The Developer's Guide to Learning Effectively
Page 3: The Developer's Guide to Learning Effectively
Page 4: The Developer's Guide to Learning Effectively
Page 5: The Developer's Guide to Learning Effectively
Page 6: The Developer's Guide to Learning Effectively

1. You don’t learn like you think you do

2. What we call “learning” is a bunch of different mechanisms

3. Feeling discomfort and strain is good for you

Page 7: The Developer's Guide to Learning Effectively
Page 8: The Developer's Guide to Learning Effectively

WHAT’S YOUR PERSONAL HISTORY WITH

LEARNING?

Page 9: The Developer's Guide to Learning Effectively
Page 10: The Developer's Guide to Learning Effectively
Page 11: The Developer's Guide to Learning Effectively

WHAT ABOUT LEARNING TYPES?

Page 12: The Developer's Guide to Learning Effectively

Google.com search for “types of learning”, retrieved on 2017/06/15

Page 13: The Developer's Guide to Learning Effectively

1.Visual

2.Aural

3.Verbal

4.Physical

5.Logical

6.Social

7.Solitary1.Visual

2.Auditory

3.Read-Write

4.Kinesthetic

1.The Linguistic Learner

2.The Naturalist.

3.The Musical or Rhythmic

Learner

4.The Kinesthetic Learner

5.The Visual or Spatial Learner

6.The Logical or Mathematical

Learner

7.The Interpersonal Learner

8.The Intrapersonal Learner

1.Visual

2.Auditory

3.Kinesthetic

Page 14: The Developer's Guide to Learning Effectively
Page 15: The Developer's Guide to Learning Effectively

“…the appropriate design was used in only about 20 studies, and the results of most of them are compellingly negative.“

“By contrast, we are aware of only three appropriately designed studies that yielded a positive finding like that described in our hypothetical example, and these findings are not very convincing.”Rohrer & Pashler, 2012

Page 16: The Developer's Guide to Learning Effectively

“Although there are a multitude of inventories and models for assessing learning styles, most are not reliable (Coffield, Moseley, Hall, & Ecclestone, 2004).”

“Is there support for either prediction –for educational practice, or barring that, at least that the theory might be correct (even if it’s not helpful)? No.”Willingham, Hughes, and Dobolyi, 2015

Page 17: The Developer's Guide to Learning Effectively
Page 18: The Developer's Guide to Learning Effectively
Page 19: The Developer's Guide to Learning Effectively
Page 20: The Developer's Guide to Learning Effectively

REALLY, THEY’RE KIND OF THE SAME

THING…

Page 21: The Developer's Guide to Learning Effectively

THEORY OF ACTION

A set of assumptions we have and actions we can perform in order to achieve a goal

Argyris and Schön, Theory in Practice, 1974

Page 22: The Developer's Guide to Learning Effectively

GOVERNING VARIABLES

The constraints we operate under when using our theory of action

Argyris and Schön, Theory in Practice, 1974

Page 23: The Developer's Guide to Learning Effectively
Page 24: The Developer's Guide to Learning Effectively
Page 25: The Developer's Guide to Learning Effectively
Page 26: The Developer's Guide to Learning Effectively
Page 27: The Developer's Guide to Learning Effectively

WE CHANGE OUR THEORIES OF ACTION IN

TWO WAYS:

Page 28: The Developer's Guide to Learning Effectively

SLIGHT IMPROVEMENTS AS WE LEARN

THROUGH IMPLICIT MEMORY, NEUROPLASTICITY, AND MYELINATION

Page 29: The Developer's Guide to Learning Effectively

HUGE, CONSCIOUS CHANGES BROUGHT ON

BY DILEMMAS WE FACE DUE TO OUR

THEORIES THAT REQUIRE US TO COGNITIVELY

ENGAGE

Page 30: The Developer's Guide to Learning Effectively

A FEW EXAMPLES

Page 31: The Developer's Guide to Learning Effectively
Page 32: The Developer's Guide to Learning Effectively
Page 33: The Developer's Guide to Learning Effectively

WHY WOULD THEY BE DIFFERENT?

Page 34: The Developer's Guide to Learning Effectively

•Lying about their espoused theory

•Cognitive biases and tacit knowledge

•Desire for cognitive ease

•Cognitive dissonance

•The list goes on…

Page 35: The Developer's Guide to Learning Effectively
Page 36: The Developer's Guide to Learning Effectively
Page 37: The Developer's Guide to Learning Effectively
Page 38: The Developer's Guide to Learning Effectively
Page 39: The Developer's Guide to Learning Effectively
Page 40: The Developer's Guide to Learning Effectively
Page 41: The Developer's Guide to Learning Effectively
Page 42: The Developer's Guide to Learning Effectively

Be able to describe your theories

Try things that will disprove your assumptions (if you can)

Go TDD-style when building a theory

Page 43: The Developer's Guide to Learning Effectively
Page 44: The Developer's Guide to Learning Effectively

SKILL

A measure of your ability to behave effectively in situations of action

Argyris and Schön, Theory in Practice, 1974

Page 45: The Developer's Guide to Learning Effectively

WHAT MATTERS MORE IS WHETHER THE

KNOWLEDGE IS:

EXPLICIT

IMPLICIT

OR TACIT

Page 46: The Developer's Guide to Learning Effectively
Page 47: The Developer's Guide to Learning Effectively
Page 48: The Developer's Guide to Learning Effectively
Page 49: The Developer's Guide to Learning Effectively
Page 50: The Developer's Guide to Learning Effectively

EXPLICIT KNOWLEDGE

Knowledge that can be readily articulated, codified, accessed and verbalized

Hélie & Sun, 2010

Page 51: The Developer's Guide to Learning Effectively

TACIT KNOWLEDGE

Knowledge that cannot be articulated or codified but instead can only be gained through experience or watching someone perform a task

Polanyi, Personal Knowledge, 1958

Page 52: The Developer's Guide to Learning Effectively

IMPLICIT KNOWLEDGE

Knowledge that is not explicit, but couldbe articulated and codified with effort

Nonaka & Takeuchi, 1995

Page 53: The Developer's Guide to Learning Effectively
Page 54: The Developer's Guide to Learning Effectively
Page 55: The Developer's Guide to Learning Effectively
Page 56: The Developer's Guide to Learning Effectively

Build times & unit test times

Time to get peer review results

Try some katas to get quick coding feedback

Limiting WIP keeps your loops shorter by default

Page 57: The Developer's Guide to Learning Effectively
Page 58: The Developer's Guide to Learning Effectively

EXPLICIT MEMORY

Page 59: The Developer's Guide to Learning Effectively
Page 60: The Developer's Guide to Learning Effectively
Page 61: The Developer's Guide to Learning Effectively
Page 62: The Developer's Guide to Learning Effectively

Set up experiments:

Form hypotheses about why something is the way it is – then go try to disprove

them

Allow yourself to go on explorative tangents

Budget time for curiosity

Page 63: The Developer's Guide to Learning Effectively

IMPLICIT MEMORY

Page 64: The Developer's Guide to Learning Effectively
Page 65: The Developer's Guide to Learning Effectively
Page 66: The Developer's Guide to Learning Effectively

Find a mentorOr a digital mentor

Or buy a mentor

Listen to other people

Watch other’s PRs or have group PRs

Be mindful & listen to your implicit memory

Page 67: The Developer's Guide to Learning Effectively

MYELINATION

Page 68: The Developer's Guide to Learning Effectively

From, Eilam, Bar-Lev, Levin-Zaidman, Tsoory, LoPresti, Sela, Arnon, and Aharoni, 2014

Zalc and Fields, 2000

Page 69: The Developer's Guide to Learning Effectively

From, Eilam, Bar-Lev, Levin-Zaidman, Tsoory, LoPresti, Sela, Arnon, and Aharoni, 2014

Zalc and Fields, 2000

Page 70: The Developer's Guide to Learning Effectively

NEUROPLASTICITY & NEUROGENESIS

Page 71: The Developer's Guide to Learning Effectively
Page 72: The Developer's Guide to Learning Effectively

Image Sources: Canadian Society for Brain, Behaviour and Cognitive Science (CSBBCS) (https://www.csbbcs.org/images/donald_hebb.jpg)Georg-August University of Göttingen (https://www.uni-goettingen.de/admin/bilder/pictures/1070d7880621130dd098fe388aab9259.jpg)

“Neurons that fire together, wire together.Neurons that fire out of sync, fail to link.”– Siegrid Löwel’s summary of Hebbian Theory

Page 73: The Developer's Guide to Learning Effectively
Page 74: The Developer's Guide to Learning Effectively
Page 75: The Developer's Guide to Learning Effectively

SYSTEM 1 IS OFTEN WHAT LEARNS

Page 76: The Developer's Guide to Learning Effectively

BUT ALMOST ALL LEARNING REQUIRES US TO

USE SYSTEM 2 AT SOME POINT

Page 77: The Developer's Guide to Learning Effectively
Page 78: The Developer's Guide to Learning Effectively

INTENTIONAL LEARNING USUALLY REQUIRES

EVALUATING OUR OWN SUCCESS

Page 79: The Developer's Guide to Learning Effectively
Page 80: The Developer's Guide to Learning Effectively

WELL…

Page 81: The Developer's Guide to Learning Effectively
Page 82: The Developer's Guide to Learning Effectively

Kahneman, Thinking, Fast and Slow

Page 83: The Developer's Guide to Learning Effectively
Page 84: The Developer's Guide to Learning Effectively

Kahneman, Thinking, Fast and Slow

Page 85: The Developer's Guide to Learning Effectively
Page 86: The Developer's Guide to Learning Effectively
Page 87: The Developer's Guide to Learning Effectively
Page 88: The Developer's Guide to Learning Effectively

Know what mental effort feels like for you

Once you feel it: rest, reset, repeat!

Try switching your context for a quick rest

Catch yourself taking the easy way out

Page 89: The Developer's Guide to Learning Effectively
Page 90: The Developer's Guide to Learning Effectively
Page 91: The Developer's Guide to Learning Effectively
Page 92: The Developer's Guide to Learning Effectively

WOULD SOME PITHY QUOTES HELP?

Page 93: The Developer's Guide to Learning Effectively

Image Source: Wikimedia (https://en.wikipedia.org/wiki/Ginni_Rometty#/media/File:Ginni_Rometty_at_the_Fortune_MPW_Summit_in_2011.jpg)

“Growth and comfort do not coexist.”

– Ginni Rometty, CEO of IBM 2011 – Present

Page 94: The Developer's Guide to Learning Effectively

Image Source: Chicago Tribune (http://www.trbimg.com/img-559d3cfb/turbine/chinews-mary-schmich-20130507)

“Do one thing every day that scares you.”

– Mary Schmich, Chicago Tribune

Page 95: The Developer's Guide to Learning Effectively

Image Source: Wikimedia (https://upload.wikimedia.org/wikipedia/commons/d/d5/Ralph_Waldo_Emerson_ca1857_retouched.jpg)

“Always do what you are afraid to do.”

– Popularized by Ralph Waldo Emerson

Page 96: The Developer's Guide to Learning Effectively

Image Source: Wikimedia (https://upload.wikimedia.org/wikipedia/commons/2/22/Eleanor_Roosevelt_portrait_1933.jpg)

“You must do the thing you think you cannot do.”

– Eleanor Roosevelt, First Lady

Page 97: The Developer's Guide to Learning Effectively

OKAY, HERE’S SOME ACTUAL REASONS

Page 98: The Developer's Guide to Learning Effectively

REASON 1:

THE COMFORT ZONE BREEDS HOLY WARS

Page 99: The Developer's Guide to Learning Effectively

if (x < 0) {

puts("Negative");

} else {

nonnegative(x);

}

Page 100: The Developer's Guide to Learning Effectively

if (x < 0)

{

puts("Negative");

}

else

{

nonnegative(x);

}

Page 101: The Developer's Guide to Learning Effectively
Page 102: The Developer's Guide to Learning Effectively
Page 103: The Developer's Guide to Learning Effectively
Page 104: The Developer's Guide to Learning Effectively

REASON 2:

ESCAPING LOCAL MAXIMA

Page 105: The Developer's Guide to Learning Effectively
Page 106: The Developer's Guide to Learning Effectively
Page 107: The Developer's Guide to Learning Effectively
Page 108: The Developer's Guide to Learning Effectively
Page 109: The Developer's Guide to Learning Effectively
Page 110: The Developer's Guide to Learning Effectively

Take the time to learn shortcuts

Try out the command line

Automate things

ASK WHY!

Page 111: The Developer's Guide to Learning Effectively

REASON 3:

NEUROPLASTICITY & NEUROGENESIS

Page 112: The Developer's Guide to Learning Effectively

LEARNING THINGS ENABLES US TO KEEP

BEING ABLE TO LEARN NEW THINGS & AVOIDS

DEGENERATION WITH AGE

Fernández-Ballesteros, Molina, Schettini, and del Rey, 2012

Page 113: The Developer's Guide to Learning Effectively
Page 114: The Developer's Guide to Learning Effectively

Hand-write your notes

Draw it out or print it out and shuffle it

Fidget & move

Use brainstorming techniques that involve varied types of input

Page 115: The Developer's Guide to Learning Effectively

REASON 4:

GROWTH AS A PERSON AND A DEVELOPER

Page 116: The Developer's Guide to Learning Effectively
Page 117: The Developer's Guide to Learning Effectively
Page 118: The Developer's Guide to Learning Effectively
Page 119: The Developer's Guide to Learning Effectively

Write a blog post

Give a talk

Get accepted for a talk to force yourself to learn it

“Rubber duck”/“Cardboard cutout” debugging

Page 120: The Developer's Guide to Learning Effectively

REASON 5:

TMFI

Page 121: The Developer's Guide to Learning Effectively

Eddie Obeng, Qube.cc

Page 122: The Developer's Guide to Learning Effectively

We have to be good at learning…

AND at knowing what we have to learn…

Or we can’t keep up.

Page 123: The Developer's Guide to Learning Effectively

TO SUMMARIZE

Page 124: The Developer's Guide to Learning Effectively

WE LEARN VIA SEVERAL DIFFERENT

PROCESSES, ALMOST ALL OF WHICH REQUIRE

SYSTEM 2

Page 125: The Developer's Guide to Learning Effectively

WE CAN TELL IF WE’RE ACTUALLY LEARNING

BY NOTING THAT WE FEEL COGNITIVE

EFFORT

Page 126: The Developer's Guide to Learning Effectively

BURN YOUR COMFORT ZONE!

Page 127: The Developer's Guide to Learning Effectively

CHASING THAT EFFORT KEEPS US PUSHING

FORWARD AND LEARNING

Page 128: The Developer's Guide to Learning Effectively

SEEK NOVELTY & CHANGE

EXPOSE OURSELVES TO AS MANY VIEWPOINTS

AS WE CAN

BE OPEN TO BEING SURPRISED

Page 129: The Developer's Guide to Learning Effectively

USE AS MANY PARTS OF THE BRAIN AS WE

CAN WHEN LEARNING

USE MULTIPLE SENSES

TELL SOMEONE ELSE WHAT YOU LEARNED

Page 130: The Developer's Guide to Learning Effectively

CONSCIOUSLY EVALUATE YOUR THEORIES OF

ACTION, DOUBLE-LOOP-STYLE

Page 131: The Developer's Guide to Learning Effectively

Slides:

Arthur Doler@arthurdoler

[email protected]

Handout:

http://bit.ly/2yjzbjM

None