Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create deliberate_practice.md #36

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions _learning_hours/small_steps/deliberate_practice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
theme: small_steps
title: Deliberate Practice
name: deliberate_practice
kata: fizz_buzz
difficulty: 1
author: virtualmackem
---

# Deliberate Practice

It's easy to get caught up in the solution to the problem when practising a coding kata. This can mean that you're hurrying to the end, or that you waste time arguing about aspects of the kata that aren't relevant to this practice, or even that you take shortcuts (e.g. "Lets skip that test, it'll take ages and we're nearly done"). It's also possible to find people who find it difficult to engage in practice because they don't see the value in it.

This learning hour focuses minds on the why of doing practice before actually doing a simple TDD practice.

## Learning Objectives

* Why we practise
* The difference between learning knowledge and practising skills

## Session Outline

* 10 min connect: The results of practise
* 5 min concept: Design in TDD - in the red step
* 40 min do: FizzBuzz or something else
* 5 min reflect: How did we do?

### Connect - The results of practise

Watch some of this [video of an elite climber](https://www.youtube.com/watch?v=dEzTMwXfVro).

* Which parts of what she's doing does she have to think about and which are automatic?
* How hard is she working?
* Does she look hurried?
* How do you think she learned to climb like this?

### Concept: The what and the why of deliberate practice
Deliberate practice is not the same as real work. When we're practising, we're not trying to get the job done, we're trying to learn. We usually select a simpler problem to learn with. We might be repeating a problem we've done before. Sometimes we know exactly what we're trying to learn, like how to refactor a database with data in it, but sometimes we're just writing code, trying stuff out, exercising the muscles.

There are two parts to our learning: knowledge we acquire and skills we practise. It's possible to know we need to triangulate when we're unsure how to make a test pass, but at the same time not be very good at it for lack of practice.

### Do: Coding Practice
Spend 40 mins doing a coding kata. Perhaps you have something in mind to practise? If you do, write that down as your focus.

While you're working on the kata, take your time and try to stay with the focus you've written down. If you find this difficult, maybe you could make a note to check in with everyone every time you rotate?

If you don't know what to practise, work through the [FizzBuzz kata](/kata_descriptions/fizzbuzz.html) using this focus: "which parts of red-green-refactor could be easier and faster for us with practice?"

### Reflect: how did we do?
Questions everyone might ask:
* How easy was it to keep focusing on the learning and not just on the problem?
* What can we do next time to help keep us focused on the right thing?

If you did the FizzBuzz kata, focusing on red-green-refactor:
* Can you identify something you could practise to make it more automatic?
* Can you identify something that should always be done thoughtfully?