SlideShare a Scribd company logo
Teaching and Learning Software
Development
SoCraTes UK 2013
Who is this guy?
 Technical Lead at Granta Design
 Founder of Cambridge Software
Craftsmanship Community
 Get in touch!
 Twitter: @alastairs
 Email: alastair@alastairsmith.me.uk
 Find me in the bar 
Why do I want my team to learn?
 To continually improve our products and processes
 An improving team is an engaged team
 To be a part of a team sharing my motivations and drives
 To make my life (and theirs!) easier 
What motivates us to learn?
Why are you here?
Mastery
MasteryEngagementAutonomy
What is Mastery?
 Flow is essential to mastery
 Mastery is a mindset
 Mastery is painful
 Mastery is asymptotic
Mindful Learning
 Mindfulness vs. Mindlessness
 How does Mindlessness come about?
 Mindless vs. Mindful learning
Selective Attention
http://youtu.be/lHd_L7dg3U4
Three Myths About Learning
1. The basics should be learned so well that they become second nature
Learning the basics mindfully teaches you to adapt them
2. To pay attention to something, we should hold it still and focus on it
Varying the target of attention provides better recall
3. It is important to learn how to delay gratification
Anything described as “work” is less enjoyable
Learning at Granta Design
…and the journey I have taken with my team
The foundations for my efforts
 “Coffee Break” talks
 Knowledge sharing
 Education on new topics
 Occasional conference attendance (DevWeek)
Expanding the programme
 “Rebranded” Coffee Breaks
 Added Learning Lunches
 Introduced a regular programme
 Approached people directly for talks
Why do you give talks?
“I was asked to, and I thought it would be a good
way to get involved with the team.” “I see teaching as an act of altruism.”
“There’s nothing like doing a talk on a subject to make you
realise that you don’t yet understand it. If you can spot this
before you give the talk, you can refine your own
understanding of the subject.”
“It gives me an excuse to investigate interesting/new
ideas and technologies. I enjoy being able to impart
knowledge anyway, but in this case I enjoy learning
about stuff myself at least as much.”
“I was interested in the subject and
wanted other people to experience
the interest I had in the subject, or the
benefit I got from it.”
“I like learning new stuff and sharing
that with others.”
What do you enjoy talking about?
“F#, the SOLID principles, and what does good
code look like.”
“I think I mostly like talking about concrete
technologies rather than methodologies,
probably because that's what I'm interested in. I
find it harder to talk about things I am more
apathetic about.”
“Largely abstract stuff such as patterns, ideas,
architecture, code structure, code smells, object
orientated best practices etc.”
“I enjoy talking about things that I enjoy and am
passionate about.This can be technology, but is
also techniques, approaches, etc… I do also enjoy
the actual act of talking in front of a group about
something of which I am knowledgeable.”
Book Club
 Set amount of reading from the text
 Monthly discussion sessions
 Started with The Pragmatic
Programmer
VA(R)K Model
 Four styles of learning:
 Visual
 Auditory
 (Reading/Writing)
 Kinaesthetic
[the evidence supporting this model (and similar ones) is not conclusive!]
Why do people read?
“I love acquiring knowledge for its own sake.”
“I sometimes pick up books specifically for a
purpose, but nowadays I use the internet when I
need something.”
“I don’t usually feel I have time... Most of them
are just too big. Something like ‘The Clean Coder’
is about the right size, but you wouldn’t spot it on
the shelf next to most computing books. I think
there’s a conflict between writing something that
looks heavy enough to be worth selling, and
writing something concise.”
“I love books. I like learning, and the advantage
of a book is the ability to easily dip in and out. It
also provides a chance to get away from a
screen.”
“To learn new stuff, to make sure what I’m doing
is correct, to provide grounding for further
thoughts on improving our software.”
“I struggle to read books, partly because I find it
hard to find the time to, but also because I have
never been an avid reader and it takes a lot of
concentration to take in what I am reading.”
What do you enjoy reading?
“I read anything that catches my eye, but I think I
again prefer real-life usages of concrete
technologies, rather than people waffling on for
ages about their own opinion.”
“I read everything I can get my hands on.”
“Uncle Bob / Martin Fowler / Michael Feathers,
but I read more blogs than books lately.”
“things I enjoy and am passionate about. I
have occasionally bought a book because I
think it would be useful, but because I am
not really passionate about it found it
much harder to even pick up.”
Workshops
 Kinaesthetic learning style
 Started craftsmanship-style
