Coding dojo

Post on 15-May-2015

600 views 2 download

Tags:

description

Coding Dojo presentation used at Ruby Hacknight Montreal in December 2013, sponsored by iWeb

Transcript of Coding dojo

December 10th 2013

Coding Dojo

Ruby Hacknight

● Rafael Rosa - Cloud evangelist at iWeb

○ rrosa@iweb.com / @rafaelrosafu

● Hosting provider based in Montreal

● Operating since 1996

● 10.000+ clients from around the world

● 4 data centers spread around the island

○ tens of thousands of servers in Montreal

● Infrastructure focus

○ Cloud servers

○ Dedicated servers

○ Smart servers

○ Managed servers

○ Colocation

● Acquired by Internap in October 2013

Who am I?

What a heck is a coding dojo?

Why is it useful?

How often do we train our coding skills?

Are we ready for a real combat?

Deliberate Practice

Source: http://commons.wikimedia.org/wiki/File:Aikido_training_02.jpg

Deliberate Practice

● Introduced to the programming

community by Andrew Hunt and Dave

Thomas on "The Pragmatic Programmer" in

2009

● Being aware of what your coding

○ Don't "program by coincidence"

○ Understand why things work or don't

● Practice makes it easier

How do we do it?

Using the heart of XP

Source: http://epf.eclipse.org/wikis/xp/xp/guidances/concepts/xp_practices_36E149F4.html

Baby steps

Source: http://holycuteness.com/wp-content/uploads/2012/03/Kitten-takes-her-first-steps-Imgur.jpg

Quick randori guide

● Gather a bunch of nice coders

○ Free pizza and beverages help a lot

● Pick a challenge / puzzle

○ Ruby Quiz has 150+ options

○ Explain the puzzle (this part is tricky)

● Prepare the environment

○ rspec + autotest for automated tests

○ Pick a simple text editor, like Sublime

● Pair random people

○ Coding cycles of 5 to 7 minutes

○ Replace driver, pick a new co-pilot from audience

● Make a quick retrospective

○ What can we improve next time?

TDD cycle - Red, Green, Refactor

Source: http://blog.spec-india.com/spec-india-implemented-test-driven-developmenttdd

Pre-conditions

● Safe environment

○ Respect everybody

○ There are no dumb questions

○ Making mistakes is part of the process

○ Constructive criticism is welcome

○ Everybody helps each other

● Desire to improve your craft

Goals

● The main goal is to learn

● Finishing the challenge is a detail

● It should be fun!

● It isn't a competition

● It isn't an exhibition

Resources

● http://codingdojo.org/● http://rubyquiz.com/● http://pragprog.com/book/ebdojo - The

Coding Dojo Handbook

We're hiring!

http://carrieres.iweb.com/en

Questions

Merci à tous

rrosa@iweb.com / @rafaelrosafu

www.iweb.com

@iweb