SlideShare a Scribd company logo
accu 2013
                                                         bristol, april




becoming                                             a
better programmer




  PETE GOODLIFFE pete@goodliffe.net @petegoodliffe
Becoming a Better Programmer (2013)
@petegoodliffe
pete@goodliffe.net
goodliffe.blogspot.com
www.goodliffe.net




      PE TE G OODL
      PROGRAMME
                   IFFE
               R / AUTHOR / COLUMN IST / TEACHER ★ CON SCIENTIOUS CODER
Becoming a Better Programmer (2013)
you
this
We all want to be better programmers, right?

This entertaining session will help you to work out
                       how.

With the help of a number of special guests, we will
 provide a series of practical, simple methods to
become a better programmer. We'll gain some real
        insights from respected developers.

There will be plenty of hand-waving and jumping, a
         little philosophy, and some twists.

         Be the best programmer you can!
We all want to be better programmers, right?

This entertaining session will help you to work out
                       how.

With the help of a number of special guests, we will
 provide a series of practical, simple methods to
become a better programmer. We'll gain some real
        insights from respected developers.

There will be plenty of hand-waving and jumping, a
         little philosophy, and some twists.

         Be the best programmer you can!
the plan
people &             wrap up
  intro
(set the scene)              stuff               (what have we
                                                   learnt?)
                           (exploring themes)




            you are here
                                                       you leave
                                                    entertained and
                                                       educated
Becoming a Better Programmer (2013)
becoming a
better programmer
?
what does it mean?
 better than what?
 how do we do it?
does it matter?
yes
yes
yes!
why?
Becoming a Better Programmer (2013)
but why be better?
financial
build // rework // repurpose // maintain
professionalism / craft
personal pride
Becoming a Better Programmer (2013)
Becoming a Better Programmer (2013)
what does better look like?
better than what?
you are now // programmers around you // industry average
super awesome




                you?


liability
super awesome




                you?


liability
super awesome
            skill b
skill a
                           skill c




                                you?
liability
skills          design
attitudes      communication
   technologies
                inter-personal

                      politics
   techniques
Becoming a Better Programmer (2013)
a long learning process
useful models
FOUR
     THE
           LEVELS
            OF
            ★

INCOMPETENCE
four levels of (in)competence


                     compe     tence
   Unc onscious in
                                   ten  ce
                            om  pe
                    us inc
          Co ns cio                             ce
                                       p eten
                                  co m                       en ce
                          c io us                       p et
                    Co ns                          c om
                                             io us
                                        n sc
                                   Un co
THE


DREYFUS
MODEL SKILLS
     OF
ACQUISITION
Becoming a Better Programmer (2013)
expert
    proficient
   competent
advanced beginner
     novice
expert              // authority, interlinked with other skills, intuition



proficient           // corrects previous errors, learn from others, interprets maxims
                       has TACIT knowledge


competent           // mental model, plan routes, solves unknown problems



advanced beginner   // breaks from rules, gets stuck, can get answers, can’t filter



novice              // rule-centric
super awesome




    liability



where are you aiming?
         (competent is good)
comparisons are dangerous
who do you want to be?
         (today)
Becoming a Better Programmer (2013)
how do you get better?
Becoming a Better Programmer (2013)
Becoming a Better Programmer (2013)
10,000
10,000               expe
                             rt




8,000     s ho w
                   s p ot
                            entia
                                 l

 4,000   also-
               ran
10,000
 = 10 years
 * 3 hours
10,000 hours of what?
Becoming a Better Programmer (2013)
be mindful that you
  want to improve
determine what’s important to you?

          work-required skills
   skills for your personal pleasure
?


know where you are now
?




know where you want to be
work out how you’ll get there
people &                   wrap up
  intro
(set the scene)     stuff                     (what have we
                                                learnt?)
                  (exploring themes)




                                you are now here
Becoming a Better Programmer (2013)
ALL★


                    U?
                         CAST
Steve Love                    Chris Oldwood
Frances Buontempo           Anthony Williams
Didier Verna                     Matt Turner
Phil Nash                Anna-Jayne Metcalfe
Seb Rose                            Greg Law
AS YOU LISTEN...


            U?


                    does this apply to me
    which is most appropriate to a novice?
