Hmmm…where do I start? I guess I should explain who I am, what I plan to blog about, and why I’ve chosen to start blogging.
I’m a software developer from Ireland, working in Bracknell, UK, about 30 miles west of London. I’ve been living in the UK for about 9 years now, originally working on engineering applications in VB6 (yeah, I know!) and started working in C# in 2005. In my spare time, I enjoy jogging, having just recently done my 4th marathon. About 4 years ago, I was lucky to join a very experienced team that’s always had a keen interest on improving process and adopting best practices. We maintain an e-commerce site in ASP.NET and various back-end supporting services. The level of experience around me was quite intimidating at first – there’s nothing like feeling like the stupidest person on the team to spur you on to better things!
Over the years, the more I learnt, the more that feeling went away, and though I continued to learn and enjoy learning, to some degree I became a little complacent. Then recently, I went on JP Boodhoo’s Nothin’ But .NET course – it was a real eye-opener. It was incredibly frustrating to think about just how much more progress I could have made over the years had I been a bit more focused about my learning, setting more explicit targets, and made an effort to figure out how best to learn – I’m not sure how many books I’ve read that have ultimately made very little impact on my various programming skills. Frustrating as it was though, this course was a very positive experience – I, like everyone else on the course, was completely humbled by JP’s expertise and attitude, and really inspired to make quite a lot of changes to help me learn more quickly and effectively.
Off the back of that course, I’ve just read Andy Hunt’s Pragmatic Thinking and Learning. One of the many suggestions from this book was to start my own blog – so here we are.
I don’t think I had the confidence in years gone by to start a blog. Blogging seems like something that requires a lot of honesty about your own abilities (or lack of!), and the potential “feedback” I might get about my thoughts, ideas, grasp of various technologies, is something that I’m trying not to think about too much! All I can say is that I don’t claim to be an expert or anything near it; that this blog is, on one level, a very selfish endeavour to help me clarify my own thoughts on any given subject – but if I can help you understand something better as a result, all the better!
So, my plan to start with, to get into the swing of this blogging lark, is to work through the Project Euler code katas. My focus in these katas is to approach them from a Test Driven Design point of view, using NUnit and Rhino Mocks – while I’ve been writing unit tests coupled with Rhino Mocks on and off for a few years, I think I’ve only really taken unit testing seriously for approximately 6 months now. TDD, however, is something that I’ve known about for a long time but have never really been hugely comfortable with. Having already done the first Project Euler exercise, I know that even with the best intentions, my TDD approach seems to deteriorate / revert quite quickly into old habits, with tests ultimately being rewritten when forced to change signatures of systems under test. I expect these things just require practice – more on that in the posts to follow.
Regardless, I’ll be posting the finished solutions in GitHub here – see the CodeKatas solution. I expect I’ll be coming back to do some katas again – while I’m reasonably happy with the end result of my attempt at exercise 1, I want to do them again in pure TDD-style.
My blog post about my approach to Project Euler Exercise 1 should follow this post fairly shortly. After blogging about Project Euler, I hope to blog a bit about NUnit, Rhino Mocks, JQuery, Ajax, MVC. We’ll see what shiny new thing comes along after that.
Looking forward to hearing your comments!