workshops
 IntroducedTest-Driven Development
 Object Orientation
 Brutal Refactoring, Keyboard-Driven
Development, Introduction to F#
Resistance to Change
 Vocal resistance
 Passive participation
Company Culture
 Little autonomy over many aspects of
work
 Time pressure, no slack. 100%
utilisation
Revising our induction
 ExposeYour Ignorance, and Confront
Your Ignorance
 Introductions to our products
 Talks, workshops, pairing sessions
 “Buddy”
Four Stages of Competence
1.
Unconscious
Incompetence
2. Conscious
Incompetence
3. Conscious
Competence
4.
Unconscious
Competence
Four Stages of Competence
 Which stage of competence are you at with the following skills?
 Test-Driven Development
 Object-Oriented Programming
 Java / C# / Python / Ruby / JavaScript / Go
 Reading andWriting
 Playing the piano
 Pottery
 Photography
 … choose your own
Video training library
 Pluralsight subscription
 Visual andAuditory learning styles
Personal choice
 Technologies: frameworks, languages
 Techniques: unit testing, object orientation
 Paradigms: Functional Programming, Prototypical Object Orientation
 Practices: (A)TDD, BDD, Refactoring, Object-Oriented Design
Why do you use Pluralsight?
“I use it for mainly for introduction
to/development of topics I had no/little
knowledge of.”
“I prefer video courses as you can do something
else at the same time (eat dinner… play the
sousaphone...).”
“You can see work in progress. It's easier to
understand how/why people write the code etc.
they do when you can see them doing it instead
of trying to work it out from static content on a
page.”
“To learn new stuff, to make sure what I’m doing
is correct, to provide grounding for further
thoughts on improving our software.”
“I like Pluralsight because it is a very passive way
of absorbing information. I still find it hard to find
the time to watch as many as I would like, but do
enjoy watching them.”
How do you choose what to watch?
“I typically choose courses on subjects that I have
seen mentioned elsewhere but am not fully up to
speed on what they are.”
“I choose courses that are different and new,
rather than ones that look like they will be going
over the same kind of ground.”
“So far have only watched a few courses on web
stuff but intend to just have a dig through ‘what
looks interesting’ at some point.”
“Sometimes I choose a course about something I already know to
see if I can further my knowledge. Other times I choose a course
about something new (to me) to learn about it - even if I don’t
watch the whole course, the overview is useful.”
What I tried
 Expanded programme of talks
 Book Club
 Workshops
 Revised induction process
 Video subscriptions
Conclusion
 Try many different learning methods
 And don’t stop until something works
 Utilise mindful learning on your journey to mastery
 Culture is important
 Mastery requires engagement, engagement requires autonomy
Any Questions?
Thank you for listening!
These are Sousaphones
References
 Four Stages of Competence:Wikipedia
 List of Cognitive Biases:Wikipedia
 NLP Learning Styles:Wikipedia
 Mindful Learning, Ellen J. Langer
 http://www.thehawnfoundation.org/sites/default/files/Langer_Mindful%20Learning.pdf
 Apprenticeship Patterns, Adewale Oshineye & DaveThomas
 Amazon (priced £18.99)
 Drive:The SurprisingTruth AboutWhat Motivates Us, Daniel Pink
 Amazon (priced £6.99)

More Related Content

What's hot

