DDD South West 3
It’s 11.30, I’ve got work in the morning, I’m knackered and I’m still sitting in front of a computer having just tried out some things that I picked up at DDD South West over the weekend. That’s the effect that participating in the DDD community can do to you. It recharges those tech/geek batteries and for a few hours or a few days programming feels a little like it did when I was 15.
If there’s a downside to being a speaker it’s that the preparation for speaking sucks up a lot of time (at least it does if you need to prepare like I do). So things slide by un-researched or not studied properly. Having spoken at DDD Scotland last month and now DDD South West, with two different sessions, I’ve been heavily focused on DDD for about 4 months, while things I’d like to look at more closely like Threading and Rx for example haven’t gotten the attention they deserve.
The flip-side of this little faustian pact is that when I get to DDD I make up for lost time either in sessions or more often in the informal chats and demos (un-sessions as Paul Stack calls them) that spring up around the conference itself.
As usual on the day I didn’t get to see many of the other sessions. In fact I only saw Colin Mackay’s session on Parrallellization (I, like Colin hope I spelled that right, probably didn’t, but don’t really care.).
My latest project leans heavily on Threading but uses the older syntax. I haven’t had a chance to really look at the new (not so new any more) threading syntax, so this was a session I didn’t want to miss. It didn’t disappoint.
Within a few minutes of flopping into the recliner after the long trip home the laptop was open, and I was trying out some of the stuff Colin had shown us. I’m really blown away. I had touched briefly on the issue of Testing Threaded code in my TDD session and this is an area that I’m going to be spending a lot of time on over the next year or two.
I reworked my sample code using the new syntax and not only did the intent of the code become clearer, I removed all of the locks I was using (probably incorrectly) and at the same time removed an intermittent race condition bug that was in the code.
Apart from Colin’s session the only others that I attended were my own. I was on deck twice thanks to my TDD talk getting voted onto the repeat track. In a quirk of scheduling I presented on the Repeat Track before I presented in my originally scheduled spot.
The repeat track was presented in quite a small room. It got the day off to a nice start to be presenting to a full room, we had to turn a few people away and ask them to come to the main session later in the day.
The main session was in the Track 1 room, which is a pretty big room. That also felt pretty full, which suggests that there’s a real appetite for TDD, which is odd because in many ways things have moved beyond TDD and the focus has switched to BDD and so on. I wonder if the opinion shapers in the industry have perhaps gotten bored of something and moved on just when the mass of developers are only just catching up and really getting interested. I think I might try and stick to my philosophy of speaking about out of date topics and see of there continues to be a market for it.
I did have a slight fear that a TDD session could end in tears (if not mine then someone elses). At an event like DDD there’s a strong chance that the audience will include a significant number of people who fall into one of the following categories.
1. People who know more about TDD than I do, but come along for a look.
2. People who hold diametrically opposed views to mine, regardless of my views.
3. People who haven’t really gotten into TDD but have already been turned off by the hype.
It can be hard to include anything in such a session that will see any of these people come away with anything of use.
I’m sure there were some in the audience who got very little from the session, there always will be and I hope they left feedback so I can include some things for them, but I was delighted to receive some very kind commends from a number of people who I really didn’t expect to have benefited from the session.
Funnily enough I speak at these conferences in the hopes that I’ll energize a few developers to try out things like TDD, and I come away energized myself. Strange how that works.
The un-sessions were as always brilliant. An informal demo of TeamCity by Paul Stack addressed a few issues I’ve been having, and I got to show him my favourite simple trick – the miracle of creating a text file with a UDL extension and then double clicking on the icon.
A few people approached me with questions and suggestions about my session which I’m going to incorporate before I release the slides and code.
At the Geek Dinner on Saturday night I had endless fascinating conversations, from a chat about recruitment with Tim Gaunt who’s responsible for the brilliant http://borninthebarn.co.uk/ to picking Colin Mackay’s brain a little further on threading, to the usual round table moaning about how you can never have enough monitors to the best ways of encouraging community participation and on and on.
Retiring to the pub led to a fantastic chat with Graeme Foster about where technology will be in our kids lifetimes, and their kids lifetimes, to where we’ve come from (ZX81s and the BBC Micro). We talked for hours and never got around to talking about the thing we met up to talk about – Domain Driven Design.
From pub back to hotel and an oddly circle of chairs let to a long discussion on topics as wide ranging as The Rapture and Creationism, 80’s Rock Legends and how to impersonate them, Restaurants with strange bathrooms, Oldest, Youngest and most interesting birthdays, and most famous namesakes, Sci-Fi TV shows, various attempts at Pun inspired humour that resulted in threats of physical violence, all leading to an analysis of the lyrics of the Spitting Image Chicken Song with particular emphasis on the best order in which to accomplish the tasks outlined in said song.
The party broke about after 1am, and I went back to the room pondering the notion of an 8am for a taxi to the airport.
This morning (Sunday) as I slinked down to the lobby with a few minutes to spare before the Taxi arrived, I found a handful of DDD’ers getting through breakfast.
If you are not already part of this Community then sort that out at DDD North in Sunderland on October 8th. If you’re a software developer and you are not participating in some way in the wider development community, you really are missing all the best bits.
Thanks to everyone who grafted to make DDD South West go smoothly. I hope to be back in Bristol this time next year with an even better session.