String kata in 20 minutes

Post on 16-Aug-2015

12 views 0 download

Tags:

Transcript of String kata in 20 minutes

String Kata

Brendon Page

How it made me a better developer

Me

twitter @brendonpaginate

blog http://geekswithblogs.com/brendonpage

Software Developer @ Chillisoft

Term Keeping

TDDKata

30 minutesevery

morning

Story

Start@

Chillisoft

Stringcalculator

kata 3 months

to get it<=

20 minutes

String Calculator Kata?

Codekata

Practice

working

incrementally

TDDcadence

Roy

Osherove

String Calculator Kata

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

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

Chillisoft RulesStrictTDD Intent

revealingnames

Smallmethodsno side effects

DRYcode

Nodebugger

!!!!

Nomouse

!!!!!

Assessment @

< 30 minutes

You’redoing itwrong!

This should be easy

Let’s do this thing

Oh noes this is hard!

First Attempt

Slow improvement

Slowly growing confidence

Light bulb moments

Bursts of improvement

Oh yea!

< 30 minutes

You’re doing it wrong!

First assessment

More improvement

Struggle to go from 30 -> 20

Oh yea!

< 20 minutes

Grrrr …

Okay now record it

Oh yea!

Recorded run in < 20 minutes

Fail

Refactored while under the red

Profit!

Perfect recorded run in < 20 minutes

How Many Times?

30

Well doneyou are now so damn awesome

at writing a string calculator!

I Know What You’re Thinking

But Consider

Keyboard

shortcuts

Tools & techniques

Nomouse

Time

limit

Made me

faster

Made me

faster

CustomSnippets

Resharper VIM

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

And …

Discussionwith

peers

Shared

experience

Assessment&

desperation

Requirement

I can bebetter

Everyoneelse

has done it

Helpedme gel

Motivatedme

Helpedme gel

Summary

Helpedme gel

Motivatedme

Made me

faster

I could stop now …

Mind-setof

continuousimprovement

Reduced cognitive

load

Sharedunderstanding

PatternString

katain 20

minutes

Do it everymorning

for 30minutes

How amI going toget this

under 20 minutes?

Take learning forward

Deliberate Practice Model

Pick a

target

Reach for target

Evaluate gap

between reach and

target

Start again

Super

Important

PDCA Cycle

Plan

Do

CheckAct

Why Deliberate Practice?

Myelin

Substance that

insulates neural

pathways Muscle memory

Insulated pathways are more effective

Why Deliberate Practice?

Skills are insulated

neural pathways

Myelin only grows around

pathways when they fire

And it grows slowly!!!

Fire!!!

Fire!!!

Fire!!!

How?

Learning to touch type

example

Apply the Model

Pick a

target

Reach for target

Evaluate gap

between reach and

target

Start again

First Attempt

Learn to

touch type

Facebook typing

speed test

:( 20 words per minuteStart again

This is not working

now what?????

Chunk it up

Second Attempt

Learn key

positions

Typing tutor

beginning lessons

:( 15 words per minuteStart again

Boo

Slower?????

Only letters

Don’t worry slow accurate repetition

is good.

Slow

Repeat it

Learn key

positions

:| 20 words per minuteStart again

Better

Typing tutor

beginning lessons

Repeat it more

Learn key

positions

:) 40 words per minuteStart again

w00t!

Easy

Typing tutor

beginning lessons

?????

Struggle

Try stay in the space just beyond your current abilities

Bigger chunksLearn

touch

typing

words

Typing tutor later lessons

:) X words per minuteStart again

Words then sentences

Remember

you might

slow down

at first

Choice

Haphazardly build skills while you

work

Choose the

skills you

build and

leverage while

you work

Summary

Become betterby deliberately developing the

skills you want

Thank you!Questions?