So what’s this all about then?

After another group of people expressed surprise that I had no real online presence I have decided to actually put something up. I’m not the sort of guy who can write a blog with no real purpose, the day to day flotsam of what I bought at the supermarket and my favorite cake recipes (raspberry and vanilla cheesecake btw) so I have decided to write something useful.

I am a software developer by trade and I notice quite frequently that this job title covers a broad range of skills and ability. When I left university I thought I was a fairly good programmer, my experience in the real world taught me that this was naive at best. There were concepts taught to me that I never saw the point of “that recursion is dangerous stuff I’ll never need to use that”, “what’s the point of an interface? surely an abstract class is exactly the same thing”.

The problem is that the sort of coding people tend to do at university and at home is very much “fire-and-forget” code. You don’t need to support this code in the long run, you don’t need to fix bugs or add features and so there are programming concepts you simply never see as important. My first series of posts are going to be on the concepts you will need to go from being a competent coder to being a true application developer. This doesn’t just mean posts on programming techniques but also posts on dealing with projects and people.

I’m not saying that everything I write here is the “correct” way, some of what you read here will outright disagree with articles you read in other places. These posts are just things I have found to be true and work for me.