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.
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Stood at the bottom of a mountain looking up
1. ACCU 2010
stood at the
bottom of a mountain
Mountain
looking up
Pete Goodliffe
pete@goodliffe.net
2. stood at the bottom of a mountain looking up pete goodliffe
Pete Goodliffe
A programmer, a columnist,
an author, a teacher. Someone
who cares about code.
www.goodliffe.net
goodliffe.blogspot.com
@petegoodliffe
3. stood at the bottom of a mountain looking up pete goodliffe
Pete Goodliffe
A programmer, a columnist,
an author, a teacher. Someone
who cares about code.
www.goodliffe.net
goodliffe.blogspot.com
@petegoodliffe
4. stood at the bottom of a mountain looking up pete goodliffe
talk synopsis
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
5. stood at the bottom of a mountain looking up pete goodliffe
why?
6. stood at the bottom of a mountain looking up pete goodliffe
we can
software
constant
always get
fun
development
learning
better
7. stood at the bottom of a mountain looking up pete goodliffe
8. stood at the bottom of a mountain looking up pete goodliffe
(there it is)
9. stood at the bottom of a mountain looking up pete goodliffe
plan of attack
‣ preliminaries: the facts of life
‣ what to learn
‣ how to learn
‣ conclusions
10. stood at the bottom of a mountain looking up pete goodliffe
plan of attack
‣ preliminaries: the facts of life
‣ what to learn
‣ how to learn
‣ conclusions
12. 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
Here are
some keys
‣ Our profession requires that we constantly learn to help us
improve
13. 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
20. everything everything you
you’ve forgotten don’t know
know
21. “
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
22. everything
you know you
don’t know
everything you everything you
know don’t know
everything
you don’t
know you don’t
know
everything
you’ve forgotten
23. everything
everything you
you know you
know well
don’t know
everything you
know
everything
everything you you don’t
know a bit know you don’t
know
everything
In the actual
presentation, this jumble
makes perfect sense.
you’ve forgotten
Here are
Animations, more keys
dontchaknow... to help us
improve
24. everything
everything you
you know you
know wellBeware of the «
»
don’t know
Four levels of
incompetence
everything
everything you you don’t
know a bit know you don’t
1.Conscious incompetence
know
2.Conscious competence
3.Unconscious competence
4.Unconscious incompetence
everything
you’ve forgotten
Here are
more keys
to help us
improve
32. stood at the bottom of a mountain looking up pete goodliffe
plan of attack
‣ preliminaries: the facts of life
‣ what to learn
‣ how to learn
‣ conclusions
33. stood at the bottom of a mountain looking up pete goodliffe
plan of attack
‣ preliminaries: the facts of life
‣ what to learn
‣ how to learn
‣ conclusions
36. problem domain
‣ Users
‣ Domain knowledge
‣ Who are the experts?
technology
‣ Programming language
‣ Library
‣ Framework/API
‣ Software tools
‣ Build system
‣ Issue tracker
new codebase
‣ Architecture
‣ Design
‣ Structure
‣ Idioms
‣ How to build
‣ How to run tests
‣ Development practices
40. ‣ What is the next big
new technology thing?
‣ Different language
technical skills paradigms
‣ New tools
how to work ‣ Libraries
with others ‣ Frameworks
how to learn
the “leftfield”
41. ‣ How to read code
new technology ‣ How to write
technical
technical skills documentation
‣ How to manage
how to work software projects
with others ‣ New techniques and
methodologies (TDD,
how to learn BDD, code
generation, lean)
the “leftfield”
42. ‣ How to understand
new technology others
‣ How to communicate
technical skills ‣ How to listen (and
understand)
how to work ‣ Understand the
with others customer
how to learn
the “leftfield”
43. ‣ That’s why you’re
new technology here!
‣ New learning
technical skills techniques
how to work
with others
how to learn
the “leftfield”
44. ‣ Foreign language
new technology ‣ Musical instrument
‣ Martial art
technical skills ‣ New branch of
science
how to work ‣ Art
with others ‣ Philosophy
‣ Spirituality
how to learn
the “leftfield”
45. stood at the bottom of a mountain looking up pete goodliffe
plan of attack
‣ preliminaries: the facts of life
‣ what to learn
‣ how to learn
‣ conclusions
46. stood at the bottom of a mountain looking up pete goodliffe
plan of attack
‣ preliminaries: the facts of life
‣ what to learn
‣ how to learn
‣ conclusions
48. dreyfus model cone of learning
expert
proficient
competent
advanced beginner
novice
49. dreyfus model
expert
proficient
competent
advanced beginner
novice
50. novice
have no knowledge
(yet)
want results
(fast)
have no experience
need rules
can’t judge rules
51. advanced beginner
some experience
some 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
52. competent
mental model made
associations formed
understand relative
importance of aspects
can approach unknown
problems
thi
go s is
plans methodical routes od
pla a
to
into problems be ce
53. proficient
beyond competency
understand big picture
frustrated by novice
simplifications
can correct previous errors
& reflect on experiences
maxims
focus on important issues
tacit knowledge
54. expert
the pinnacle
there are very few
have authority
interlink skills
can teach others
have intuition
naturally see an answer
58. “
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)
77. “
Tell me, and I will forget.
Show me, and I may
remember. Involve me,
”
and I will understand.
Confucius
78. 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
79.
80. your notes
cpu cache
your reference materials
books, notebooks, web, etc
swap space
where to get more info
new downloads; not processed yet
future input
92. stood at the bottom of a mountain looking up pete goodliffe
plan of attack
‣ preliminaries: the facts of life
‣ what to learn
‣ how to learn
‣ conclusions
93. stood at the bottom of a mountain looking up pete goodliffe
plan of attack
‣ preliminaries: the facts of life
‣ what to learn
‣ how to learn
‣ conclusions
95. attitude
‣ It’s your responsibility
‣ Learn deliberately
96. 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
97. stood at the bottom of a mountain looking up pete goodliffe
Pete Goodliffe
pete@goodliffe.net
98. stood at the bottom of a mountain looking up pete goodliffe
over to you
‣ 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?
99. stood at the bottom of a mountain looking up pete goodliffe
references
?
100. stood at the bottom of a mountain looking up pete goodliffe
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)
101. stood at the bottom of a mountain looking up pete goodliffe
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
102. stood at the bottom of a mountain looking up pete goodliffe
references
this really is marvellous
103. stood at the bottom of a mountain looking up pete goodliffe
Pete Goodliffe
pete@goodliffe.net