by Richard | Oct 6, 2017 | Culture, Practical, War Stories
An easy mistake to make with Microservices is simply choosing to use them in the first place, when the context calls for a different solution. Microservices have become “trendy”, all the cool kids are using them, leading to what Thoughtworks call...
by Richard | Oct 5, 2017 | Practical
One of the challenges that face a team when they start thinking in terms of distributed systems – such as Microservices – is eventual consistency. We’re so used to writing software with transactions and ACID style consistency, that this can be un-nerving at...
by Richard | Sep 19, 2017 | Practical
Recently I was helping a client who had found an intermittent issue in their single-page application. This particular issue was that under some circumstances – which they weren’t able to describe, as it wasn’t any particular sequence of actions – the UI...
by Richard | Sep 3, 2017 | Culture, Practical
Building software is often a huge investment – and so it’s no surprise that quality is not something to take lightly! Traditional “Quality Control” focuses on catching bugs, and preventing defects, to manage the user’s experience of the...
by Richard | Jul 6, 2017 | Practical, Software Career
It is sometimes said that the developer mindset is to make stuff work, while the tester mindset is to make stuff break. In modern professional software development though, it is not OK to make testing or quality control “someone else’s problem”, and...
by Richard | Jun 30, 2017 | Planning & Estimating, Practical, War Stories
In modern software development, there are all kinds of exotic data storage options available to us – and many reasons why any of these might be good/bad for a certain context. However, there are some basic needs that all systems have, and one of these is that if...