SlideShare a Scribd company logo
1 of 103
Download to read offline
ACCU 2010




            stood at the
                       bottom of a mountain
                Mountain
                 looking up


                                              Pete Goodliffe
                                              pete@goodliffe.net
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
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
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
stood at the bottom of a mountain looking up   pete goodliffe




                                    why?
stood at the bottom of a mountain looking up                 pete goodliffe




                                                  we can
                                                 software
                                                 constant
                                                always get
                                                    fun
                                               development
                                                 learning
                                                   better
stood at the bottom of a mountain looking up   pete goodliffe
stood at the bottom of a mountain looking up   pete goodliffe




                   (there it is)
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
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
» The Facts of Life «

The prologue
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
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
10,000
10,000      expe
                     rt




8,000  s ho w
                s p ot
                         entia
                              l

 4,000
     also-
           ran
10,000  expe
               rt



= 10 years
* 3 hours
= hard work
» The Facts of Life «

Categorising knowledge
everything there
   is to know
everything       everything you
you’ve forgotten     don’t know
                       know
“
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
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
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
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
» The Facts of Life «

The ethics of learning
study is not something that
   a teacher does to you

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

  it is something you do
professionalism
“
Learning is like rowing
   upstream: not to



                       ”
advance is to drop back.
                   Chinese proverb
Learning:
You’ve either got to, or
you ought to.
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
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
your knowledge portfolio
      the pragmatic programmer
problem domain

     technology
?
    new codebase
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
new technology


technical skills

how to work
      with others


how to learn


the “leftfield”
‣ 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”
‣ 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”
‣ 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”
‣ That’s why you’re
new technology        here!
                    ‣ New learning
technical skills      techniques

how to work
      with others


how to learn


the “leftfield”
‣ 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”
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
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
→ apprentice →   journeyman   →   master   →

→    shu    →        ha       →     ri     →
dreyfus model       cone of learning



     expert

    proficient

   competent

advanced beginner

     novice
dreyfus model



     expert

    proficient

   competent

advanced beginner

     novice
novice

have no knowledge
      (yet)

   want results
     (fast)

have no experience

    need rules

 can’t judge rules
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
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
proficient

   beyond competency

  understand big picture

   frustrated by novice
      simplifications

can correct previous errors
  & reflect on experiences

         maxims

focus on important issues

     tacit knowledge
expert

   the pinnacle

there are very few

 have authority

 interlink skills

can teach others

 have intuition
  naturally see an answer
where are you?
  how far up the mountain?
how high do you
  want to go?
“
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)
attitude
attitude
  Responsibility
Continuous learning
      Hunger
     Curiosity
     Humility
     Self-belief
» How to learn «


  Learning tools
Learning processes
      Plans
The

?   Ultimate
    Learning
    Machine
» the user’s manual «
» 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
Left brain                Right brain




             PCI Control Interconnect
                    Bus
             Person
Left brain                Right brain




             PCI Control Interconnect
                    Bus
             Person
Left brain                        Right brain

 * Verbal                        * Non-verbal
 * Rational                      * Non-rational
 * Analytic                      * Intuitive
 * Linear                        * Spatial
 * Logical                       * Relational
 * Temporal                      * Perceptive
 * Symbolic                      * Holistic

 * Single-threaded               * Multithreaded
 * Synchronous                   * Asynchronous




                     PCI Control Interconnect
                            Bus
                     Person
Left brain                        Right brain




             the trick:
  harness both sides

                     PCI Control Interconnect
                            Bus
                     Person
listen: m
          usic
    describe            The
                   Ultimate
   twiddle         Learning
  doodle/d
             raw   Machine
 meditate
» multimode learning «
practice
practice is not a noun
practice
practice is not a noun
     deliberate practice
            katas
            dojo
“
Tell me, and I will forget.
  Show me, and I may
remember. Involve me,


                      ”
 and I will understand.
                       Confucius
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
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
networking
networking
        pair programming
           study groups
     e
            mentoring
  giv dge
   wle
kno back     teaching
          write articles  so find
                            m
              discuss    lea eon
                            rn e t
                              fro o
                                 m
be less afraid of
 your ignorance

                 so find
                   m
                lea eon
                   rn e t
                     fro o
                        m
build a mental map
build a mental map
a hierarchy of
knowledge retrieval
plan your learning

                        what you need to know




test & use knowledge
                             3rd stage knowledge


                          2nd stage knowledge


                       1st stage knowledge


       what you know
mind maps
always question
     ‣ Question what you’re learning
       ‣ Question this talk!
     ‣ Ask why?
     ‣ Beware of the obvious
     ‣ Unlearning
       ‣ Question your preconceptions
learn from your
   mistakes
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
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
you are here
   (enjoy the view)