which is most appropriate to a competent?
matt turner
 become a manager!
     @mt_inside
steve love
  automation
  @IAmSteveLove
didier verna
the music of programming
       @didierverna
frances “dr love” buontempo
          good feedback
           @fbuontempo
phil nash
the art of balancing forces
        @phil_nash
seb rose
developing using examples
    deliberate practice
  talking to your testers
         @sebrose
greg law
realism // the motorbike rider
  <strangely behind the times>
chris oldwood
  the social programmer
      @chrisoldwood
anthony williams
    do things mindfully
        @a_williams
anna-jayne metcalfe
     if it ain’t broken do fix it
            @annajayne
U

  anyone else?
things and stuff and stuff and things
       @audience//participation
Becoming a Better Programmer (2013)
Becoming a Better Programmer (2013)
Becoming a Better Programmer (2013)
QA
                  ★★★




                    &
                  ★★★


Pete Goodliffe @petegoodliffe pete@goodliffe.net
@petegoodliffe
pete@goodliffe.net
goodliffe.blogspot.com
www.goodliffe.net
BUMPH DULL, but important                            ★

THIS DOCUMENT WAS CREATED BY PETE GOODLIFFE
    IT IS COPYRIGHT // © 2013 PETE GOODLIFFE
>> ALL RIGHTS RESERVED
>> ALL THOUGHTS ARE OWNED
>> IMAGE CREDITS FOLLOW
THANK YOU FOR READING // I HOPE IT WAS USEFUL

                                      Version 1.0 2013-03-05
IMAGE CREDITS                                                                       ★
ENGAGED http://stockarch.com/images/abstract/concept/engaged-toilet-2776
ANNOYED http://www.sxc.hu/photo/1327383
CAR http://www.sxc.hu/photo/1351165
EXIT http://www.sxc.hu/photo/9237
TEETH http://www.morguefile.com/archive/display/46415
LABCOAT http://www.flickr.com/photos/cannongod/3749758602/sizes/z/in/photostream/
PEN http://www.sxc.hu/photo/1380083
BUS http://www.sxc.hu/photo/1363811
DILBERT http://www.dilbert.com/strips/comic/2013-03-21/ (used without permission)
GUAGE http://www.sxc.hu/photo/1382510
TWIST http://www.sxc.hu/photo/1026751
SCIENTIST http://commons.wikimedia.org/wiki/File:Scientist.jpg
HIPSTER http://hidari-pnk.deviantart.com/art/HIPSTER-347873661
POINTY-HAIRED BOSS http://en.wikipedia.org/wiki/File:Pointy-Haired_Boss.jpg
THE FONZ http://thegoodgreatsby.com/2011/04/19/happy-birthday-apollo-fonzarelli/
WINE http://www.sxc.hu/photo/1337577
CHEESE http://www.sxc.hu/photo/750248
EWE http://www.sxc.hu/photo/1174028
the dreyfus model     ★


       expert
      proficient
     competent
  advanced beginner
       novice
novice
have no k nowledge (yet)
      want results
          (fast)

   hav e no experience
        need rules
     can ’t judge rules
a dvanced beginner
        s ome experience
          some learngieng
             explicit knowled


 can break free fro  m rules a little

       will g et quickly stuck
     know where t  o get answers

  c an't focus out ir relevant details
competent
       menta l model made
       associa tions formed

 und erstand relative importance of
               aspects

  can  approach unkno  wn problems          thi
                                         go s is
                                            od
                                                pla a
        ethodical routes into problems     to
                                              be ce
plans m
proficient
       be yond competency

      understand big picture

frustrated by n  ovice simplifications

     can corr  ect previous errors
       & re flect on experiences
                maxims

       focus on important issues

             tacit knowledge
expert
  the pinnacle
th ere are very few
   have authority
   interlink skills
  can  teach others
    have intuition
  natura lly see an answer
Ad

More Related Content

What's hot (20)

Optimized for what
Optimized for whatOptimized for what
Optimized for what
Alberto Brandolini
 
Design Thinking by Mark Uraine
Design Thinking by Mark UraineDesign Thinking by Mark Uraine
Design Thinking by Mark Uraine
Mark Uraine
 
