My impressions:
- I enjoyed getting to speak to Ward about wikis and the Wave
protocols; the importance of discernment (or an ability to appreciate
and articulate quality in code) before people can build better
systems; web-based code review (such as the open source Rietveld:
http://code.google.com/p/rietveld/ and Google's Mondrian:
http://www.youtube.com/watch?v=sMql3Di4Kgc ) as a form of pair
programming that leaves a history that others can learn from.
- I got a chance to meet lots of people that I either have never met
in real life (like Laurent Bossavit and Corey Haines) or don't get to
meet very often (like Dave Hoover and Fred George). Getting a large
portion of the community in one room was one of the biggest benefits
of this conference and I suspect the overlap with Agile 2009 played a
big part in that. I hope that next year's SCNA conference is also able
to do the same thing.
- It felt good to see people like Robert Martin and Michael Feathers
being surprised by how knowledgeable our little community is. They
both had sessions where they found out that we know more languages and
have a deeper appreciation of computer science than the average
developer. I had an enlightening conversation, with someone whose name
I've forgotten, about what it would be like to play Go on a sphere or
a torus and the equivalence between Hamming distance and Manhattan
distance for binary strings.
- I found once again that this community is composed of people who
like well-made artefacts. Many people seemed to be carrying iPhones,
MacBooks, moleskines and high quality pens.
- On a less pleasant note I was surprised by how few women attended
SCNA when compared to conferences like XPDay or even the Software
Craftsmanship conference organized by Jason. This conference also
seemed to have more people who self-identified as Ruby programmers
than the London conference and I hope that this had nothing to do
with the gender skew.
- I was terribly pleased to see Jim Weirich talking about connascence
and Meilir Page-Jones. Authors like Page-Jones, Riel (
http://bookshelved.org/cgi-bin/wiki.pl?ObjectOrientedDesignHeuristics
) and Bertrand Meyer are largely forgotten but their knowledge is
still valid even with today's languages. There were multiple
references to SICP and Michael Feathers managed to cover a large
amount of a self-taught comp-sci degree in 45 minutes. I think the
only thing he missed was the new edition of Cormen's algorithms book:
http://www.amazon.co.uk/gp/product/0262033844
There are a few changes I'd make for next year's SCNA. It should
either be a single track conference (there always seemed to be
something really interesting going on next door) or there should be
more time for people to exchange knowledge between sessions. This
might mean that SCNA should be over 2 days. I would also like to see
more room for feedback and adaptation during the conference. One
technique that the Python and Perl communities have been using for a
few years is to have the last afternoon of the conference consist
entirely of lightning talks.
Another idea would be to have a room set aside for people to pair
program. I would love to have watched Ward and someone like Fred
George pair program. Think how much we could all have learned by
spending some time coding with each other at SCNA.
I think the conference would also have benefited from keynotes by
relative outsiders such as McBreen and Sennett. If we're going to
advance the state of the craft then we have to find other communities
to learn from. For instance there's a fire house near the conference
hotel and I spent some time there asking them how they spread
knowledge about new techniques given that the stakes are so high. It
turns out that after every engagement they hold a retrospective; they
question everything; they constantly devise and evaluate new
techniques; they train each other in new techniques as well as seek
out opportunities to anticipate new situations such as new
architectural fashions; new techniques are proven at a local level
before being slowly disseminated and verified by other houses and
finally everybody is expected to be able to use every tool but they
accept that some people will always be better with certain tools.
Finally I'd like to thank all the people who put together this great
little conference. Your hard work is appreciated.
P.S.
I created a Flickr group for photos from SCNA and other Software
Craftsmanship related events:
http://www.flickr.com/groups/softwarecraftsmanship