Bigger is not Better!

An observation I’ve made while working with various teams is that there are a relatively small number of things that separate the men from the boys (so to speak). My experience tells me that knowledge of technologies, frameworks, languages and so on is not a big...

The cost of messaging between systems

When building a distributed system, you need a way of communicating between the components or services, and this is often a message bus. Message buses come in different forms, but ultimately use the same paradigms – commands and events. One of the earlier distributed...

Making games for children with Autism

A couple of weeks back my wife found details of a hackathon event, organized with a local school who work with children with Autism. Luckily I was able to take part – despite the language barrier (I’m slowly learning…) – and it was great fun and a very rewarding...

Breadwinner Code

Every developer at some point in their career has encountered “Legacy Code” – and the phrase usually implies negative connotations. There are usually reasons for this – Legacy Code is normally code that is hard to maintain, perhaps code that has grown...

Accidentally destroyed Production database…

There’s been an article on Reddit recently that I’ve seen via a couple of sources now. The post is a bit of a horror story; a junior developer on his first day of his first job was given an instruction manual on how to set up his machine, and ended up...