Debunking The Old Career Rules
Debunking The Old Career RulesDebunking The Old Career Rules
Debunking The Old Career Rules
Jerilyn Wagner
 
Findings from UX London
Findings from UX LondonFindings from UX London
Findings from UX London
Neil Dawson
 
Anyone can be a ux designer: Not everyone IS one.
Anyone can be a ux designer: Not everyone IS one.Anyone can be a ux designer: Not everyone IS one.
Anyone can be a ux designer: Not everyone IS one.
Dave Malouf
 
Big Ideas, Focused Action, Problem Solved
Big Ideas, Focused Action, Problem SolvedBig Ideas, Focused Action, Problem Solved
Big Ideas, Focused Action, Problem Solved
Tamara Christensen
 
Creativity and Problem Solving
Creativity and Problem SolvingCreativity and Problem Solving
Creativity and Problem Solving
Vincent McGregor
 
We’ve done all this research, now what?
We’ve done all this research, now what?We’ve done all this research, now what?
We’ve done all this research, now what?
Steve Portigal
 
Collected Wisdom
Collected WisdomCollected Wisdom
Collected Wisdom
Nitin Bhide
 
Championing Contextual Research in Your Organization
Championing Contextual Research in Your OrganizationChampioning Contextual Research in Your Organization
Championing Contextual Research in Your Organization
Steve Portigal
 
The Power of Retrospection
The Power of RetrospectionThe Power of Retrospection
The Power of Retrospection
Naresh Jain
 
16 from 16: THE BEST BOOKS OF 2016 SUMMARISED
16 from 16: THE BEST BOOKS OF 2016 SUMMARISED16 from 16: THE BEST BOOKS OF 2016 SUMMARISED
16 from 16: THE BEST BOOKS OF 2016 SUMMARISED
Kevin Duncan
 
Virtual Teams and Liberating Structures Blended Session at #SFAddis
Virtual Teams and Liberating Structures Blended Session at #SFAddisVirtual Teams and Liberating Structures Blended Session at #SFAddis
Virtual Teams and Liberating Structures Blended Session at #SFAddis
Nancy Wright White
 
Design Remote: The Async Advantage
Design Remote: The Async AdvantageDesign Remote: The Async Advantage
Design Remote: The Async Advantage
Erin 'Folletto' Casali
 
Innovate! - How to Walk Backwards
Innovate! - How to Walk BackwardsInnovate! - How to Walk Backwards
Innovate! - How to Walk Backwards
jpalley
 
sdsdsdsfdsfsfsdfsd
sdsdsdsfdsfsfsdfsdsdsdsdsfdsfsfsdfsd
sdsdsdsfdsfsfsdfsd
Avain Raj
 
13 FROM 2013: THE BEST BOOKS OF 2013 SUMMARIZED
13 FROM 2013: THE BEST BOOKS OF 2013 SUMMARIZED13 FROM 2013: THE BEST BOOKS OF 2013 SUMMARIZED
13 FROM 2013: THE BEST BOOKS OF 2013 SUMMARIZED
Kevin Duncan
 
PBL Breakout - deeper dive on PBL workflows
PBL Breakout - deeper dive on PBL workflowsPBL Breakout - deeper dive on PBL workflows
PBL Breakout - deeper dive on PBL workflows
Jon Corippo
 
Lateral thinking for startups
Lateral thinking for startupsLateral thinking for startups
Lateral thinking for startups
Nicola Fioravanti
 
The human side of design
The human side of designThe human side of design
The human side of design
Max Soe
 
Design Thinking by Mark Uraine
Design Thinking by Mark UraineDesign Thinking by Mark Uraine
Design Thinking by Mark Uraine
Mark Uraine
 
Debunking The Old Career Rules
Debunking The Old Career RulesDebunking The Old Career Rules
Debunking The Old Career Rules
Jerilyn Wagner
 
Findings from UX London
Findings from UX LondonFindings from UX London
Findings from UX London
Neil Dawson
 
Anyone can be a ux designer: Not everyone IS one.
Anyone can be a ux designer: Not everyone IS one.Anyone can be a ux designer: Not everyone IS one.
Anyone can be a ux designer: Not everyone IS one.
Dave Malouf
 
