String kata in 20 minutes

44
String Kata Brendon Page How it made me a better developer

Transcript of String kata in 20 minutes

Page 1: String kata in 20 minutes

String Kata

Brendon Page

How it made me a better developer

Page 2: String kata in 20 minutes

Me

twitter @brendonpaginate

blog http://geekswithblogs.com/brendonpage

Software Developer @ Chillisoft

Page 3: String kata in 20 minutes

Term Keeping

TDDKata

Page 4: String kata in 20 minutes

30 minutesevery

morning

Story

Start@

Chillisoft

Stringcalculator

kata 3 months

to get it<=

20 minutes

Page 5: String kata in 20 minutes

String Calculator Kata?

Codekata

Practice

working

incrementally

TDDcadence

Roy

Osherove

Page 6: String kata in 20 minutes

String Calculator Kata

Step 1“” 0“1” 1“1,2” 3

//[***][%%]\n1***2%%3 6Step 9

Page 7: String kata in 20 minutes

Chillisoft RulesStrictTDD Intent

revealingnames

Smallmethodsno side effects

DRYcode

Nodebugger

!!!!

Nomouse

!!!!!

Assessment @

< 30 minutes

You’redoing itwrong!

Page 8: String kata in 20 minutes
Page 9: String kata in 20 minutes

This should be easy

Let’s do this thing

Page 10: String kata in 20 minutes

Oh noes this is hard!

First Attempt

Page 11: String kata in 20 minutes

Slow improvement

Slowly growing confidence

Page 12: String kata in 20 minutes

Light bulb moments

Bursts of improvement

Page 13: String kata in 20 minutes

Oh yea!

< 30 minutes

Page 14: String kata in 20 minutes

You’re doing it wrong!

First assessment

Page 15: String kata in 20 minutes

More improvement

Struggle to go from 30 -> 20

Page 16: String kata in 20 minutes

Oh yea!

< 20 minutes

Page 17: String kata in 20 minutes

Grrrr …

Okay now record it

Page 18: String kata in 20 minutes

Oh yea!

Recorded run in < 20 minutes

Page 19: String kata in 20 minutes

Fail

Refactored while under the red

Page 20: String kata in 20 minutes

Profit!

Perfect recorded run in < 20 minutes

Page 21: String kata in 20 minutes

How Many Times?

30

Page 22: String kata in 20 minutes

Well doneyou are now so damn awesome

at writing a string calculator!

I Know What You’re Thinking

Page 23: String kata in 20 minutes

But Consider

Keyboard

shortcuts

Tools & techniques

Nomouse

Time

limit

Made me

faster

Made me

faster

CustomSnippets

Resharper VIM

Page 24: String kata in 20 minutes

And …

Maintainableunit

tests

Meaningful

failuresfor

unit tests

TDDcadence(red, green, REFACTOR!!)

Assessment&

time limit

Nodebugger

Assessment&

time limit

Made me

faster

Made me

faster

Made me

faster

Page 25: String kata in 20 minutes

And …

Discussionwith

peers

Shared

experience

Assessment&

desperation

Requirement

I can bebetter

Everyoneelse

has done it

Helpedme gel

Motivatedme

Helpedme gel

Page 26: String kata in 20 minutes

Summary

Helpedme gel

Motivatedme

Made me

faster

I could stop now …

Mind-setof

continuousimprovement

Reduced cognitive

load

Sharedunderstanding

Page 27: String kata in 20 minutes

PatternString

katain 20

minutes

Do it everymorning

for 30minutes

How amI going toget this

under 20 minutes?

Take learning forward

Page 28: String kata in 20 minutes

Deliberate Practice Model

Pick a

target

Reach for target

Evaluate gap

between reach and

target

Start again

Super

Important

Page 29: String kata in 20 minutes

PDCA Cycle

Plan

Do

CheckAct

Page 30: String kata in 20 minutes

Why Deliberate Practice?

Myelin

Substance that

insulates neural

pathways Muscle memory

Insulated pathways are more effective

Page 31: String kata in 20 minutes

Why Deliberate Practice?

Skills are insulated

neural pathways

Myelin only grows around

pathways when they fire

And it grows slowly!!!

Fire!!!

Fire!!!

Fire!!!

Page 32: String kata in 20 minutes

How?

Learning to touch type

example

Page 33: String kata in 20 minutes

Apply the Model

Pick a

target

Reach for target

Evaluate gap

between reach and

target

Start again

Page 34: String kata in 20 minutes

First Attempt

Learn to

touch type

Facebook typing

speed test

:( 20 words per minuteStart again

This is not working

now what?????

Page 35: String kata in 20 minutes

Chunk it up

Page 36: String kata in 20 minutes

Second Attempt

Learn key

positions

Typing tutor

beginning lessons

:( 15 words per minuteStart again

Boo

Slower?????

Only letters

Page 37: String kata in 20 minutes

Don’t worry slow accurate repetition

is good.

Slow

Page 38: String kata in 20 minutes

Repeat it

Learn key

positions

:| 20 words per minuteStart again

Better

Typing tutor

beginning lessons

Page 39: String kata in 20 minutes

Repeat it more

Learn key

positions

:) 40 words per minuteStart again

w00t!

Easy

Typing tutor

beginning lessons

?????

Page 40: String kata in 20 minutes

Struggle

Try stay in the space just beyond your current abilities

Page 41: String kata in 20 minutes

Bigger chunksLearn

touch

typing

words

Typing tutor later lessons

:) X words per minuteStart again

Words then sentences

Remember

you might

slow down

at first

Page 42: String kata in 20 minutes

Choice

Haphazardly build skills while you

work

Choose the

skills you

build and

leverage while

you work

Page 43: String kata in 20 minutes

Summary

Become betterby deliberately developing the

skills you want

Page 44: String kata in 20 minutes

Thank you!Questions?