The Accidental Instruction Librarian (December 2014)
The Accidental Instruction Librarian (December 2014)The Accidental Instruction Librarian (December 2014)
The Accidental Instruction Librarian (December 2014)
Kelly Woodside
 
Speaker Camp - Full Deck, June 2013
Speaker Camp - Full Deck, June 2013Speaker Camp - Full Deck, June 2013
Speaker Camp - Full Deck, June 2013
Russ U
 
Motivational Slides for Students
Motivational  Slides for  Students  Motivational  Slides for  Students
Motivational Slides for Students
Al-Syed Academy
 
Fla 2013 presentation
Fla 2013 presentationFla 2013 presentation
Fla 2013 presentation
Natalie Rector
 
How to write a proposal to speak at a conference? Hints & tips
How to write a proposal to speak at a conference? Hints & tipsHow to write a proposal to speak at a conference? Hints & tips
How to write a proposal to speak at a conference? Hints & tips
Rik Marselis
 
Plan and produce the information literacy tutorial @ your library! Palmer
Plan and produce the information literacy tutorial @ your library! PalmerPlan and produce the information literacy tutorial @ your library! Palmer
Plan and produce the information literacy tutorial @ your library! Palmer
IL Group (CILIP Information Literacy Group)
 

What's hot (6)

The Accidental Instruction Librarian (December 2014)
The Accidental Instruction Librarian (December 2014)The Accidental Instruction Librarian (December 2014)
The Accidental Instruction Librarian (December 2014)
 
Speaker Camp - Full Deck, June 2013
Speaker Camp - Full Deck, June 2013Speaker Camp - Full Deck, June 2013
Speaker Camp - Full Deck, June 2013
 
Motivational Slides for Students
Motivational  Slides for  Students  Motivational  Slides for  Students
Motivational Slides for Students
 
Fla 2013 presentation
Fla 2013 presentationFla 2013 presentation
Fla 2013 presentation
 
How to write a proposal to speak at a conference? Hints & tips
How to write a proposal to speak at a conference? Hints & tipsHow to write a proposal to speak at a conference? Hints & tips
How to write a proposal to speak at a conference? Hints & tips
 
Plan and produce the information literacy tutorial @ your library! Palmer
Plan and produce the information literacy tutorial @ your library! PalmerPlan and produce the information literacy tutorial @ your library! Palmer
Plan and produce the information literacy tutorial @ your library! Palmer
 

Similar to Teaching and Learning Software Development

Synthesis project activity 3
Synthesis project activity 3Synthesis project activity 3
Synthesis project activity 3maddiekay
 
Tips on ePortfolios by Dr. Tanya Martini
Tips on ePortfolios by Dr. Tanya MartiniTips on ePortfolios by Dr. Tanya Martini
Tips on ePortfolios by Dr. Tanya Martini
Cengage Higher Education Faculty Community
 
Engaging Student Leaders for Common Sense Digital Citizenship
Engaging Student Leaders for Common Sense Digital CitizenshipEngaging Student Leaders for Common Sense Digital Citizenship
Engaging Student Leaders for Common Sense Digital Citizenship
solomonsenrick
 
Itec presentation edit
Itec presentation editItec presentation edit
Itec presentation edit
Khanh Cao
 
Values Exchange and the Ethics Challenge
Values Exchange and the Ethics ChallengeValues Exchange and the Ethics Challenge
Values Exchange and the Ethics Challenge
University of Derby
 
Itec 299 #3
Itec 299 #3Itec 299 #3
Itec 299 #3
Carmen415
 
Itec presentation
Itec presentationItec presentation
Itec presentation
Khanh Cao
 
Final project 1.1
Final project 1.1Final project 1.1
Final project 1.1
Pia Marin
 
PBL for PLP ConnectU
PBL for PLP ConnectUPBL for PLP ConnectU
PBL for PLP ConnectU
Peter Skillen
 
Fiona's story
Fiona's storyFiona's story
Fiona's story
Fiona55
 
