SCNA 2011 Part 0: Introduction

Also posted at

Last week I had the opportunity to attend the Software Craftsmanship North America 2011 conference in Chicago, IL. I had a blast and I want to make a series of blog posts about my experiences. Since my attendance was very graciously sponsored by Stack Exchange, I will also try to link stuff I learned at the conference back to my “main” site – Programmers Stack Exchange.

I’ve been to two conferences so far: RallyON back in May and TechDays 2011 last month. I enjoyed RallyON, but I was largely in the company of project managers. TechDays was ostensibly of interest to developers, and I enjoyed some of the talks presented there, but the atmosphere was largely that of a sales conference and that made it difficult to connect with anybody. SCNA is the exact opposite from those experiences. It is a conference full of developers who actively want to be there. It’s amazing how much difference that makes.

The conference runs for two days and both days are pretty full of stuff to do. You’re on your own in the evenings, but I haven’t found that to be a problem — talking to a few people during the day more or less guarantees having company for dinner.

This year there were two tracks of talks with an unfortunate overlap between speakers. It wasn’t a problem for me for the most part, but I did have to leave a couple talks before they finished in order to get to the next one on time. There was also an “open space” room set up for hanging out, hacking on random things, and ad hoc pairing.

Despite the name, it wasn’t a traditional open space, well, space. Typically you’d see a board and some sticky notes for people to propose their own mini-sessions. This time, there were a few smaller groups getting together, but I found it difficult to figure out if there was anything special going on at a given time.

Many of the talks weren’t announced ahead of time, which made choosing ones to attend a bit odd. Still, a little mystery never hurt anyone, and I attended the following sessions:

  • The opening keynote by Corey Haines in which he talked about developers: where we came from, where we’re going, and whether or not we are about to repeat some of the mistakes of the past.
  • A demonstration of functional programming style by Michael Feathers.
  • An interesting look at the evolution of programming languages by Gary Bernhardt.
  • The apprenticeship panel that gathered several prominent developers and company owners to talk about why they take on apprentices and what they’re looking for when they do.
  • “Architecture: The Lost Years” by Robert “Uncle Bob” Martin.
  • A demonstration of the Roman Numerals kata in Ruby by Jim Weirich.
  • A discussion of parallels between learning and practicing a musical instrument vs practicing programming by David Chelimsky.
  • A critical look at software development education and propagation of popular methodologies by Zed Shaw.
  • The closing keynote by Chad Fowler in which he talked about the values held by passionate developers.

I’m going to aim to make a post every week or so to summarize and, where possible, interpret each of those talks along with some other stuff that I learned about at the conference that I think is pretty cool (Ruby Warrior!).

So, check back here periodically. I’ll do my best to update this post with links to future posts, but they shouldn’t be hard to find either way.


Achievement Unlocked: Stack Overflow Moderator

Back in February I decided to increase my Stack Overflow participation. Apparently what that turned into was a greater involvement in the Stack Exchange network in general over the past year and getting elected in the latest community moderator election on Stack Overflow.

I’m pretty excited about it. It’s pretty cool to be a moderator on two complementary sites. I’m looking forward to helping them both grow and become more awesome.