attitude

    ‣ It’s your responsibility
    ‣ Learn deliberately
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
stood at the bottom of a mountain looking up           pete goodliffe




                                               Pete Goodliffe
                                               pete@goodliffe.net
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?
stood at the bottom of a mountain looking up   pete goodliffe




      references




                              ?
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)
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
stood at the bottom of a mountain looking up           pete goodliffe




      references




                           this really is marvellous
stood at the bottom of a mountain looking up           pete goodliffe




                                               Pete Goodliffe
                                               pete@goodliffe.net

More Related Content

Similar to Stood at the bottom of a mountain looking up

How to Make Sense of Any Mess
How to Make Sense of Any MessHow to Make Sense of Any Mess
How to Make Sense of Any MessAbby Covert
 
Technology and Learning: Putting it all in Perspective
Technology and Learning: Putting it all in PerspectiveTechnology and Learning: Putting it all in Perspective
Technology and Learning: Putting it all in PerspectiveWilliam Brennan, Ed.D.
 
William Brennan, Ed.D Keynote Address- Technology and Learning in Perspective
William Brennan, Ed.D Keynote Address- Technology and Learning in PerspectiveWilliam Brennan, Ed.D Keynote Address- Technology and Learning in Perspective
William Brennan, Ed.D Keynote Address- Technology and Learning in PerspectiveWilliam Brennan, Ed.D.
 
Interactive Learning Through Facilitation
Interactive Learning Through FacilitationInteractive Learning Through Facilitation
Interactive Learning Through FacilitationViv McWaters
 
Welcome asc april 27 28
Welcome asc april 27 28Welcome asc april 27 28
Welcome asc april 27 28Mick Vaught
 
Becoming a Better Programmer (2013)
Becoming a Better Programmer (2013)Becoming a Better Programmer (2013)
Becoming a Better Programmer (2013)Pete Goodliffe
 
Be Amazing: 5 Rules for Great Presentations
Be Amazing: 5 Rules for Great PresentationsBe Amazing: 5 Rules for Great Presentations
Be Amazing: 5 Rules for Great Presentationsjcasimir
 
Gamification, Game Based Marketing, Serious Business
Gamification, Game Based Marketing, Serious BusinessGamification, Game Based Marketing, Serious Business
Gamification, Game Based Marketing, Serious BusinessMartin Verdult
 
The Politics of #Winning
The Politics of #WinningThe Politics of #Winning
The Politics of #WinningAustin Petersen
 
NEPA BlogCon 2014: Session 4 - Laurie McMillan & Lindsey Wotanis, WinkyFace
NEPA BlogCon 2014: Session 4 - Laurie McMillan & Lindsey Wotanis, WinkyFaceNEPA BlogCon 2014: Session 4 - Laurie McMillan & Lindsey Wotanis, WinkyFace
NEPA BlogCon 2014: Session 4 - Laurie McMillan & Lindsey Wotanis, WinkyFaceNEPA BlogCon
 
Why Nerds Aren't Heard! 7 Ways Geeks Sabotage Their Own Presentations - David...
Why Nerds Aren't Heard! 7 Ways Geeks Sabotage Their Own Presentations - David...Why Nerds Aren't Heard! 7 Ways Geeks Sabotage Their Own Presentations - David...
Why Nerds Aren't Heard! 7 Ways Geeks Sabotage Their Own Presentations - David...David Duffett dCAP
 
