stood at the bottom of a mountain looking up

103
Mountain stood at the bottom of a mountain looking up ACCU 2010 Pete Goodliffe [email protected]

Upload: pete-goodliffe

Post on 09-May-2015

5.366 views

Category:

Technology


0 download

DESCRIPTION

My ACCU 2010 conference presentation on software developers learning.The talk synopsis was:How to get up to speed with new technology, fast.The fun thing about software development is that there's always something new to learn, something new to do, and a new way to stretch your capabilities. A software developer should never stand still. If you stand still, you stagnate. The more senior you get, the more pressure there is to be able to pick up new technologies and hit the ground running. However, its hard work to move onto new pastures and be immediately effective.Starting with any new technology is like standing at the bottom or a huge mountain, and looking up at the summit. You're not sure how far away it is, let alone how to get up there.In this talk, we'll explore how to start climbing, and how to make sure your ascent is as fast and effective as possible. And we'll see how to ensure you don't fall off on the way up. We'll consider how to quickly get up to speed with new technologies, new languages, new environments. And we'll investigate the winning approaches and attitudes that'll help you reach the summit.

TRANSCRIPT

Page 1: Stood at the bottom of a mountain looking up

Mountainstood at the

bottom of a mountain

looking up

ACCU 2010

Pete [email protected]

Page 2: Stood at the bottom of a mountain looking up

stood at the bottom of a mountain looking up pete goodliffe

Pete GoodliffeA programmer, a columnist, an author, a teacher. Someone who cares about code.

www.goodliffe.netgoodliffe.blogspot.com

@petegoodliffe

Page 3: Stood at the bottom of a mountain looking up

Pete GoodliffeA programmer, a columnist, an author, a teacher. Someone who cares about code.

www.goodliffe.netgoodliffe.blogspot.com

@petegoodliffe

stood at the bottom of a mountain looking up pete goodliffe

Page 4: Stood at the bottom of a mountain looking up

How to get up to speed with new technology, fast.The fun thing about software development is that there's always something new to learn, something new to do, and a new way to stretch your capabilities. A software developer should never stand still. If you stand still, you stagnate. The more senior you get, the more pressure there is to be able to pick up new technologies and hit the ground running. However, its hard work to move onto new pastures and be immediately effective.

Starting with any new technology is like standing at the bottom or a huge mountain, and looking up at the summit. You're not sure how far away it is, let alone how to get up there.

In this talk, we'll explore how to start climbing, and how to make sure your ascent is as fast and effective as possible. And we'll see how to ensure you don't fall off on the way up.We'll consider how to quickly get up to speed with new technologies, new languages, new environments. And we'll investigate the winning approaches and attitudes that'll help you reach the summit

talk synopsis

stood at the bottom of a mountain looking up pete goodliffe

Page 5: Stood at the bottom of a mountain looking up

why?

stood at the bottom of a mountain looking up pete goodliffe

Page 6: Stood at the bottom of a mountain looking up

we can always get

betterfunconstant

learning

stood at the bottom of a mountain looking up pete goodliffe

software development

Page 7: Stood at the bottom of a mountain looking up

stood at the bottom of a mountain looking up pete goodliffe

Page 8: Stood at the bottom of a mountain looking up

(there it is)

stood at the bottom of a mountain looking up pete goodliffe

Page 9: Stood at the bottom of a mountain looking up

plan of attack‣ preliminaries: the facts of life‣ what to learn‣ how to learn‣ conclusions

stood at the bottom of a mountain looking up pete goodliffe

Page 10: Stood at the bottom of a mountain looking up

plan of attack‣ preliminaries: the facts of life‣ what to learn‣ how to learn‣ conclusions

stood at the bottom of a mountain looking up pete goodliffe

Page 11: Stood at the bottom of a mountain looking up

The prologue» The Facts of Life «

Page 12: Stood at the bottom of a mountain looking up

LEARNING:.. We all do it‣ Software developers should be perennial students.

all humans are‣ Some people do it better than others‣ Some people do it more than others

