String kata in 20 minutes
-
Upload
brendonpage -
Category
Software
-
view
12 -
download
0
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?