Doing Focus Groups
Doing Focus GroupsDoing Focus Groups
Doing Focus Groups
Mike Crabb
 
Itec synthesis mobile learning
Itec synthesis mobile learningItec synthesis mobile learning
Itec synthesis mobile learningKhanh Cao
 
Multimedia FInal
Multimedia FInalMultimedia FInal
Multimedia FInal
nelson_alexander
 
SXSW - Diving Deep: Best Practices For Interviewing Users
SXSW - Diving Deep: Best Practices For Interviewing UsersSXSW - Diving Deep: Best Practices For Interviewing Users
SXSW - Diving Deep: Best Practices For Interviewing Users
Steve Portigal
 
Why should I speak in Null meet?
Why should I speak in Null meet?Why should I speak in Null meet?
Why should I speak in Null meet?
Manas Deep
 
Synthesis questmobilelearning
Synthesis questmobilelearningSynthesis questmobilelearning
Synthesis questmobilelearningDaniel Cagley
 
Synthesis questmobilelearning
Synthesis questmobilelearningSynthesis questmobilelearning
Synthesis questmobilelearningDaniel Cagley
 
Accidental Trainer
Accidental TrainerAccidental Trainer
Accidental TrainerBrenda Hough
 
Synthesis for Multimedia Learning
Synthesis for Multimedia LearningSynthesis for Multimedia Learning
Synthesis for Multimedia Learning
JoCheung2
 

Similar to Teaching and Learning Software Development (20)

Project 3
Project 3Project 3
Project 3
 
Synthesis project activity 3
Synthesis project activity 3Synthesis project activity 3
Synthesis project activity 3
 
Tips on ePortfolios by Dr. Tanya Martini
Tips on ePortfolios by Dr. Tanya MartiniTips on ePortfolios by Dr. Tanya Martini
Tips on ePortfolios by Dr. Tanya Martini
 
Engaging Student Leaders for Common Sense Digital Citizenship
Engaging Student Leaders for Common Sense Digital CitizenshipEngaging Student Leaders for Common Sense Digital Citizenship
Engaging Student Leaders for Common Sense Digital Citizenship
 
Itec presentation edit
Itec presentation editItec presentation edit
Itec presentation edit
 
Values Exchange and the Ethics Challenge
Values Exchange and the Ethics ChallengeValues Exchange and the Ethics Challenge
Values Exchange and the Ethics Challenge
 
Itec 299 #3
Itec 299 #3Itec 299 #3
Itec 299 #3
 
Itec presentation
Itec presentationItec presentation
Itec presentation
 
Final project 1.1
Final project 1.1Final project 1.1
Final project 1.1
 
PBL for PLP ConnectU
PBL for PLP ConnectUPBL for PLP ConnectU
PBL for PLP ConnectU
 
Fiona's story
Fiona's storyFiona's story
Fiona's story
 
Doing Focus Groups
Doing Focus GroupsDoing Focus Groups
Doing Focus Groups
 
Itec synthesis mobile learning
Itec synthesis mobile learningItec synthesis mobile learning
Itec synthesis mobile learning
 
Multimedia FInal
Multimedia FInalMultimedia FInal
Multimedia FInal
 
SXSW - Diving Deep: Best Practices For Interviewing Users
SXSW - Diving Deep: Best Practices For Interviewing UsersSXSW - Diving Deep: Best Practices For Interviewing Users
SXSW - Diving Deep: Best Practices For Interviewing Users
 
Why should I speak in Null meet?
Why should I speak in Null meet?Why should I speak in Null meet?
Why should I speak in Null meet?
 
Synthesis questmobilelearning
Synthesis questmobilelearningSynthesis questmobilelearning
Synthesis questmobilelearning
 
Synthesis questmobilelearning
Synthesis questmobilelearningSynthesis questmobilelearning
Synthesis questmobilelearning
 
Accidental Trainer
Accidental TrainerAccidental Trainer
Accidental Trainer
 
