24
Develop Yourself Kata, Kumite & Randori

Develop yourself

Embed Size (px)

Citation preview

Page 1: Develop yourself

Develop Yourself

Kata, Kumite & Randori

Page 2: Develop yourself

Who am I?

● Susi Moog● 50% Neusta / 50% TYPO3 Inc.

● Coaching / Teaching Devs● Scrum Master● Dev-”Mom”

Page 3: Develop yourself

What Makes a good Musician?Knows music theory

Knows how his instrument works

Some talent and creativity

And…

Training, Training, Training

Page 4: Develop yourself

What Makes a good Athlete?Fitness

Predisposition

Some talent

And…

Training, Training, Training

Page 5: Develop yourself

...And Develope

rs?

Page 6: Develop yourself

The Typical DevTrained by an apprenticeship or from university

… or not trained in IT at all

Lots of theoretical knowledge

Expected to solve highly complex problems“Training” is done on the job

Page 7: Develop yourself

Software Development?Creative Process

… and a craft

Page 8: Develop yourself

Software craftsmanship?No entry barriers

“Bad code works, too”

No unified tools

There is no “right way”

Page 9: Develop yourself

Manifest For Software CraftsManshipKnow your tools

Editor

Keyboard

Language

Libraries

Patterns

Creativity

http://manifesto.softwarecraftsmanship.org/#/en

Page 10: Develop yourself

Your Editor / IDELearn shortcuts

Customize it!

Look for plugins

Extension of your limbs

Take time to learn it

Page 11: Develop yourself

Editor SummaryUsing your editor should be like a reflex

Needs to be trained

Go your way

Page 12: Develop yourself

Training

Page 13: Develop yourself

Training - Kata, Kumite, RandoriConcept from martial arts

Automate motions

Repeat, Repeat, Repeat

Secure Space to Practice

Kata = only you

Kumite = you and a partner

Randori = group of people / team

Page 14: Develop yourself

What’s A Kata?Simple problem

Time Box

Start from scratch - every time!

Kickstarter on github (php, C#, JavaScript)

Page 15: Develop yourself

Kata WorkflowRemove distractions

Open your IDE

Start the counter

Start to code

TDD style: red, green, refactor

Stop after time is up

Recap

Delete code

Page 16: Develop yourself

Kumite | Randori WorkflowEither “come green - go green” or

“come red - go red”

Smallest possible step to get the test green

So e.g.

Person A: red Test, green Test, Refactor

Person B: red Test, green Test, Refactor

After every cycle switch person

For 1 hour not more than 5 people

Only the current pair talks

Recap with group at the end

Page 17: Develop yourself

Kata - Critics Every day the same - that’s boring / not helpful

Do it differently every day

Variations

Use specific patterns

No mouse

SOLID principles

… your own

Don’t forget the recap

It’s training!

Page 18: Develop yourself

Kata Exampleshttps://projecteuler.net/

http://www.codewars.com/ -> https://www.codewars.com/kata/heavy-metal-umlauts/train/php

Page 19: Develop yourself

OMG! Live

Coding!

Page 20: Develop yourself

Code Reviews

Pair Program

ming

Page 21: Develop yourself

Code Reviews / Pair ProgrammingGreat way to learn

Be open to critique

Find the right partner

Trust

Honesty

Skill Level

Sympathy

Page 22: Develop yourself

SummaryConsciously train your skills

Refactor (or throw away) frequently

Adhere to YAGNI

Evaluate and recapitulate your work

Achieve Greatness!

Page 23: Develop yourself

Links; Further Readinghttp://youtu.be/2mhjxp1SdKY?t=3m43s (Rowan Merewood - Building Better Developers)

codekata.comcodingdojo.orgkatas.softwarecraftsmanship.orgpaulwpagel/codekatahttp://blog.codinghorror.com/the-ultimate-code-kata/Credit for the basic presentation goes to @djbasster

Page 24: Develop yourself

Thank You