Unit tests should form part of your documentation

Introduction As developers, we generally fall short on documentation. We know we should do it, but when deadlines loom they're often the first thing to go. Even when we do manage to document our system fully, subsequent updates are often not added in full. What does this mean? How will…

An introduction to higher order functions in JavaScript

The problem When programming for the web, a big part of what we do is marshalling data around our systems. We transform it in places to shape this data in ways that are compatible with both our user interface components and data storage structures. When transforming data, developers will often…

Making asynchronous code look synchronous in JavaScript

Why go asynchronous Asynchronous programming is a great paradigm which offers a key benefit over its synchronous counterpart - non blocking I/O within a single threaded environment. This is achieved by allowing I/O operations such as network requests and reading files from disk to run outside of the…

Microservices make hotfixes easier

tl;dr Microservices can ease the pain of deploying hotfixes to live due to the small and bounded context of each service. Setting the scene For the sake of this post, imagine that your system at work is written and deployed as a monolith. Now, picture the following situation: stakeholder…

Leading a team to deliver an MVP at breakneck speed

tl;dr We were given the task of delivering an MVP within a short timeframe. We chose a microservice based architecture, allowing concurrent development of functionality. We adopted the popular MERN stack, unifying the language across the system. Working closely with the customer and stakeholders was key to delivering what…