Synthesis for Multimedia Learning
Synthesis for Multimedia LearningSynthesis for Multimedia Learning
Synthesis for Multimedia Learning
 

Recently uploaded

Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
EduSkills OECD
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
deeptiverma2406
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Atul Kumar Singh
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
SACHIN R KONDAGURI
 
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBCSTRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
kimdan468
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
Sandy Millin
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
Digital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion DesignsDigital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion Designs
chanes7
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
camakaiclarkmusic
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
Peter Windle
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
timhan337
 

Recently uploaded (20)

Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
 
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBCSTRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Digital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion DesignsDigital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion Designs
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
 

Teaching and Learning Software Development

  • 1. Teaching and Learning Software Development SoCraTes UK 2013
  • 2. Who is this guy?  Technical Lead at Granta Design  Founder of Cambridge Software Craftsmanship Community  Get in touch!  Twitter: @alastairs  Email: alastair@alastairsmith.me.uk  Find me in the bar 
  • 3. Why do I want my team to learn?  To continually improve our products and processes  An improving team is an engaged team  To be a part of a team sharing my motivations and drives  To make my life (and theirs!) easier 
  • 4. What motivates us to learn? Why are you here?
  • 6. What is Mastery?  Flow is essential to mastery  Mastery is a mindset  Mastery is painful  Mastery is asymptotic
  • 7. Mindful Learning  Mindfulness vs. Mindlessness  How does Mindlessness come about?  Mindless vs. Mindful learning
  • 9. Three Myths About Learning 1. The basics should be learned so well that they become second nature Learning the basics mindfully teaches you to adapt them 2. To pay attention to something, we should hold it still and focus on it Varying the target of attention provides better recall 3. It is important to learn how to delay gratification Anything described as “work” is less enjoyable
  • 10. Learning at Granta Design …and the journey I have taken with my team
  • 11. The foundations for my efforts  “Coffee Break” talks  Knowledge sharing  Education on new topics  Occasional conference attendance (DevWeek)
  • 12. Expanding the programme  “Rebranded” Coffee Breaks  Added Learning Lunches  Introduced a regular programme  Approached people directly for talks
  • 13. Why do you give talks? “I was asked to, and I thought it would be a good way to get involved with the team.” “I see teaching as an act of altruism.” “There’s nothing like doing a talk on a subject to make you realise that you don’t yet understand it. If you can spot this before you give the talk, you can refine your own understanding of the subject.” “It gives me an excuse to investigate interesting/new ideas and technologies. I enjoy being able to impart knowledge anyway, but in this case I enjoy learning about stuff myself at least as much.” “I was interested in the subject and wanted other people to experience the interest I had in the subject, or the benefit I got from it.” “I like learning new stuff and sharing that with others.”
  • 14. What do you enjoy talking about? “F#, the SOLID principles, and what does good code look like.” “I think I mostly like talking about concrete technologies rather than methodologies, probably because that's what I'm interested in. I find it harder to talk about things I am more apathetic about.” “Largely abstract stuff such as patterns, ideas, architecture, code structure, code smells, object orientated best practices etc.” “I enjoy talking about things that I enjoy and am passionate about.This can be technology, but is also techniques, approaches, etc… I do also enjoy the actual act of talking in front of a group about something of which I am knowledgeable.”
  • 15. Book Club  Set amount of reading from the text  Monthly discussion sessions  Started with The Pragmatic Programmer
  • 16. VA(R)K Model  Four styles of learning:  Visual  Auditory  (Reading/Writing)  Kinaesthetic [the evidence supporting this model (and similar ones) is not conclusive!]
  • 17. Why do people read? “I love acquiring knowledge for its own sake.” “I sometimes pick up books specifically for a purpose, but nowadays I use the internet when I need something.” “I don’t usually feel I have time... Most of them are just too big. Something like ‘The Clean Coder’ is about the right size, but you wouldn’t spot it on the shelf next to most computing books. I think there’s a conflict between writing something that looks heavy enough to be worth selling, and writing something concise.” “I love books. I like learning, and the advantage of a book is the ability to easily dip in and out. It also provides a chance to get away from a screen.” “To learn new stuff, to make sure what I’m doing is correct, to provide grounding for further thoughts on improving our software.” “I struggle to read books, partly because I find it hard to find the time to, but also because I have never been an avid reader and it takes a lot of concentration to take in what I am reading.”
  • 18. What do you enjoy reading? “I read anything that catches my eye, but I think I again prefer real-life usages of concrete technologies, rather than people waffling on for ages about their own opinion.” “I read everything I can get my hands on.” “Uncle Bob / Martin Fowler / Michael Feathers, but I read more blogs than books lately.” “things I enjoy and am passionate about. I have occasionally bought a book because I think it would be useful, but because I am not really passionate about it found it much harder to even pick up.”
  • 19. Workshops  Kinaesthetic learning style  Started craftsmanship-style workshops  IntroducedTest-Driven Development  Object Orientation  Brutal Refactoring, Keyboard-Driven Development, Introduction to F#
  • 20. Resistance to Change  Vocal resistance  Passive participation
  • 21. Company Culture  Little autonomy over many aspects of work  Time pressure, no slack. 100% utilisation
  • 22. Revising our induction  ExposeYour Ignorance, and Confront Your Ignorance  Introductions to our products  Talks, workshops, pairing sessions  “Buddy”
  • 23. Four Stages of Competence 1. Unconscious Incompetence 2. Conscious Incompetence 3. Conscious Competence 4. Unconscious Competence
  • 24. Four Stages of Competence  Which stage of competence are you at with the following skills?  Test-Driven Development  Object-Oriented Programming  Java / C# / Python / Ruby / JavaScript / Go  Reading andWriting  Playing the piano  Pottery  Photography  … choose your own
  • 25. Video training library  Pluralsight subscription  Visual andAuditory learning styles
  • 26. Personal choice  Technologies: frameworks, languages  Techniques: unit testing, object orientation  Paradigms: Functional Programming, Prototypical Object Orientation  Practices: (A)TDD, BDD, Refactoring, Object-Oriented Design
  • 27. Why do you use Pluralsight? “I use it for mainly for introduction to/development of topics I had no/little knowledge of.” “I prefer video courses as you can do something else at the same time (eat dinner… play the sousaphone...).” “You can see work in progress. It's easier to understand how/why people write the code etc. they do when you can see them doing it instead of trying to work it out from static content on a page.” “To learn new stuff, to make sure what I’m doing is correct, to provide grounding for further thoughts on improving our software.” “I like Pluralsight because it is a very passive way of absorbing information. I still find it hard to find the time to watch as many as I would like, but do enjoy watching them.”
  • 28. How do you choose what to watch? “I typically choose courses on subjects that I have seen mentioned elsewhere but am not fully up to speed on what they are.” “I choose courses that are different and new, rather than ones that look like they will be going over the same kind of ground.” “So far have only watched a few courses on web stuff but intend to just have a dig through ‘what looks interesting’ at some point.” “Sometimes I choose a course about something I already know to see if I can further my knowledge. Other times I choose a course about something new (to me) to learn about it - even if I don’t watch the whole course, the overview is useful.”
  • 29. What I tried  Expanded programme of talks  Book Club  Workshops  Revised induction process  Video subscriptions
  • 30. Conclusion  Try many different learning methods  And don’t stop until something works  Utilise mindful learning on your journey to mastery  Culture is important  Mastery requires engagement, engagement requires autonomy
  • 31. Any Questions? Thank you for listening!
  • 33. References  Four Stages of Competence:Wikipedia  List of Cognitive Biases:Wikipedia  NLP Learning Styles:Wikipedia  Mindful Learning, Ellen J. Langer  http://www.thehawnfoundation.org/sites/default/files/Langer_Mindful%20Learning.pdf  Apprenticeship Patterns, Adewale Oshineye & DaveThomas  Amazon (priced £18.99)  Drive:The SurprisingTruth AboutWhat Motivates Us, Daniel Pink  Amazon (priced £6.99)