Big Ideas, Focused Action, Problem Solved
Big Ideas, Focused Action, Problem SolvedBig Ideas, Focused Action, Problem Solved
Big Ideas, Focused Action, Problem Solved
Tamara Christensen
 
Creativity and Problem Solving
Creativity and Problem SolvingCreativity and Problem Solving
Creativity and Problem Solving
Vincent McGregor
 
We’ve done all this research, now what?
We’ve done all this research, now what?We’ve done all this research, now what?
We’ve done all this research, now what?
Steve Portigal
 
Collected Wisdom
Collected WisdomCollected Wisdom
Collected Wisdom
Nitin Bhide
 
Championing Contextual Research in Your Organization
Championing Contextual Research in Your OrganizationChampioning Contextual Research in Your Organization
Championing Contextual Research in Your Organization
Steve Portigal
 
The Power of Retrospection
The Power of RetrospectionThe Power of Retrospection
The Power of Retrospection
Naresh Jain
 
16 from 16: THE BEST BOOKS OF 2016 SUMMARISED
16 from 16: THE BEST BOOKS OF 2016 SUMMARISED16 from 16: THE BEST BOOKS OF 2016 SUMMARISED
16 from 16: THE BEST BOOKS OF 2016 SUMMARISED
Kevin Duncan
 
Virtual Teams and Liberating Structures Blended Session at #SFAddis
Virtual Teams and Liberating Structures Blended Session at #SFAddisVirtual Teams and Liberating Structures Blended Session at #SFAddis
Virtual Teams and Liberating Structures Blended Session at #SFAddis
Nancy Wright White
 
Innovate! - How to Walk Backwards
Innovate! - How to Walk BackwardsInnovate! - How to Walk Backwards
Innovate! - How to Walk Backwards
jpalley
 
sdsdsdsfdsfsfsdfsd
sdsdsdsfdsfsfsdfsdsdsdsdsfdsfsfsdfsd
sdsdsdsfdsfsfsdfsd
Avain Raj
 
13 FROM 2013: THE BEST BOOKS OF 2013 SUMMARIZED
13 FROM 2013: THE BEST BOOKS OF 2013 SUMMARIZED13 FROM 2013: THE BEST BOOKS OF 2013 SUMMARIZED
13 FROM 2013: THE BEST BOOKS OF 2013 SUMMARIZED
Kevin Duncan
 
PBL Breakout - deeper dive on PBL workflows
PBL Breakout - deeper dive on PBL workflowsPBL Breakout - deeper dive on PBL workflows
PBL Breakout - deeper dive on PBL workflows
Jon Corippo
 
Lateral thinking for startups
Lateral thinking for startupsLateral thinking for startups
Lateral thinking for startups
Nicola Fioravanti
 
The human side of design
The human side of designThe human side of design
The human side of design
Max Soe
 

Viewers also liked (6)

Nine inspirational quotes from mark zuckerberg a boy genius
Nine inspirational quotes from mark zuckerberg  a boy geniusNine inspirational quotes from mark zuckerberg  a boy genius
Nine inspirational quotes from mark zuckerberg a boy genius
News World India
 
12 Things Every Programmer Should Know
12 Things Every Programmer Should Know12 Things Every Programmer Should Know
12 Things Every Programmer Should Know
Samnang Chhun
 
Programming languages
Programming languagesProgramming languages
Programming languages
Akash Varaiya
 
Top Ten Internet Uses in Education
Top Ten Internet Uses in EducationTop Ten Internet Uses in Education
Top Ten Internet Uses in Education
deand73
 
Presentation on generation of languages
Presentation on generation of languagesPresentation on generation of languages
Presentation on generation of languages
Richa Pant
 
Bangladesh final ppt
Bangladesh final pptBangladesh final ppt
Bangladesh final ppt
Josephite
 
Nine inspirational quotes from mark zuckerberg a boy genius
Nine inspirational quotes from mark zuckerberg  a boy geniusNine inspirational quotes from mark zuckerberg  a boy genius
Nine inspirational quotes from mark zuckerberg a boy genius
News World India
 
12 Things Every Programmer Should Know
12 Things Every Programmer Should Know12 Things Every Programmer Should Know
12 Things Every Programmer Should Know
Samnang Chhun
 
