Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo

1

accu 2013
                                                         bristol, april




becoming                                             a
better programmer




  PETE GOODLIFFE pete@goodliffe.net @petegoodliffe

2

Becoming a Better Programmer (2013)

3

@petegoodliffe
pete@goodliffe.net
goodliffe.blogspot.com
www.goodliffe.net




      PE TE G OODL
      PROGRAMME
                   IFFE
               R / AUTHOR / COLUMN IST / TEACHER ★ CON SCIENTIOUS CODER

4

Becoming a Better Programmer (2013)

5

you

6

this

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!

9

the plan

10

people &             wrap up
  intro
(set the scene)              stuff               (what have we
                                                   learnt?)
                           (exploring themes)




            you are here
                                                       you leave
                                                    entertained and
                                                       educated

11

Becoming a Better Programmer (2013)

12

becoming a
better programmer

13

?
what does it mean?
 better than what?
 how do we do it?

14

does it matter?

15

yes

16

yes

17

yes!

18

why?

19

Becoming a Better Programmer (2013)

20

but why be better?

21

financial
build // rework // repurpose // maintain

22

professionalism / craft

23

personal pride

24

Becoming a Better Programmer (2013)

25

Becoming a Better Programmer (2013)

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

32

Becoming a Better Programmer (2013)

33

a long learning process

34

useful models

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

38

Becoming a Better Programmer (2013)

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)

42

comparisons are dangerous

43

who do you want to be?
         (today)

44

Becoming a Better Programmer (2013)

45

how do you get better?

46

Becoming a Better Programmer (2013)

47

Becoming a Better Programmer (2013)

48

10,000

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

51

10,000 hours of what?

52

Becoming a Better Programmer (2013)

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

59

Becoming a Better Programmer (2013)

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

73

Becoming a Better Programmer (2013)

74

Becoming a Better Programmer (2013)

75

Becoming a Better Programmer (2013)

76

QA
                  ★★★




                    &
                  ★★★


Pete Goodliffe @petegoodliffe pete@goodliffe.net

77

@petegoodliffe
pete@goodliffe.net
goodliffe.blogspot.com
www.goodliffe.net

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

More Related Content

Becoming a Better Programmer (2013)

  • 1. accu 2013 bristol, april becoming a better programmer PETE GOODLIFFE pete@goodliffe.net @petegoodliffe
  • 3. @petegoodliffe pete@goodliffe.net 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 pete@goodliffe.net
  • 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