Craftsman Learns ... o r L e a r n i n g t h e C r a f t Pete - - PowerPoint PPT Presentation

craftsman learns
SMART_READER_LITE
LIVE PREVIEW

Craftsman Learns ... o r L e a r n i n g t h e C r a f t Pete - - PowerPoint PPT Presentation

QCon 2010 The Craftsman Learns ... o r L e a r n i n g t h e C r a f t Pete Goodliffe pete@goodliffe.net the craftsman learnslearning the craft pete goodliffe Pete Goodliffe A programmer, a columnist, an author, a teacher. Someone who


slide-1
SLIDE 1

Craftsman

The

Learns

... o r L e a r n i n g t h e C r a f t QCon 2010 Pete Goodliffe pete@goodliffe.net
slide-2
SLIDE 2 the craftsman learnslearning the craft pete goodliffe

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

www.goodliffe.net goodliffe.blogspot.com
slide-3
SLIDE 3 the craftsman learnslearning the craft pete goodliffe

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

www.goodliffe.net goodliffe.blogspot.com
slide-4
SLIDE 4 Software developers should be perennial students. Exceptional programmers aren't the ones who know it all. No one possibly can, no matter what the self-professed gurus would have you believe. Truly great software developers know their limits, and constantly strive to push them, to learn new skills and amass a catalogue of new techniques that can be applied to their craft. As a programmer you constantly face fresh challenges; you will frequently be forced to learn a new language, a new technology, or a new project. And you will have to know it all by... yesterday. It's both our responsibility and, hopefully, our pleasure. I this talk we'll investigate:
  • how the software craftsman approaches learning
  • what information to learn, and what to ignore
  • how to learn new things effectively
  • techniques for quickly picking up new technology
  • healthy attitudes towards learning
  • the craftsman’s curiosity, and how to assuage it

talk synopsis

the craftsman learnslearning the craft pete goodliffe
slide-5
SLIDE 5

plan of attack

  • preliminaries: the facts of life
  • what to learn
  • how to learn
  • conclusions
the craftsman learnslearning the craft pete goodliffe
slide-6
SLIDE 6

plan of attack

  • preliminaries: the facts of life
  • what to learn
  • how to learn
  • conclusions
the craftsman learnslearning the craft pete goodliffe
slide-7
SLIDE 7

The prologue

» The Facts of Life «

slide-8
SLIDE 8

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 learn
Here are some keys to help us improve
slide-9
SLIDE 9

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
slide-10
SLIDE 10

10,000

slide-11
SLIDE 11

10,000

8,000

4,000

expert shows potential also-ran

slide-12
SLIDE 12

10,000

expert

= 10 years * 3 hours

slide-13
SLIDE 13

= hard work

slide-14
SLIDE 14

Categorising knowledge

» The Facts of Life «

slide-15
SLIDE 15

everything there is to know

slide-16
SLIDE 16

everything you’ve forgotten everything you don’t know everything you know

slide-17
SLIDE 17

“ ”

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. Rumsfeld February 12, 2002 Department of Defense News Briefing
slide-18
SLIDE 18

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

slide-19
SLIDE 19

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...
slide-20
SLIDE 20

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 of incompetence

1.Conscious incompetence 2.Conscious competence 3.Unconscious competence 4.Unconscious incompetence

slide-21
SLIDE 21

The ethics of learning

» The Facts of Life «

slide-22
SLIDE 22

study is not something that a teacher does to you it is something you do

slide-23
SLIDE 23

study is not something that a teacher does to you it is something you do

responsibility

slide-24
SLIDE 24

professionalism

slide-25
SLIDE 25
slide-26
SLIDE 26

“ ”

Learning is like rowing upstream: not to advance is to drop back.

Chinese proverb
slide-27
SLIDE 27

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

slide-28
SLIDE 28

plan of attack

  • preliminaries: the facts of life
  • what to learn
  • how to learn
  • conclusions
the craftsman learnslearning the craft pete goodliffe
slide-29
SLIDE 29

plan of attack

  • preliminaries: the facts of life
  • what to learn
  • how to learn
  • conclusions
the craftsman learnslearning the craft pete goodliffe
slide-30
SLIDE 30

your knowledge portfolio

the pragmatic programmer
slide-31
SLIDE 31

?

new codebase problem domain technology

slide-32
SLIDE 32

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?
slide-33
SLIDE 33
slide-34
SLIDE 34
slide-35
SLIDE 35

new technology technical skills

how to work with others

how to learn the “leftfield”

slide-36
SLIDE 36

new technology technical skills

how to work with others

how to learn the “leftfield”

  • What is the next big

thing?

  • Different language

paradigms

  • New tools
  • Libraries
  • Frameworks
slide-37
SLIDE 37

new technology technical skills

how to work with 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)

slide-38
SLIDE 38

new technology technical skills

how to work with others

how to learn the “leftfield”

  • How to understand
  • thers
  • How to communicate
  • How to listen (and

understand)

  • Understand the

customer

slide-39
SLIDE 39

new technology technical skills

how to work with others

how to learn the “leftfield”

  • That’s why you’re

here!

  • New learning

techniques

slide-40
SLIDE 40

new technology technical skills

how to work with others

how to learn the “leftfield”

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

science

  • Art
  • Philosophy
  • Spirituality
slide-41
SLIDE 41

plan of attack

  • preliminaries: the facts of life
  • what to learn
  • how to learn
  • conclusions
the craftsman learnslearning the craft pete goodliffe
slide-42
SLIDE 42