Programming languages
Programming languagesProgramming languages
Programming languages
Akash Varaiya
 
Top Ten Internet Uses in Education
Top Ten Internet Uses in EducationTop Ten Internet Uses in Education
Top Ten Internet Uses in Education
deand73
 
Presentation on generation of languages
Presentation on generation of languagesPresentation on generation of languages
Presentation on generation of languages
Richa Pant
 
Bangladesh final ppt
Bangladesh final pptBangladesh final ppt
Bangladesh final ppt
Josephite
 
Ad

Similar to Becoming a Better Programmer (2013) (20)

The story of a UI trainer
The story of a UI trainerThe story of a UI trainer
The story of a UI trainer
Harshal Patil
 
How Adults Learn
How Adults LearnHow Adults Learn
How Adults Learn
KnowledgeStar
 
Unconventional wisdom: Putting the WHY Before the WHAT of Presentation Design
Unconventional wisdom: Putting the WHY Before the WHAT of Presentation DesignUnconventional wisdom: Putting the WHY Before the WHAT of Presentation Design
Unconventional wisdom: Putting the WHY Before the WHAT of Presentation Design
Sheila B. Robinson
 
Enhance My Skills, LLC
Enhance My Skills, LLCEnhance My Skills, LLC
Enhance My Skills, LLC
deniseljackson
 
Inclusivedesign101
Inclusivedesign101Inclusivedesign101
Inclusivedesign101
Jess Mitchell
 
Exploring Virtual Collaboration: Adapting Tools
Exploring Virtual Collaboration: Adapting ToolsExploring Virtual Collaboration: Adapting Tools
Exploring Virtual Collaboration: Adapting Tools
Innovation Agency
 
Digital Literacies Baselining ODHE
Digital Literacies Baselining ODHEDigital Literacies Baselining ODHE
Digital Literacies Baselining ODHE
Bex Lewis
 
Work with PFB Worldwide
Work with PFB Worldwide Work with PFB Worldwide
Work with PFB Worldwide
Leadzpipe
 
The elements of product success for designers and developers
The elements of product success for designers and developersThe elements of product success for designers and developers
The elements of product success for designers and developers
Nick Myers
 
Teaching in the Age of Screens
Teaching in the Age of ScreensTeaching in the Age of Screens
Teaching in the Age of Screens
Molly B. Zielezinski PhD
 
oscon_apprenticeship
oscon_apprenticeshiposcon_apprenticeship
oscon_apprenticeship
Dave Hoover
 
Apprenticeships on Open Source
Apprenticeships on Open SourceApprenticeships on Open Source
Apprenticeships on Open Source
Dave Hoover
 
Managing your tech career
Managing your tech careerManaging your tech career
Managing your tech career
Greg Jensen
 
How to learn coding
How to learn codingHow to learn coding
How to learn coding
HananeMessad1
 
Reussir son atelier collaboratif de l'organisation à l'animation
Reussir son atelier collaboratif de l'organisation à l'animationReussir son atelier collaboratif de l'organisation à l'animation
Reussir son atelier collaboratif de l'organisation à l'animation
Concept Image
 
What Developers Need To Know About Visual Design
What Developers Need To Know About Visual DesignWhat Developers Need To Know About Visual Design
What Developers Need To Know About Visual Design
Ben Hall
 
Learning Solutions_Cammy Bean_Best Practices for Accidental Instructional Des...
Learning Solutions_Cammy Bean_Best Practices for Accidental Instructional Des...Learning Solutions_Cammy Bean_Best Practices for Accidental Instructional Des...
Learning Solutions_Cammy Bean_Best Practices for Accidental Instructional Des...
Cammy Bean
 
Games based learning_in_the_corporate_world
Games based learning_in_the_corporate_worldGames based learning_in_the_corporate_world
Games based learning_in_the_corporate_world
Kartic Vaidyanathan
 
vesion 1.1
vesion 1.1vesion 1.1
vesion 1.1
Vinay Kumar Mahesh Doddaballapur
 