‣ Our profession requires that we constantly learnHere are

some keys to help us improve

Page 13: Stood at the bottom of a mountain looking up

LEARNING:.. is frightening‣ It’s hard work‣ It’s extra effort

‣ Change is good‣ Learning is good

LEARNING:.. is difficult‣ The problem is getting worse‣ There is always a new new thing‣ Increase in code size‣ More legacy code‣ Increased inter-connectedness‣ Career progression → increased expectations

Page 14: Stood at the bottom of a mountain looking up

10,000

Page 15: Stood at the bottom of a mountain looking up

10,0008,000

4,000

expert

shows potential

also-ran

Page 16: Stood at the bottom of a mountain looking up

10,000expert

= 10 years* 3 hours

Page 17: Stood at the bottom of a mountain looking up

= hard work

Page 18: Stood at the bottom of a mountain looking up

Categorising knowledge» The Facts of Life «

Page 19: Stood at the bottom of a mountain looking up

everything there is to know

Page 20: Stood at the bottom of a mountain looking up

everything you’ve forgotten

everything you don’t know

everything you know

Page 21: Stood at the bottom of a mountain looking up

“”

Reports that say that something hasn't happened are always interesting to me, because as we know, there are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns - the ones we don't know we don't know. And if one looks throughout the history of our country and other free countries, it is the latter category that tend to be the difficult ones.

Donald H. RumsfeldFebruary 12, 2002

Department of Defense News Briefing

Page 22: Stood at the bottom of a mountain looking up

everything you don’t know

everything you know

everything you’ve forgotten

everything you know you

don’t know

everything you don’t

know you don’t know

Page 23: Stood at the bottom of a mountain looking up

everything you know

everything you’ve forgotten

everything you know you

don’t know

everything you don’t

know you don’t know

everything you know well

everything you know a bit

Here are more keys to help us improve

In the actual presentation, this jumble makes perfect sense.

Animations, dontchaknow...

Page 24: Stood at the bottom of a mountain looking up

everything you’ve forgotten

everything you know you

don’t know

everything you don’t

know you don’t know

everything you know well

everything you know a bit

Here are more keys to help us improve

» Beware of the «

Four levels ofincompetence

1.Conscious incompetence2.Conscious competence3.Unconscious competence4.Unconscious incompetence

Page 25: Stood at the bottom of a mountain looking up

The ethics of learning» The Facts of Life «

Page 26: Stood at the bottom of a mountain looking up

study is not something that a teacher does to you

it is something you do

Page 27: Stood at the bottom of a mountain looking up

study is not something that a teacher does to you

it is something you do

responsibility

Page 28: Stood at the bottom of a mountain looking up

professionalism

Page 29: Stood at the bottom of a mountain looking up
Page 30: Stood at the bottom of a mountain looking up

“”

Learning is like rowing upstream: not to

advance is to drop back.Chinese proverb

Page 31: Stood at the bottom of a mountain looking up

Learning:You’ve either got to, or you ought to.

Page 32: Stood at the bottom of a mountain looking up

plan of attack‣ preliminaries: the facts of life‣ what to learn‣ how to learn‣ conclusions

stood at the bottom of a mountain looking up pete goodliffe

Page 33: Stood at the bottom of a mountain looking up

plan of attack‣ preliminaries: the facts of life‣ what to learn‣ how to learn‣ conclusions

stood at the bottom of a mountain looking up pete goodliffe

Page 34: Stood at the bottom of a mountain looking up

your knowledge portfoliothe pragmatic programmer

Page 35: Stood at the bottom of a mountain looking up

?

new codebase

problem domain

technology

Page 36: Stood at the bottom of a mountain looking up

new codebase

problem domain

technology‣ Programming language‣ Library‣ Framework/API‣ Software tools‣ Build system‣ Issue tracker

‣ Architecture‣ Design‣ Structure‣ Idioms‣ How to build‣ How to run tests‣ Development practices

‣ Users‣ Domain knowledge‣ Who are the experts?

