I’m currently in London at DevWeek, and I thought it made sense to blog about it. Unfortunately these won’t go up until the weekend as the Wifi at the Hotel is £12.95 for a day! And my supposedly 3G phone is took over a minute to bring up Google.
So, I spent the first day at Neal Ford’s The Productive Programmer workshop. I’ve seen a few of Neal's talks before so a lot of it was repeated to me, but the content had been updated and Neal’s a good presented who manages to keep it interesting.
The first part of the talk was about maintaining focus while working, some simple things such as not having email open all the time, and turning off balloon tips. Personally I quite like balloon tips, I find them a quick way of getting information across without distracting too much. I think the real issue is Windows obsession with telling you about every little thing it wants to do. I don’t want Java updates, iPlayer Updates, Media Centre updates (I don’t even use Media Centre) etc, I just want to know when someone’s broken the build. Luckily Windows 7 allows you to filter them based on application, so I can have just the ones I need. That rant aside I find the constant interruptions of email, messenger, and meetings do cause a lack of focused which greatly slows down work.
The second part of the talk concentrated on avoiding unnecessary work, which included avoiding gold plating solutions and automating things whenever possible. Neal described automation as a holistic application of the DRY Principle. Which is an interesting idea. He also suggested that you should automate even when it may not seem cost affective, due to the “intellectual” assets that are gained from it.
After lunch (which was surprisingly good by the way) the workshop went on to talk about Test Driven Design. It started with a simple example of determining if a number is Perfect, which went on show the advantages of good design that come about from the use of TDD. I must say I didn’t like the example. It wasn’t really the way I normally go about TDD (not that I do that much of it) and I didn’t like some of the code produced. Maybe it’s because I’m a functional software guy at heart and didn’t like the use of ‘state’ to just perform a simple mathematical function. That not-withstanding the overall point of the section is still very valid, and something I’ve been wanting to implement for a while.
The final section of the workshop was a talk called “10 tips to improve your code”. I have seen this before, but it was nice to see it aimed more towards .net developers a this helped me understand the points a little more easily. The section “10 corporate bad smells” was a little depressing. I think we probably got 7/10, only really missing out on a perfect score because we don’t do web development. Certainly “We don’t have time to unit test were too busy debugging” is one of my personal bug bares.
All in all, a very good workshop, with plenty for me to take back and try to implement at work, and also in my daily life. Tomorrow is the key note, which I’m sure will be great, and the drinks tomorrow night are on Microsoft. Can’t be bad. :-)