Best practices for Accidental Instructional Designers @ Adobe Learning Summit...
Best practices for Accidental Instructional Designers @ Adobe Learning Summit...Best practices for Accidental Instructional Designers @ Adobe Learning Summit...
Best practices for Accidental Instructional Designers @ Adobe Learning Summit...
Cammy Bean
 
The story of a UI trainer
The story of a UI trainerThe story of a UI trainer
The story of a UI trainer
Harshal Patil
 
Unconventional wisdom: Putting the WHY Before the WHAT of Presentation Design
Unconventional wisdom: Putting the WHY Before the WHAT of Presentation DesignUnconventional wisdom: Putting the WHY Before the WHAT of Presentation Design
Unconventional wisdom: Putting the WHY Before the WHAT of Presentation Design
Sheila B. Robinson
 
Enhance My Skills, LLC
Enhance My Skills, LLCEnhance My Skills, LLC
Enhance My Skills, LLC
deniseljackson
 
Exploring Virtual Collaboration: Adapting Tools
Exploring Virtual Collaboration: Adapting ToolsExploring Virtual Collaboration: Adapting Tools
Exploring Virtual Collaboration: Adapting Tools
Innovation Agency
 
Digital Literacies Baselining ODHE
Digital Literacies Baselining ODHEDigital Literacies Baselining ODHE
Digital Literacies Baselining ODHE
Bex Lewis
 
Work with PFB Worldwide
Work with PFB Worldwide Work with PFB Worldwide
Work with PFB Worldwide
Leadzpipe
 
The elements of product success for designers and developers
The elements of product success for designers and developersThe elements of product success for designers and developers
The elements of product success for designers and developers
Nick Myers
 
oscon_apprenticeship
oscon_apprenticeshiposcon_apprenticeship
oscon_apprenticeship
Dave Hoover
 
Apprenticeships on Open Source
Apprenticeships on Open SourceApprenticeships on Open Source
Apprenticeships on Open Source
Dave Hoover
 
Managing your tech career
Managing your tech careerManaging your tech career
Managing your tech career
Greg Jensen
 
Reussir son atelier collaboratif de l'organisation à l'animation
Reussir son atelier collaboratif de l'organisation à l'animationReussir son atelier collaboratif de l'organisation à l'animation
Reussir son atelier collaboratif de l'organisation à l'animation
Concept Image
 
What Developers Need To Know About Visual Design
What Developers Need To Know About Visual DesignWhat Developers Need To Know About Visual Design
What Developers Need To Know About Visual Design
Ben Hall
 
Learning Solutions_Cammy Bean_Best Practices for Accidental Instructional Des...
Learning Solutions_Cammy Bean_Best Practices for Accidental Instructional Des...Learning Solutions_Cammy Bean_Best Practices for Accidental Instructional Des...
Learning Solutions_Cammy Bean_Best Practices for Accidental Instructional Des...
Cammy Bean
 
Games based learning_in_the_corporate_world
Games based learning_in_the_corporate_worldGames based learning_in_the_corporate_world
Games based learning_in_the_corporate_world
Kartic Vaidyanathan
 
Best practices for Accidental Instructional Designers @ Adobe Learning Summit...
Best practices for Accidental Instructional Designers @ Adobe Learning Summit...Best practices for Accidental Instructional Designers @ Adobe Learning Summit...
Best practices for Accidental Instructional Designers @ Adobe Learning Summit...
Cammy Bean
 
Ad

More from Pete Goodliffe (15)

Words in Code
Words in CodeWords in Code
Words in Code
Pete Goodliffe
 
Running Effective Worship Rehearsals
Running Effective Worship RehearsalsRunning Effective Worship Rehearsals
Running Effective Worship Rehearsals
Pete Goodliffe
 
Design Sins
Design SinsDesign Sins
Design Sins
Pete Goodliffe
 
Advanced iOS
Advanced iOSAdvanced iOS
Advanced iOS
Pete Goodliffe
 
Version Control Done Right
Version Control Done RightVersion Control Done Right
Version Control Done Right
Pete Goodliffe
 
Getting Into Git
Getting Into GitGetting Into Git
Getting Into Git
Pete Goodliffe
 
C++: The Cathedral and the Bizarre
C++: The Cathedral and the BizarreC++: The Cathedral and the Bizarre
C++: The Cathedral and the Bizarre
Pete 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 Things
Pete Goodliffe
 
