Yesterday was somewhat of a busy day – not only was it the fifth of the successful series of Developer Days at Microsoft, but we’d also got tickets for the equally successful Watercress Belle, the fine dining train that the Watercress Line preserved railway run on a number of Saturday evenings during the year.
The day didn’t have an overly great start. For some reason, I did something I never usually do, and despite driving a familiar route ended up heading onto the A329(M) going in the wrong direction! Not too much of a problem as I could just drive down to the next junction, go round the roundabout and back, but still a bit of a pain. Thankfully I’d left in good time, so still managed to get to Thames Valley Park without too much of a problem.
Looking through the list of sessions in advance, whereas at previous events when I’d had several sessions, usually at the same time that I really wanted to go to, this time around there were a number of spots where there was nothing I was massively enthusiastic about needing to go along to, as a result, my choices tended to have slightly different criteria. My first session choice was a good example. Whilst I was quite interested to learn about Mock Objects, Colin, the chap doing the presentation sat opposite us at the geek dinner following a previous Developer Day, and I thought I’d go along to support him too.
Although I understand that Colin had done his presentation previously, he’d been allocated one of the larger rooms, and with a full house he seemed understandably nervous. In the early stages of the presentation he did seem to flit about a bit in relation to his slides, and it took a while to answer the question I had, which was why I should consider using mock objects. Having said that, once we got to a few examples, it all started to make sense, and ultimately it was a useful and informative talk.
Moving on, I then went for something rather different, and attended the Guy Smith-Ferrier session giving tips on using Visual Studio 2005. Guy has been involved with the community for a long while, and I believe has spoken at every previous developer day. However I don’t think I’ve ever actually attended one of his sessions. Largely as expected, several of his tips were ones I knew about, however there was a goodly number of tips and tricks that told me something new. Guy’s experience was pretty apparent though, and he coped both with people in the audience correcting him, and, as is sometimes the case at these events a persistent good natured heckle from someone he knew sat down the front.
Session three was one of the points where I really didn’t know which session I was going to attend beforehand. Eventually I plumped for Alan Dean (who again we sat opposite at a previous Geek Dinner) giving a very interesting talk about Object Thinking.
The basis of the talk is a book from Microsoft Press, also called Object Thinking, the premise of which is that as software developers we have not properly understood the concepts of object orientation. Essentially what has happened is that traditional software developers have taken the concepts of of object orientation and then moulded them to be a lot closer to traditional programming than perhaps was intended. Certainly the example code that Alan showed us seemed rather radical, eschewing a lot of the perceived benefits of a language like C# – effectively reducing objects to a collection of generic fields. Refreshingly Alan was very careful not to try to â€œsellâ€? the concept, rather it was pitched very much from the point of view that this was a technique he found interesting and useful, and it is something that may be of benefit to us too. It has definitely made me keen to at least read the book, even if I don’t ever use the ideas.
Next up was lunch, and after my experiences previously, I managed to grab my lunch quickly, and secure a reasonable spot for the lunchtime Grok Talks. First up though, wasn’t a Grok Talk as such, but three students who had won through to the final stages of the Imagine Cup with a proposal called â€œMy First Programming Languageâ€?. The team are being mentored by a regular attendee at the Developer Days, so in preparation for their trip to the finals of the competition, he put the three of them in front of us to get our feedback both on the ideas, and on their presentation.
In terms of the presentation, the most annoying part of the presentation was that they kept swapping presenter – it was suggested that for clarity they should have a single lead presenter in the finals. In terms of the content, it was quite interesting I think for many of us, as it was attempting to address the fact that there is a shortage of properly trained software developers. One chap next to me seemed to think that was a good thing – more jobs and better pay for the rest of us, but it does highlight an interesting change. I like many of my contemporaries learnt to program as a child, with computers like the ZX Spectrum. However over time, including a programming language with a computer has fallen out of fashion, and alongside that, computer teaching at schools, which included some element of programming as I was going through has changed focus to become ICT, which is much more about training children to use software packages rather than to actually write software.
Their tool was aimed at relatively young children, in order to try and teach them the skills that are needed to program software. Having said that while the concept seemed good I’m wondering whether, as with situations where schools prefer children to use Microsoft Word rather than an ‘educational’ word processor, the same might apply to software development. Indeed you only need watch a young child who is able to work a mobile phone much better than an adult to realise that in most cases they can understand complex tools a lot better than adults.
After lunch I attended a session by Gary Short, another SSE escapee talking about using Agile methodology in both an enterprise, and software house environment. There were certainly moments in that presentation when he was talking about difficulties in an Enterprise environment when I could tell he was very much talking about problems I encountered in SSE – and he certainly gave some food for thought for implementing the ideas in a smaller scale environment.
Last up I attended Multi-threading Patterns, a presentation by Cristian Nicola. Cristian admitted from the start that he’d had to reduce a four hour presentation down to one hour. Since in order to get to the patterns – the bit I was interested in, he had to cover a lot of the basics of multi-threading, I found it a bit disappointing, as inevitably the patterns part of the presentation was the bit that got snipped significantly.
After the end of the Developer Day, whereas usually I’d be heading home, or maybe to the geek dinner this time we were off to Alresford near Winchester with some friends to enjoy a five course dinner on the Watercress Belle. The evening consists of two steam hauled round trips on the line whilst an army of volunteers serve a delicious meal cooked on the train, definitely recreating some of the feel of a luxury dining train of old. It’s not the only special train they had running last night – last night they also had the Real Ale Train which runs the other way on the line, starting at Alton to a similar timetable – an connecting with South West Trains for the journey home. The focus of these trains is somewhat different, being very much on the drink!
As on previous trips, the food on our train was excellent, and despite the rain we got a good view of the countryside on the first round trip, and then the really atmospheric final return trip stopping at dimly lit country stations before pulling into Alresford at the end of the trip. A great evening, and one we’re sure to repeat.