plan of attack

  • preliminaries: the facts of life
  • what to learn
  • how to learn
  • conclusions
the craftsman learnslearning the craft pete goodliffe
slide-43
SLIDE 43

master journeyman apprentice → → → → shu ha ri → → → →

slide-44
SLIDE 44

dreyfus model cone of learning

expert proficient competent advanced beginner novice
slide-45
SLIDE 45
slide-46
SLIDE 46

“ ”

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 Dweck Social Pyschologist Self-theories: Their role in motivation, personality and development (1999)
slide-47
SLIDE 47

attitude

slide-48
SLIDE 48

attitude

Responsibility Continuous learning Hunger Curiosity Humility Self-belief

slide-49
SLIDE 49

Learning tools

» How to learn «

Learning processes Plans

slide-50
SLIDE 50

?

The Ultimate Learning Machine

slide-51
SLIDE 51
slide-52
SLIDE 52

» the user’s manual «

slide-53
SLIDE 53

» 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
slide-54
SLIDE 54
slide-55
SLIDE 55
slide-56
SLIDE 56
slide-57
SLIDE 57

Left brain Right brain PCI Bus

Person Control Interconnect
slide-58
SLIDE 58

Left brain Right brain PCI Bus

Person Control Interconnect
slide-59
SLIDE 59

Left brain Right brain PCI Bus

Person Control Interconnect * Verbal * Rational * Analytic * Linear * Logical * Temporal * Symbolic * Single-threaded * Synchronous * Non-verbal * Non-rational * Intuitive * Spatial * Relational * Perceptive * Holistic * Multithreaded * Asynchronous
slide-60
SLIDE 60

Left brain Right brain PCI Bus

Person Control Interconnect

the trick:

harness both sides

slide-61
SLIDE 61

listen: music twiddle meditate

The Ultimate Learning Machine

describe doodle/draw

slide-62
SLIDE 62

» multimode learning «

slide-63
SLIDE 63

practice

practice is not a noun

slide-64
SLIDE 64

practice

practice is not a noun

deliberate practice katas dojo

slide-65
SLIDE 65

” “

Tell me, and I will forget. Show me, and I may

  • remember. Involve me,

and I will understand.

Confucius
slide-66
SLIDE 66

TDD L

test 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
slide-67
SLIDE 67
slide-68
SLIDE 68 your notes your reference materials books, notebooks, web, etc where to get more info cpu cache swap space new downloads; not processed yet future input
slide-69
SLIDE 69
slide-70
SLIDE 70

networking

slide-71
SLIDE 71

networking

pair programming study groups mentoring teaching write articles discuss

give knowledge back find someone to learn from
slide-72
SLIDE 72 find someone to learn from

be less afraid of your ignorance

slide-73
SLIDE 73

build a mental map

slide-74
SLIDE 74

build a mental map

slide-75
SLIDE 75

a hierarchy of knowledge retrieval

slide-76
SLIDE 76

plan your learning

what you need to know what you know 1st stage knowledge 2nd stage knowledge 3rd stage knowledge test & use knowledge
slide-77
SLIDE 77

mind maps

slide-78
SLIDE 78

always question

  • Question what you’re learning
  • Question this talk!
  • Ask why?
  • Beware of the obvious
  • Unlearning
  • Question your preconceptions
slide-79
SLIDE 79

learn from your mistakes

slide-80
SLIDE 80

plan of attack

  • preliminaries: the facts of life
  • what to learn
  • how to learn
  • conclusions
the craftsman learnslearning the craft pete goodliffe
slide-81
SLIDE 81

plan of attack

  • preliminaries: the facts of life
  • what to learn
  • how to learn
  • conclusions
the craftsman learnslearning the craft pete goodliffe
slide-82
SLIDE 82

you are here

(enjoy the view)
slide-83
SLIDE 83

attitude

  • It’s your responsibility
  • Learn deliberately
slide-84
SLIDE 84

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
slide-85
SLIDE 85 Pete Goodliffe pete@goodliffe.net the craftsman learnslearning the craft pete goodliffe
slide-86
SLIDE 86

references ?

the craftsman learnslearning the craft pete goodliffe
slide-87
SLIDE 87

references

10,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 all Influence: Science and Practice. Robert B. Cialdini. Pearson Education. ISBN-13: 978-0321011473 Four levels of incompetence Maslow’s Four Stages Of Learning. See: http://en.wikipedia.org/wiki/Four_stages_of_competence Unskilled and Unaware of It: How Difficulties in Recognizing One's Own Incompetence Lead to Inflated Self-Assessments Justin KRUGER, David DUNNING. Psychology, 2009, 1, 30-46 Knowledge portfolio The Pragmatic Programmer. Hunt, Thomas Shu Ha Ri See: http://en.wikipedia.org/wiki/Shuhari Dreyfus Model of Skills Acquisition See: 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-belief Dweck, Carol S. Mindset: The New Psychology of Success. Ballantine Books, 2007. Carol Dweck Self-theories: Their role in motivation, personality and development (1999) the craftsman learnslearning the craft pete goodliffe
slide-88
SLIDE 88

references

Left/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). Exocortex See: http://en.wikipedia.org/wiki/Exocortex Mind maps The 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 the craftsman learnslearning the craft pete goodliffe
slide-89
SLIDE 89

references

the craftsman learnslearning the craft pete goodliffe

this really is marvellous

slide-90
SLIDE 90 Pete Goodliffe pete@goodliffe.net the craftsman learnslearning the craft pete goodliffe