Editor's Notes

  1. Improving: I will give an explanation in a moment why an improving team is necessarily an engaged team
  2. Where does mastery, and the desire to strive for it, come from?Autonomy is the behavioural opposite of control, giving people the freedom to choose what they do, how they do it, when they do it, and with whom. Where control seeks compliance, autonomy fosters engagement; engagement with the task, team and technique. Autonomous, engaged employees are happy employees, that are advocates for the team and organisation to which they belong.From that overall engagement comes a desire to get better at it: this is mastery.
  3. Some people seem to be innately engaged with their work, and this is related to “flow”. Flow, which is different frombeing “in the zone” is the feeling that solving the problem, participating in the experience, is its own reward.Mindset: fixed vs. growth views of intelligence. Fixed: like height. Growth: like strength. Without the Growth mindset, you cannot achieve (or even aspire to) Mastery. In the Growth mindset, exertion is positive, while in the fixed mindset working hard at a task means you’re not very good at it.Pain: mastery requires grit, perseverance, to achieve long-term goals. Mastery hurts; often it is little fun. Mastery requires effort. But flow can help: if you are conscious of what puts you in flow, there is clarity in where to focus your effort to master; and the moments of flow will help you through the rough parts.Asymptote: you can approach it, home in on it, get really really close to it, but you can never reach it. Why reach for something you can never attain? – Why not reach for it? The joy is in the pursuit more than the realisation (flow!).
  4. One route to mastery?Mindfulness: flexible state of mind, where we are actively engaged in the present, noticing new things and sensitive to context.Mindlessness: relying on distinctions drawn in the past, our behaviour is rule and routine governed. This blinds us to novel experiences.Mindlessness comes about through repetition and single exposure. E.g., travelling a familiar route can sometimes seem to be automatic; or, without questioning a piece of information when it is first received, we essentially make a commitment to a single way of understanding it.Most education is, unintentionally, mindless learning: facts are presented as closed packages, stripped of their context. Facts are not context-free, however: their meaning and usefulness depend on the situation. Who decides what perspective is represented and why? Ignoring perspective causes us to confuse the stability of our own mindset with the stability of the underlying phenomenon: things change and we are blind to that change. Consider the simple sum 1 + 1 = 2: is this always true? What about different number systems? Blu-Tak. Obi-Wan Kenobi: “What I told you was true … from a certain point of view”.
  5. Studies have shown that if we learn things mindfully upon first exposure to them, we will be able to use the information in creative ways in the future. In one 1997 study by Pietrasz & Langer, subjects were introduced to a new game and given the opportunity to practice. Those who were taught a new game mindfully were more likely to accommodate to small changes to the game’s environment (e.g. making the ball heavier). This gives lie to the idea that “practice makes perfect”.To successfully pay attention, people should hold the target of their attention still and focus on it, the way you would with a camera. This is the wrong instruction! The mind starts to wander, the image fades from view. Attending to an object mindfully – noticing its shape, its size, a fleck of dirt, a discolouration – makes it much easier to pay attention. In one study from 1995 by Bodner and Langer, subjects were asked to pay attention to a stimulus, or to notice new things about the stimulus. Those instructed to vary the target of attention displayed better performance, they remembered more about the stimulus, and they liked it more. Work and study are not negative, although we may make them appear to be. In a 1997 study by Langer, participants were asked to watch cartoons and evaluate how humorous they were. For those participants to whom the task was described as work, the cartoons were less enjoyable and their minds wandered more.
  6. These things were already in place when I started at Granta 3 years ago. It was worldsbetter than my previous employer!
  7. Common themes: a nascent interest in the subject, to improve understanding of the subject
  8. Common theme: we like talking about stuff we’re interested in!
  9. Why did it meet with mixed success? Not everyone learns well from books. Here’s one possible explanation why.
  10. Visual learners prefer to learn by seeing: think in images, use phrases such as “I see what you mean”Auditory learners prefer to learn by listening: think in words, use phrases such as “I hear you”Reading/Writing: an extension of the model that splits this form of learning out as distinct from auditory learning. (Reading and writing are processed by the same parts of the brain that process auditory information.)Kinaesthetic learners prefer to learn by doing: experiments, active exploration, etc.
  11. Common theme: to learn new stuff. But some people don’t read. That’s fine: maybe it doesn’t suit their learning styles, or it’s harder to make time for it.
  12. No real common theme, other than we have some voracious readers in our team!
  13. The next thing I introduced inadvertently introduced a new style of learningFrequently attending LSCC sessions. Ran a day introducing TDD. Mixed reactions to the content, particularly from one guy. How to deal with those people?
  14. Vocal resistance: arguments from some experienced devs with loud voices in the retrospective sessions.Don’t see the point, don’t get it. Depending on personality type, can sometimes be addressed by letting people try it out for themselves elsewhereTried it, understood it, didn’t like it.“Who’s wrong?”Passive participation: people not engaging with the content of the workshop. By making attendance mandatory, autonomy in deciding to attend was removed.
  15. Without autonomy, there is no engagement. Without engagement, there is no desire to improve. Without a desire to improve, learning is simply another demand on our already-constrained time.What occasional slack time we do get is encumbered slack: we need to show something for the time otherwise it wasn’t worth doing. The thing I keep hearing is “it’s too easy not to do learning activities”.
  16. Three main software products, one of which is a suite of smaller tools. A number of data products. A good induction should provide an overview of the company’s activities and how they fit together.I give a talk on opportunities for continuous learning: blog and book suggestions, details of local user groups, details of conferences, etc.Workshop on GitTalks on Dependency Injection, SOLID principles, common GoF design patterns. Paired kata exercises to introduce/practice/improve TDD. Buddy helps the new hire get set up, find their way around our code base, etc. Pair program where possible. Trying to introduce mentoring to this relationship, with little success.Why do we do this? Expose Your Ignorance and Confront Your Ignorance
  17. [BEFORE REVEAL]Who has heard of these? [Ok, well I’ll go through them quickly.]Unconscious incompetenceThe individual does not understand or know how to do something and does not necessarily recognize the deficit. They may deny the usefulness of the skill. The individual must recognise their own incompetence, and the value of the new skill, before moving on to the next stage. The length of time an individual spends in this stage depends on the strength of the stimulus to learn.Conscious incompetenceThough the individual does not understand or know how to do something, he or she does recognize the deficit, as well as the value of a new skill in addressing the deficit. The making of mistakes can be integral to the learning process at this stage.Conscious competenceThe individual understands or knows how to do something.Demonstrating the skill or knowledge requires concentration. It may be broken down into steps, and there is heavy conscious involvement in executing the new skill.
Unconscious competenceThe individual has had so much practice with a skill that it has become "second nature" and can be performed easily. As a result, the skill can be performed while executing another task. The individual may be able to teach it to others, depending upon how and when it was learned.
  18. Common themes: introduction, bite-size, asynchronous
  19. Common themes: introduction to a new topic to cover a gap in knowledge or address a particular need.
  20. Utilise mindful learning: introduce topics in a conditional way, challenge the context inherent in mindless information.Consume information in a way that touches on a number of learning modes. Consume the same information from different sources to address different learning styles.Company culture is important: your team must be given sufficient autonomy to be fully engaged with their work before you can reasonably expect people to want to improve.
  21. The Sousaphone is a bass brass instrument closely related to the Tuba, widely employed in marching bands. It is designed to fit around the body of the player, supported by the left shoulder. It is named after John Philip Sousa, bandmaster and composer (Liberty Bell, The Stars and Stripes Forever) who popularised its use in his band.