Page 37: Stood at the bottom of a mountain looking up
Page 38: Stood at the bottom of a mountain looking up
Page 39: Stood at the bottom of a mountain looking up

new technology

technical skills

how to workwith others

how to learn

the “leftfield”

Page 40: Stood at the bottom of a mountain looking up

new technology

technical skills

how to workwith others

how to learn

the “leftfield”

‣What is the next big thing?‣ Different language

paradigms‣ New tools‣ Libraries‣ Frameworks

Page 41: Stood at the bottom of a mountain looking up

new technology

technical skills

how to workwith others

how to learn

the “leftfield”

‣ How to read code‣ How to write

technical documentation‣ How to manage

software projects‣ New techniques and

methodologies (TDD, BDD, code generation, lean)

Page 42: Stood at the bottom of a mountain looking up

new technology

technical skills

how to workwith others

how to learn

the “leftfield”

‣ How to understand others‣ How to communicate‣ How to listen (and

understand)‣ Understand the

customer

Page 43: Stood at the bottom of a mountain looking up

new technology

technical skills

how to workwith others

how to learn

the “leftfield”

‣ That’s why you’re here!‣ New learning

techniques

Page 44: Stood at the bottom of a mountain looking up

new technology

technical skills

how to workwith others

how to learn

the “leftfield”

‣ Foreign language‣Musical instrument‣Martial art‣ New branch of

science‣ Art‣ Philosophy‣ Spirituality

Page 45: Stood at the bottom of a mountain looking up

plan of attack‣ preliminaries: the facts of life‣ what to learn‣ how to learn‣ conclusions

stood at the bottom of a mountain looking up pete goodliffe

Page 46: Stood at the bottom of a mountain looking up

plan of attack‣ preliminaries: the facts of life‣ what to learn‣ how to learn‣ conclusions

stood at the bottom of a mountain looking up pete goodliffe

Page 47: Stood at the bottom of a mountain looking up

masterjourneymanapprentice → →→ →

shu ha ri→ → → →

Page 48: Stood at the bottom of a mountain looking up

dreyfus model cone of learning

expert

proficient

competent

advanced beginner

novice

Page 49: Stood at the bottom of a mountain looking up

dreyfus model

expert

proficient

competent

advanced beginner

novice

Page 50: Stood at the bottom of a mountain looking up

novice

have no knowledge (yet)

want results(fast)

have no experience

need rules

can’t judge rules

Page 51: Stood at the bottom of a mountain looking up

advanced beginner

some experiencesome learning

explicit knowledge

can break free from rules a little

will get quickly stuck

know where to get answers

can't focus out irrelevant details

Page 52: Stood at the bottom of a mountain looking up

competent

mental model made

associations formed

understand relative importance of aspects

can approach unknown problems

plans methodical routes into problems

this is a good place

to be

Page 53: Stood at the bottom of a mountain looking up

proficient

beyond competency

understand big picture

frustrated by novice simplifications

can correct previous errors& reflect on experiences

maxims

focus on important issues

tacit knowledge

Page 54: Stood at the bottom of a mountain looking up

expert

the pinnacle

there are very few

have authority

interlink skills

can teach others

have intuitionnaturally see an answer

Page 55: Stood at the bottom of a mountain looking up

where are you?how far up the mountain?

Page 56: Stood at the bottom of a mountain looking up

how high do youwant to go?

Page 57: Stood at the bottom of a mountain looking up
Page 58: Stood at the bottom of a mountain looking up

“”

Effort is one of the things that gives meaning to life. Effort means you care about something, that something is important to you and you are willing to work for it.

Carol DweckSocial Pyschologist

Self-theories: Their role in motivation, personality and

development (1999)

Page 59: Stood at the bottom of a mountain looking up

attitude

Page 60: Stood at the bottom of a mountain looking up

attitudeResponsibility

Continuous learningHunger

CuriosityHumilitySelf-belief

Page 61: Stood at the bottom of a mountain looking up

Learning tools

» How to learn «

Learning processesPlans

Page 62: Stood at the bottom of a mountain looking up

