Today was the fourth Microsoft hosted Developer Day, held at the Microsoft UK HQ at Thames Valley Park in Reading. As previously I’d been signed up to go pretty well since it became available, and as with previous events it did not disappoint.
As with the previous events I’d been through the online agenda in advance, selecting the sessions I thought looked interesting, and as before, the sessions I actually attended turned out to be rather different!
My first session was ‘How to Write Crap Code in C#’ presented by Ben Lamb. The slides for the session are online, together with some of Ben’s previous sessions. In terms of the content, he was somewhat preaching to the converted in my case, as on a couple of occasions I’ve had to sort out performance in bits of code. In the case of this talk Ben took a simple task – to count the occurrences of particular words in the complete works of Shakespeare (oddly enough almost the same task as my current employer got me to do at my interview for the programming test), and demonstrated a multitude of different ways for doing it wrong. Amusingly for one example, despite writing it really badly, on some occasions it didn’t make much difference, however when he got to strings, that was when he really hit the big time in terms of speed, indeed he actually had to partially optimise the example so it completed within the allocated time for the session. The fundamental problem is that .Net is really bad with strings, as they are immutable – complicated string manipulation should be done with a string builder object instead. Unfortunately many programmers who cross over to .Net don’t realise this and carry on using strings as they have done in other languages…
In terms of the delivery, I thought that Ben seemed decidedly nervous – but then I’m sure I would be when faced with 160 people! Unfortunately he also made the classic mistake of not running through your entire presentation before doing it, as he would on the day, which when coupled with his decision not to use his regular (and cluttered) account on his laptop meant that part of his demonstration didn’t work correctly. He also had the other presentation nightmare, running out of material. Having said that, he did seem pretty knowledgeable, so I suspect it may well be a case of the classic not enough time to pull it together issue…
Anyway, for session 2, I popped into the next door room for ‘Ruby on Rails for .Net Developers’, presented by Dave Verwer. I particularly wanted to see this session, as Ruby on Rails is one of the hyped up technologies about in the industry at the moment, and I wanted to see what all the fuss was about. As you may have gathered, Ruby on Rails is the competition for Microsoft, so it was an interesting choice of session. In a double whammy, I spotted as Dave walked into the room, that unlike the other speakers, he wasn’t using the PC/Powerpoint combo either, he had a nice Mac laptop, and was using Keynote for the slides. For the demos he was using my favourite Mac text editor Textmate too. However, in a bit of a poor demonstration, he succeeded in crashing the Mac completely on one occasion, and having it lock up on him on another – quite impressive, but for the wrong reasons. Interestingly he also task swapped using the Mac equivalent of ALT-Tab which I found surprising – I tend to hit F9 and use the slick Expose effect instead.
Putting aside the method of presentation, in terms of content, it was very interesting. I can certainly see where the Ruby on Rails reputation for being magic comes from, but ultimately that comes from working the way the framework expects you to work. Whereas other environments try to be as flexible as possible, Ruby on Rails seems very prescriptive about how it would like you to do things, and I suspect the magic will very soon wear thin if you tried to do things slightly differently. Having said that, I think it’s perfectly possible that somebody could take the same principle and apply it to other languages and environments. It’s very nicely done, and certainly powerful, but most definitely hyped.
Session 3 was a somewhat difficult choice as all four sessions seemed attractive, plus Barry was doing one of the four, and Sarah was doing another. In the end, I went with Dave to hear Sarah talking about blogs and blogging, and Dan, a colleague from work checked out and was impressed by what Barry said. Sarah was another person hit by technical difficulties. At one point she had four different laptops on the desk trying to find one that the Microsoft network would allow to connect to the internet – something that was a key part of the talk. Ironically by the time they managed to get a laptop that could connect, she didn’t use the internet anyway. Impressively through all of that Sarah kept her cool, and delivered a great session, certainly covering the basics of the various collaborative technologies that are around, and more importantly giving real world examples of how her employers are using the technology to get their disparate programming teams on opposite sides of the world to work together.
Following session 3 was lunch, which at an extended ninety minutes, I was worried was going to be pretty boring. Having said that the organisers had arranged a selection of mini talks and discussions to fill the time, ironically none of which I actually listened too! In the end I used the time to mingle a bit, chatting to various people, and in the end finishing up in an interesting discussion with Liam Westley who develops software used by shopping channels like QVC.
For session 4 I’d highlighted two technical sessions to attend, and went to neither, choosing instead Richard Costall and Dave McMahon, shamelessly ripping off Crackerjack, playing Double or Drop with the vast selection of swag that they brought back from TechED in Barcelona. Although they maintained that there was no technical content to the session, that was a slight bit of a fib, as the questions were all based around a series of video interviews they had conducted with key industry figures during TechED. Although it wasn’t the sort of deep technical content that a lot of other sessions contained, it was certainly interesting, and as always with their sessions, great entertainment. Perhaps the only criticism I’d make is that it would have been better if they had made use of the embedding feature in Powerpoint to make the whole presentation a lot more slick by embedding the video interviews into the presentation with the questions. Using the presenter view in Powerpoint they could also have removed the need for the other document they had that listed the prizes, and certainly the need to have a switch box and multiple laptops. Unlike many of the presenters who were swapping back and forth for demonstrations, their presentation was an ideal use for the presenter view, and would have been much the better for it.
Before session number 5, we had a brief talk from the Edward Gibson, Microsoft Security chief and ex-FBI man. I have to say that whilst what he was saying was fairly interesting, and certainly important, the whole ex-FBI routine which involved standing on the top of the arena area outside the building in ray bans (it was decidedly grey and overcast today) and bellowing in our direction probably left most people with a fairly poor impression of the guy and his attitude (which is about as polite as I could phrase it), and ultimately detracted from the message. Certainly for the kind of audience at the day it was pitched in totally the wrong way, and Microsoft really need to do something different for this kind of audience.
By session number 5, my brain had largely switched off. Unfortunately I was in Extensible LINQing presented by Oliver Sturm, which seemed like a very interesting topic – ultimately one I think I’m going to have to check out the notes when they are posted. Sadly this is the second Developer Day on the trot when Oliver has been handed this last slot, and really something like the Costall and McMahon show might have been better at this point.
So was it worthwhile going? Most definitely, and I’ll certainly be keen to get my name down for DDD5. There definitely needs to be a bit of work in making sure things work – one colleague commented that he thinks that Memphis (the conference room at Microsoft rather than the city) was cursed as he’d never seen a session at a Developer day in there that worked! To my mind you’re always going to get some things that don’t work on the day, it’s inevitable with some of the stuff that is being demonstrated, but certainly there are ways to mitigate the risk…