Kidding Around: Designing Digital Activities (#mw2012)
Kidding Around: Designing Digital Activities (#mw2012)Kidding Around: Designing Digital Activities (#mw2012)
Kidding Around: Designing Digital Activities (#mw2012)Shelley Mannion
 
Final Review - MFA in Advertising - Academy of Art University
Final Review - MFA in Advertising - Academy of Art UniversityFinal Review - MFA in Advertising - Academy of Art University
Final Review - MFA in Advertising - Academy of Art UniversityGabriela R
 
Less 'Oh Shit' With GIT
Less 'Oh Shit' With GITLess 'Oh Shit' With GIT
Less 'Oh Shit' With GITRichard Tape
 

Similar to Stood at the bottom of a mountain looking up (20)

Light bs2
Light bs2Light bs2
Light bs2
 
Devops -- LKFR14
Devops -- LKFR14Devops -- LKFR14
Devops -- LKFR14
 
How to Make Sense of Any Mess
How to Make Sense of Any MessHow to Make Sense of Any Mess
How to Make Sense of Any Mess
 
Technology and Learning: Putting it all in Perspective
Technology and Learning: Putting it all in PerspectiveTechnology and Learning: Putting it all in Perspective
Technology and Learning: Putting it all in Perspective
 
William Brennan, Ed.D Keynote Address- Technology and Learning in Perspective
William Brennan, Ed.D Keynote Address- Technology and Learning in PerspectiveWilliam Brennan, Ed.D Keynote Address- Technology and Learning in Perspective
William Brennan, Ed.D Keynote Address- Technology and Learning in Perspective
 
Interactive Learning Through Facilitation
Interactive Learning Through FacilitationInteractive Learning Through Facilitation
Interactive Learning Through Facilitation
 
Intern bootcamp
Intern bootcampIntern bootcamp
Intern bootcamp
 
Welcome asc april 27 28
Welcome asc april 27 28Welcome asc april 27 28
Welcome asc april 27 28
 
Becoming a Better Programmer (2013)
Becoming a Better Programmer (2013)Becoming a Better Programmer (2013)
Becoming a Better Programmer (2013)
 
Be Amazing: 5 Rules for Great Presentations
Be Amazing: 5 Rules for Great PresentationsBe Amazing: 5 Rules for Great Presentations
Be Amazing: 5 Rules for Great Presentations
 
Gamification, Game Based Marketing, Serious Business
Gamification, Game Based Marketing, Serious BusinessGamification, Game Based Marketing, Serious Business
Gamification, Game Based Marketing, Serious Business
 
The Politics of #Winning
The Politics of #WinningThe Politics of #Winning
The Politics of #Winning
 
NEPA BlogCon 2014: Session 4 - Laurie McMillan & Lindsey Wotanis, WinkyFace
NEPA BlogCon 2014: Session 4 - Laurie McMillan & Lindsey Wotanis, WinkyFaceNEPA BlogCon 2014: Session 4 - Laurie McMillan & Lindsey Wotanis, WinkyFace
NEPA BlogCon 2014: Session 4 - Laurie McMillan & Lindsey Wotanis, WinkyFace
 
Why Nerds Aren't Heard! 7 Ways Geeks Sabotage Their Own Presentations - David...
Why Nerds Aren't Heard! 7 Ways Geeks Sabotage Their Own Presentations - David...Why Nerds Aren't Heard! 7 Ways Geeks Sabotage Their Own Presentations - David...
Why Nerds Aren't Heard! 7 Ways Geeks Sabotage Their Own Presentations - David...
 
Let's pretend
Let's pretendLet's pretend
Let's pretend
 
Power of Why
Power of WhyPower of Why
Power of Why
 
Kidding Around: Designing Digital Activities (#mw2012)
Kidding Around: Designing Digital Activities (#mw2012)Kidding Around: Designing Digital Activities (#mw2012)
Kidding Around: Designing Digital Activities (#mw2012)
 
Final Review - MFA in Advertising - Academy of Art University
Final Review - MFA in Advertising - Academy of Art UniversityFinal Review - MFA in Advertising - Academy of Art University
Final Review - MFA in Advertising - Academy of Art University
 
Corporate
CorporateCorporate
Corporate
 
Less 'Oh Shit' With GIT
Less 'Oh Shit' With GITLess 'Oh Shit' With GIT
Less 'Oh Shit' With GIT
 

More from Pete Goodliffe

Becoming a Better Programmer
Becoming a Better ProgrammerBecoming a Better Programmer
Becoming a Better ProgrammerPete Goodliffe
 
Running Effective Worship Rehearsals
Running Effective Worship RehearsalsRunning Effective Worship Rehearsals
Running Effective Worship RehearsalsPete Goodliffe
 
Version Control Done Right
Version Control Done RightVersion Control Done Right
Version Control Done RightPete Goodliffe
 
C++: The Cathedral and the Bizarre
C++: The Cathedral and the BizarreC++: The Cathedral and the Bizarre
C++: The Cathedral and the BizarrePete Goodliffe
 
iOS Development (BCS Newcastle)
iOS Development (BCS Newcastle)iOS Development (BCS Newcastle)
iOS Development (BCS Newcastle)Pete Goodliffe
 
Three Objectionable Things
Three Objectionable ThingsThree Objectionable Things
Three Objectionable ThingsPete Goodliffe
 
Coping with Complexity
Coping with ComplexityCoping with Complexity
Coping with ComplexityPete Goodliffe
 
iOS Development (BCS Edinburgh 2011-03-09)
iOS Development (BCS Edinburgh 2011-03-09)iOS Development (BCS Edinburgh 2011-03-09)
iOS Development (BCS Edinburgh 2011-03-09)Pete Goodliffe
 
iPhone development: A brief introduction
iPhone development: A brief introductioniPhone development: A brief introduction
iPhone development: A brief introductionPete Goodliffe
 
Legacy Code: Learning To Live With It
Legacy Code: Learning To Live With ItLegacy Code: Learning To Live With It
Legacy Code: Learning To Live With ItPete Goodliffe
 

More from Pete Goodliffe (15)

Becoming a Better Programmer
Becoming a Better ProgrammerBecoming a Better Programmer
Becoming a Better Programmer
 
Words in Code
Words in CodeWords in Code
Words in Code
 
Running Effective Worship Rehearsals
Running Effective Worship RehearsalsRunning Effective Worship Rehearsals
Running Effective Worship Rehearsals
 
Design Sins
Design SinsDesign Sins
Design Sins
 
Advanced iOS
Advanced iOSAdvanced iOS
Advanced iOS
 
Version Control Done Right
Version Control Done RightVersion Control Done Right
Version Control Done Right
 
Getting Into Git
Getting Into GitGetting Into Git
Getting Into Git
 
C++: The Cathedral and the Bizarre
C++: The Cathedral and the BizarreC++: The Cathedral and the Bizarre
C++: The Cathedral and the Bizarre
 
iOS Development (BCS Newcastle)
iOS Development (BCS Newcastle)iOS Development (BCS Newcastle)
iOS Development (BCS Newcastle)
 
Three Objectionable Things
Three Objectionable ThingsThree Objectionable Things
Three Objectionable Things
 
Coping with Complexity
Coping with ComplexityCoping with Complexity
Coping with Complexity
 
Manyfestos
ManyfestosManyfestos
Manyfestos
 
iOS Development (BCS Edinburgh 2011-03-09)
iOS Development (BCS Edinburgh 2011-03-09)iOS Development (BCS Edinburgh 2011-03-09)
iOS Development (BCS Edinburgh 2011-03-09)
 
iPhone development: A brief introduction
iPhone development: A brief introductioniPhone development: A brief introduction
iPhone development: A brief introduction
 
Legacy Code: Learning To Live With It
Legacy Code: Learning To Live With ItLegacy Code: Learning To Live With It
Legacy Code: Learning To Live With It
 

Recently uploaded

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Recently uploaded (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

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
  • 11. » The Facts of Life « The prologue
  • 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
  • 15. 10,000 expe rt 8,000 s ho w s p ot entia l 4,000 also- ran
  • 16. 10,000 expe rt = 10 years * 3 hours
  • 18. » The Facts of Life « Categorising knowledge
  • 19. everything there is to know
  • 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
  • 25. » The Facts of Life « The ethics of learning
  • 26. study is not something that a teacher does to you it is something you do
  • 27. study is not something that responsibility a teacher does to you it is something you do
  • 29.
  • 30. “ Learning is like rowing upstream: not to ” advance is to drop back. Chinese proverb
  • 31. Learning: You’ve either got to, or you ought to.
  • 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
  • 34. your knowledge portfolio the pragmatic programmer
  • 35. problem domain technology ? new codebase
  • 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
  • 37.
  • 38.
  • 39. new technology technical skills how to work with others how to learn the “leftfield”
  • 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
  • 47. → apprentice → journeyman → master → → shu → ha → ri →
  • 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
  • 55. where are you? how far up the mountain?
  • 56. how high do you want to go?
  • 57.
  • 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)
  • 60. attitude Responsibility Continuous learning Hunger Curiosity Humility Self-belief
  • 61. » How to learn « Learning tools Learning processes Plans
  • 62. The ? Ultimate Learning Machine
  • 63.
  • 64. » the user’s manual «
  • 65. » 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
  • 66.
  • 67.
  • 68.
  • 69. Left brain Right brain PCI Control Interconnect Bus Person
  • 70. Left brain Right brain PCI Control Interconnect Bus Person
  • 71. Left brain Right brain * Verbal * Non-verbal * Rational * Non-rational * Analytic * Intuitive * Linear * Spatial * Logical * Relational * Temporal * Perceptive * Symbolic * Holistic * Single-threaded * Multithreaded * Synchronous * Asynchronous PCI Control Interconnect Bus Person
  • 72. Left brain Right brain the trick: harness both sides PCI Control Interconnect Bus Person
  • 73. listen: m usic describe The Ultimate twiddle Learning doodle/d raw Machine meditate
  • 76. practice practice is not a noun deliberate practice katas dojo
  • 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
  • 81.
  • 83. networking pair programming study groups e mentoring giv dge wle kno back teaching write articles so find m discuss lea eon rn e t fro o m
  • 84. be less afraid of your ignorance so find m lea eon rn e t fro o m
  • 88. plan your learning what you need to know test & use knowledge 3rd stage knowledge 2nd stage knowledge 1st stage knowledge what you know
  • 90. always question ‣ Question what you’re learning ‣ Question this talk! ‣ Ask why? ‣ Beware of the obvious ‣ Unlearning ‣ Question your preconceptions
  • 91. learn from your mistakes
  • 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
  • 94. you are here (enjoy the view)
  • 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