?The

UltimateLearningMachine

Page 63: Stood at the bottom of a mountain looking up
Page 64: Stood at the bottom of a mountain looking up

» the user’s manual «

Page 65: Stood at the bottom of a mountain looking up

» Maintenance « Use the correct fuel* Amino acids from protein-

rich food (meat, fish, cheese)

* Vitamins/minerals (B, sodium, potassium, calcium, omega-3)

* Keep hydrated

Keep running smoothly* Avoid stress* Adequate rest

Page 66: Stood at the bottom of a mountain looking up
Page 67: Stood at the bottom of a mountain looking up
Page 68: Stood at the bottom of a mountain looking up
Page 69: Stood at the bottom of a mountain looking up

Left brain Right brain

PCI BusPerson Control Interconnect

Page 70: Stood at the bottom of a mountain looking up

Left brain Right brain

PCI BusPerson Control Interconnect

Page 71: Stood at the bottom of a mountain looking up

Left brain Right brain

PCI BusPerson Control Interconnect

* Verbal* Rational* Analytic* Linear* Logical* Temporal* Symbolic

* Single-threaded* Synchronous

* Non-verbal* Non-rational* Intuitive* Spatial* Relational* Perceptive* Holistic

* Multithreaded* Asynchronous

Page 72: Stood at the bottom of a mountain looking up

Left brain Right brain

PCI BusPerson Control Interconnect

the trick:harness both sides

Page 73: Stood at the bottom of a mountain looking up

listen: music

twiddle

meditate

TheUltimateLearningMachine

describe

doodle/draw

Page 74: Stood at the bottom of a mountain looking up

» multimode learning «

Page 75: Stood at the bottom of a mountain looking up

practicepractice is not a noun

Page 76: Stood at the bottom of a mountain looking up

practicepractice is not a noun

deliberate practicekatasdojo

Page 77: Stood at the bottom of a mountain looking up

”“Tell me, and I will forget.

Show me, and I may remember. Involve me,

and I will understand.Confucius

Page 78: Stood at the bottom of a mountain looking up

TDDLtest driven learning

‣ Planned study‣ How will you know you’ve successfully learnt?

‣ Repeated test and recall‣ Not repeated study‣ Real experience aids recall

‣ If you can’t demonstrate it, you don’t know it

Page 79: Stood at the bottom of a mountain looking up
Page 80: Stood at the bottom of a mountain looking up

your notes

your reference materialsbooks, notebooks, web, etc

where to get more info

cpu cache

swap space

new downloads; not processed yet

future input

Page 81: Stood at the bottom of a mountain looking up
Page 82: Stood at the bottom of a mountain looking up

networking

Page 83: Stood at the bottom of a mountain looking up

networkingpair programming

study groupsmentoringteaching

write articlesdiscuss

give

knowledge

back

find someone to

learn from

Page 84: Stood at the bottom of a mountain looking up

find someone to

learn from

be less afraid of your ignorance

Page 85: Stood at the bottom of a mountain looking up

build a mental map

Page 86: Stood at the bottom of a mountain looking up

build a mental map

Page 87: Stood at the bottom of a mountain looking up

a hierarchy ofknowledge retrieval

Page 88: Stood at the bottom of a mountain looking up

plan your learning

what you need to know

what you know

1st stage knowledge

2nd stage knowledge

3rd stage knowledge

test & use knowledge

Page 89: Stood at the bottom of a mountain looking up

mind maps

Page 90: Stood at the bottom of a mountain looking up

always question‣ Question what you’re learning‣ Question this talk!

‣ Ask why?‣ Beware of the obvious‣ Unlearning‣ Question your preconceptions

Page 91: Stood at the bottom of a mountain looking up

learn from your mistakes

Page 92: Stood at the bottom of a mountain looking up

plan of attack‣ preliminaries: the facts of life‣ what to learn‣ how to learn‣ conclusions

stood at the bottom of a mountain looking up pete goodliffe

Page 93: Stood at the bottom of a mountain looking up