Coping with Complexity
Coping with ComplexityCoping with Complexity
Coping with Complexity
Pete Goodliffe
 
Manyfestos
ManyfestosManyfestos
Manyfestos
Pete 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
 
Stood at the bottom of a mountain looking up
Stood at the bottom of a mountain looking upStood at the bottom of a mountain looking up
Stood at the bottom of a mountain looking up
Pete Goodliffe
 
iPhone development: A brief introduction
iPhone development: A brief introductioniPhone development: A brief introduction
iPhone development: A brief introduction
Pete 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 It
Pete Goodliffe
 
Running Effective Worship Rehearsals
Running Effective Worship RehearsalsRunning Effective Worship Rehearsals
Running Effective Worship Rehearsals
Pete Goodliffe
 
Version Control Done Right
Version Control Done RightVersion Control Done Right
Version Control Done Right
Pete Goodliffe
 
C++: The Cathedral and the Bizarre
C++: The Cathedral and the BizarreC++: The Cathedral and the Bizarre
C++: The Cathedral and the Bizarre
Pete 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 Things
Pete Goodliffe
 
Coping with Complexity
Coping with ComplexityCoping with Complexity
Coping with Complexity
Pete 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
 
Stood at the bottom of a mountain looking up
Stood at the bottom of a mountain looking upStood at the bottom of a mountain looking up
Stood at the bottom of a mountain looking up
Pete Goodliffe
 
iPhone development: A brief introduction
iPhone development: A brief introductioniPhone development: A brief introduction
iPhone development: A brief introduction
Pete 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 It
Pete Goodliffe
 

Recently uploaded (20)

UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 

