So its the day after DDD North and I'm more or less getting packed and ready to do the long boring travel bit home, which is really less travelling and more waiting around. Anyway DDD North was pretty special. Excellent turn out, great location and above all some great talks. My talk (refORM: Death to ORMs in .NET) had a technical problem with the projector which meant the live demo section I wove in since last weeks talk had to be abandoned, shit happens. It also went very fast, the talk was over in about 35 minutes but at least there was plenty of banter and questions - so at least the people seemed to be engaged. Enough about my woes. I'll have the slides and the (super secret) demo code available as soon as get back home.
So what about the rest of the talks?
Commercial Software Development - Writing Software Is Easy, Not Going Bust is the Hard Bit - Liam Westley
Liam took us through some of his personal experience of working in the industry as a sole(ish) trader. He highlighted some of the things that you should really be doing to ensure you aren't "wasting time" and raised a very valid point - every time you take a support call you are bleeding money. Makes sense but I initially rebelled against this premise. I had wrongly jumped to the conclusion that if you don't get support calls you don't need a support contract - which in hindsight is pretty stupid of me.
He also highlighted that if the phone does ring, or a support issue is raised then you need to make sure you have all the information at hand. Detailed logging of crucial areas of your system, automated emails or tweets when the system detects something is wrong and generally making sure you don't need to rely on the end user to tell you what has went wrong. Again makes perfect sense. Obviously writing good code that is well tested prior to release is another winner in this area.
In terms of releases he re-iterated the old "release early" mantra. You don't want to waste time writing features that no one is going to use and you aren't really going to know this until users have the product in their hands - the minimum viable product.
All in all a great session, nothing massively new for me here but I love hearing this stuff from people with real experience in it - it really helps solidify my beliefs in good code and early release.
"The Happy Programmer" - Is It a Myth? - Andy Gibson
Looking the various aspects of a developers life that determine if it is truly possible to have a "happy developer". A fair amount of audience participation looking at the best office type, the rationale for having the best hardware and all that other stuff.
Continuous Delivery - Paul Stack
Certainly the highlight of the day for me. Many people I work with believe that CD is a long way off for many projects but there was so much hard evidence at this talk that debunked this theory. If it can be scripted or automated in anyway it should be. This includes HTML, JS, CSS, and C# code analysis, unit tests, acceptance tests, environment configuration, document generation, Sharepoint config and setup (yep that to), VM rollout, DB upgrades and backups. Everything really.
A great example of this was a massive search engine in Norway that turned their 2 1/2 year release cycle into once every 4 hours. This wasn't some big massive leap, it was done by gradually shortening the release cycle and tightening up the processes bit by bit till they got there.
A good point was raised on this topic later in the evening - CI/CD scripts should be the very first thing you do on a project. Then you build them up gradually as and when you need to. No point in waiting till the end of the first release do this - it'll hurt way too much and never get done.
The 10 Habits of Highly Effective Programmers - Dennis Doomen
The last session, and after being up since 4AM I was wrecked. But you know what? Even with the tiredness and the heat of the room I remained engaged. Again a lot of the topics in this talk I was already very familiar with but it was great to get a different perspective and new techniques for achieving them. Also managed to increase my "To Read" list with a few books from this session. Nice way to finish off the day.
Through lunchtime there were a number of quick, informal grok talks. The one I want to mention was on "teaching your kids to code" and showed various tools/games like LightBot and SmallBasic - my son is still a tiny bit young for this sort of thing but he'll probably be forced to do some of this with me being his dad. I'd also have liked to have seen Scratch (from MIT) mentioned as this is a similar technology.
Overall the day was beyond my expectations - plenty of refreshments, goodies, decent food and great people. To be honest I really felt like a small fish presenting though - after seeing the other guys I felt my delivery was decidedly amateur. But hey thats why I am doing this - to get better. Looking forward to the next one! Thanks everyone.
Next up I have GOTOAmsterdam (this Wednesday). Funnily enough I need to find my passport ASAP as 2 minutes after jokingly saying "Wouldn't it be funny if I couldn't find my passport?" to my wife, well, you can probably guess what happened. So not only did I look like a dick in-front of my lovely wife I also managed to put my GOTO conf attendance in jeopardy - hell I really am a dick!