plan of attack‣ preliminaries: the facts of life‣ what to learn‣ how to learn‣ conclusions

stood at the bottom of a mountain looking up pete goodliffe

Page 94: Stood at the bottom of a mountain looking up

you are here(enjoy the view)

Page 95: Stood at the bottom of a mountain looking up

attitude

‣ It’s your responsibility‣ Learn deliberately

Page 96: Stood at the bottom of a mountain looking up

goals‣ Live to love to learn‣ Take responsibility for your learning‣ Learn one language per year

‣ The Pragmatic Programmer

‣ Scratch an itch‣ Learn an interest, do some open source

‣ Read at least one book every two months‣ Build a mental map and brain cache‣ Try to use both sides of your brain‣ Deliberate Practice & Exercise‣ Learn from others‣ Teach others‣ Apply knowledge cautiously

Page 97: Stood at the bottom of a mountain looking up

Pete [email protected]

stood at the bottom of a mountain looking up pete goodliffe

Page 98: Stood at the bottom of a mountain looking up

over to youstood at the bottom of a mountain looking up pete goodliffe

‣ When were you last in a situation that required learning?‣ How did you approach it?‣ How successful were you?‣ How quickly did you learn?‣ How could you have performed better?‣ Did you learn, then work, or learn as you worked?‣ Which do you think is most effective?

Page 99: Stood at the bottom of a mountain looking up

references

?

stood at the bottom of a mountain looking up pete goodliffe

Page 100: Stood at the bottom of a mountain looking up

references10,000 hours

Outliers. The Story of Success.Malcom Gladwell. Little, Brown and Company. ISBN 978-0-316-01792-3. Chapter 2.The Role of Deliberate Practice in the Acquisition of Expert Performance.K. Andrew Ericsson, Raly Th. Krame and Clemens Tescho-Romer.

The last man who knew it allInfluence: Science and Practice.Robert B. Cialdini. Pearson Education. ISBN-13: 978-0321011473

Four levels of incompetenceMaslow’s Four Stages Of Learning.See: http://en.wikipedia.org/wiki/Four_stages_of_competenceUnskilled and Unaware of It: How Difficulties in Recognizing One's Own Incompetence Lead to Inflated Self-AssessmentsJustin KRUGER, David DUNNING. Psychology, 2009, 1, 30-46

Knowledge portfolioThe Pragmatic Programmer. Hunt, Thomas

Shu Ha RiSee: http://en.wikipedia.org/wiki/Shuhari

Dreyfus Model of Skills AcquisitionSee: http://en.wikipedia.org/wiki/Dreyfus_model_of_skill_acquisition Stuart E. Dreyfus; Hubert L. Dreyfus (Feb 1980), A Five-Stage Model of the Mental Activities Involved in Directed Skill Acquisition, Storming Media

Effort/Importance of self-beliefDweck, Carol S. Mindset: The New Psychology of Success. Ballantine Books, 2007.Carol Dweck Self-theories: Their role in motivation, personality and development (1999)

stood at the bottom of a mountain looking up pete goodliffe

Page 101: Stood at the bottom of a mountain looking up

referencesLeft/Right brain

Lateral specialization in the surgically separated hemispheres.R.W. Sperry. In Neurosciences Third Study Program. F. Schmitt and F. Worden (Eds.), Cambridge: MIT Press 3:5-19 (1974).

ExocortexSee: http://en.wikipedia.org/wiki/Exocortex

Mind mapsThe Mind Map Book: How to Use Radiant Thinking to Maximise Your Brain’s Untapped Potential.Tony Buzan and Barry Buzan. Pliume, New York, 1996.This amused me: http://lifehacker.com/288763/a-beginners-guide-to-mind-mapping-meetings

stood at the bottom of a mountain looking up pete goodliffe

Page 102: Stood at the bottom of a mountain looking up

references

this really is marvellous

stood at the bottom of a mountain looking up pete goodliffe

Page 103: Stood at the bottom of a mountain looking up

Pete [email protected]

stood at the bottom of a mountain looking up pete goodliffe