Becoming a Better Programmer (2013)

  • 1. accu 2013 bristol, april becoming a better programmer PETE GOODLIFFE [email protected] @petegoodliffe
  • 3. @petegoodliffe [email protected] goodliffe.blogspot.com www.goodliffe.net PE TE G OODL PROGRAMME IFFE R / AUTHOR / COLUMN IST / TEACHER ★ CON SCIENTIOUS CODER
  • 5. you
  • 7. We all want to be better programmers, right? This entertaining session will help you to work out how. With the help of a number of special guests, we will provide a series of practical, simple methods to become a better programmer. We'll gain some real insights from respected developers. There will be plenty of hand-waving and jumping, a little philosophy, and some twists. Be the best programmer you can!
  • 8. We all want to be better programmers, right? This entertaining session will help you to work out how. With the help of a number of special guests, we will provide a series of practical, simple methods to become a better programmer. We'll gain some real insights from respected developers. There will be plenty of hand-waving and jumping, a little philosophy, and some twists. Be the best programmer you can!
  • 10. people & wrap up intro (set the scene) stuff (what have we learnt?) (exploring themes) you are here you leave entertained and educated
  • 13. ? what does it mean? better than what? how do we do it?
  • 15. yes
  • 16. yes
  • 17. yes!
  • 18. why?
  • 20. but why be better?
  • 21. financial build // rework // repurpose // maintain
  • 26. what does better look like?
  • 27. better than what? you are now // programmers around you // industry average
  • 28. super awesome you? liability
  • 29. super awesome you? liability
  • 30. super awesome skill b skill a skill c you? liability
  • 31. skills design attitudes communication technologies inter-personal politics techniques
  • 33. a long learning process
  • 35. FOUR THE LEVELS OF ★ INCOMPETENCE
  • 36. four levels of (in)competence compe tence Unc onscious in ten ce om pe us inc Co ns cio ce p eten co m en ce c io us p et Co ns c om io us n sc Un co
  • 37. THE DREYFUS MODEL SKILLS OF ACQUISITION
  • 39. expert proficient competent advanced beginner novice
  • 40. expert // authority, interlinked with other skills, intuition proficient // corrects previous errors, learn from others, interprets maxims has TACIT knowledge competent // mental model, plan routes, solves unknown problems advanced beginner // breaks from rules, gets stuck, can get answers, can’t filter novice // rule-centric
  • 41. super awesome liability where are you aiming? (competent is good)
  • 43. who do you want to be? (today)
  • 45. how do you get better?
  • 49. 10,000 expe rt 8,000 s ho w s p ot entia l 4,000 also- ran
  • 50. 10,000 = 10 years * 3 hours
  • 53. be mindful that you want to improve
  • 54. determine what’s important to you? work-required skills skills for your personal pleasure
  • 55. ? know where you are now
  • 56. ? know where you want to be
  • 57. work out how you’ll get there
  • 58. people & wrap up intro (set the scene) stuff (what have we learnt?) (exploring themes) you are now here
  • 60. ALL★ U? CAST Steve Love Chris Oldwood Frances Buontempo Anthony Williams Didier Verna Matt Turner Phil Nash Anna-Jayne Metcalfe Seb Rose Greg Law
  • 61. AS YOU LISTEN... U? does this apply to me which is most appropriate to a novice? which is most appropriate to a competent?
  • 62. matt turner become a manager! @mt_inside
  • 63. steve love automation @IAmSteveLove
  • 64. didier verna the music of programming @didierverna
  • 65. frances “dr love” buontempo good feedback @fbuontempo
  • 66. phil nash the art of balancing forces @phil_nash
  • 67. seb rose developing using examples deliberate practice talking to your testers @sebrose
  • 68. greg law realism // the motorbike rider <strangely behind the times>
  • 69. chris oldwood the social programmer @chrisoldwood
  • 70. anthony williams do things mindfully @a_williams
  • 71. anna-jayne metcalfe if it ain’t broken do fix it @annajayne
  • 72. U anyone else? things and stuff and stuff and things @audience//participation
  • 76. QA ★★★ & ★★★ Pete Goodliffe @petegoodliffe [email protected]
  • 78. BUMPH DULL, but important ★ THIS DOCUMENT WAS CREATED BY PETE GOODLIFFE IT IS COPYRIGHT // © 2013 PETE GOODLIFFE >> ALL RIGHTS RESERVED >> ALL THOUGHTS ARE OWNED >> IMAGE CREDITS FOLLOW THANK YOU FOR READING // I HOPE IT WAS USEFUL Version 1.0 2013-03-05
  • 79. IMAGE CREDITS ★ ENGAGED http://stockarch.com/images/abstract/concept/engaged-toilet-2776 ANNOYED http://www.sxc.hu/photo/1327383 CAR http://www.sxc.hu/photo/1351165 EXIT http://www.sxc.hu/photo/9237 TEETH http://www.morguefile.com/archive/display/46415 LABCOAT http://www.flickr.com/photos/cannongod/3749758602/sizes/z/in/photostream/ PEN http://www.sxc.hu/photo/1380083 BUS http://www.sxc.hu/photo/1363811 DILBERT http://www.dilbert.com/strips/comic/2013-03-21/ (used without permission) GUAGE http://www.sxc.hu/photo/1382510 TWIST http://www.sxc.hu/photo/1026751 SCIENTIST http://commons.wikimedia.org/wiki/File:Scientist.jpg HIPSTER http://hidari-pnk.deviantart.com/art/HIPSTER-347873661 POINTY-HAIRED BOSS http://en.wikipedia.org/wiki/File:Pointy-Haired_Boss.jpg THE FONZ http://thegoodgreatsby.com/2011/04/19/happy-birthday-apollo-fonzarelli/ WINE http://www.sxc.hu/photo/1337577 CHEESE http://www.sxc.hu/photo/750248 EWE http://www.sxc.hu/photo/1174028
  • 80. the dreyfus model ★ expert proficient competent advanced beginner novice
  • 81. novice have no k nowledge (yet) want results (fast) hav e no experience need rules can ’t judge rules
  • 82. a dvanced beginner s ome experience some learngieng explicit knowled can break free fro m rules a little will g et quickly stuck know where t o get answers c an't focus out ir relevant details
  • 83. competent menta l model made associa tions formed und erstand relative importance of aspects can approach unkno wn problems thi go s is od pla a ethodical routes into problems to be ce plans m
  • 84. proficient be yond competency understand big picture frustrated by n ovice simplifications can corr ect previous errors & re flect on experiences maxims focus on important issues tacit knowledge
  • 85. expert the pinnacle th ere are very few have authority interlink skills can teach others have intuition natura lly see an answer