Expand Your Normal

I went for beers with a couple of coworkers today and a question came up that I get a lot.  What’s the point of a kata?  That’s an answer for you to come up with for yourself, but I’ll let you in on my secret obsession: I want to expand my normal.

TL;DR

I have an insatiable thirst for new information.  It can be quite frustrating and, at times, debilitating.  The neat thing about new information, is it changes what you consider normal.  Common sense is a bunch of crap.  Using a fork is common sense… until you move to India.  We should all move to India (or vice versa) for a while.

Not to long ago someone described an art course in which many of the lessons included drawing 50 different types of circles or straight lines.  I imagine around 10 or 20 you start struggling a wee bit.  I was reminded of this while reading Zach Holman’s Slide Design for Developers.  He writes:

I took one design class in college. One of the most fascinating assignments they gave us was a study of shape: you get one letter, in one typeface… do something with it. The idea was that the severe limitation forced you to be creative with duplication, rotation, scale, alignment, and whitespace.

Katas give us a silly background story like Triangle Classification, Roman Numerals, or Harry Potter, but those aren’t the point.  The point is not making the next test pass.  In fact, don’t write any tests next time.  They’re getting in your way.  Pick some other area that you feel comfortable in and come up with a constraint outside your Normal so that when you’re done you’ve moved normal a little bit.

  • Seth Petry-Johnson

    I often forget how much just participating in community (conferences, twitter, blogs like this) moves “normal” for me, and that developers without those experiences might not share my worldview. 

    I’ve been trying to help a client in the DC area hire a senior developer or architect. Its amazing (shocking?) to me how these candidates, who are intelligent and experienced in many ways but not involved in the dev community, are getting by with the tools, techniques and processes that I now take as a given.I guess my point is, don’t take for granted that everyone else has the same “normal” that you do. Everyone is on their own trajectory and its a lot easier to communicate effectively when we’re mindful of that! 

    • http://twitter.com/cromwellryan Ryan Cromwell

      Agreed.  Acknowledging that everyone is where they are and that the opportunity we have is to create a discussion dynamic in which we both end up in a better place is far more effective.  And fun.