Saturday, November 6, 2010

At SCNA: Part 4

This is the last post in a multi-part series about the Software Craftsmanship North America conference in Chicago.

Combinator-based design in functional programming: Michael Feathers

I'll be honest - I didn't really pick up a central theme on this one.  It was interesting and I took some ideas from it, but I can't really summarize it well..

My take-aways:
  • We have a settled idea of OO, but not yet one of functional programming - the "best practices" are still evolving.
  • Haskell is a good functional language to learn with - it forces you to be functional.
  • Duplicating objects at runtime is no longer evil.  Duplicating code still is.
  • OO increases encapsulation and understandability.  Functional increases immutability and reduces the number of moving parts.

Panel Discussion: Bob Martin, Michael Feathers, Chad Fowler and Enrique Comba Riepenhausen

This was my favorite session of the conference.  Instead of my interpretation of what the presenter was trying to say, here are my favorite quotes from the session, grouped by theme.

On the image we project as developers 
"We are not a bunch of twinkie-eating guys who don't are about their customers.  We are professionals.  That perception is what has to change."
 - Bob Martin

"Programming shouldn't be a 'lifestyle choice', particularly when you reinforce negative 'nerd' stereotypes."
 - Chad Fowler

On the "craftsmanship" movement
"We don't have to evangelize.  What we're doing is enough.  It does not have to include all developers."
 - Chad Fowler

"...but we should welcome everyone who wants to come."
 - Enrique Comba Riepenhausen

On practicing software development
"Coding is relaxing.  When I wake up in the middle of the night and sit down to code, it's refreshing."
 - Michael Feathers

"...I try to practice four hours per day.  Doing that is refreshing."
 - Enrique Comba Riepenhausen

"I don't do anything I have to do after 5:00 PM.  Only things I want to do."
 - Bob Martin

Wrap-up: Corey Haines

In a lot of ways, this conference is Corey's baby.  He is (as far as I know) the driving force behind the "craftsmanship movement".   (Credit where credit is due: Uncle Bob Martin's cohorts were the organizers of the event, and they did a great job.)

Corey's talk  can be summed up by his own words: "What will allow us to take over the world?"

My take-aways:
  • Happiness is what sets craftsman apart from non-craftsman.  if you're not happy, figure out why not & change that.
  • "Division and negativity are what will keeps us from total world domination."
  • Stay positive about yourself, your work and your craft.  Above all, stop bitching about other developers and our customers.  More civility is needed, and we can all contribute to that!

 Great stuff.  I can't wait for next year.