Architecture Snippets #2: Event Sourcing

This is the second post in the Architecture Snippets series. These posts aim to get developers up-to-speed quickly with software architecture patterns and principles. It’s time to talk about Event Sourcing. What is Event Sourcing? Event Sourcing is simple to understand once you start thinking about application state in terms of events. Application state is usually stored in a… Read More »

Architecture Snippets #1: CQRS

This is the first in a series of posts I’ll be doing about software architecture. In my experience, knowledge of architectural patterns is the missing ingredient from most developers’ recipe books. As developers, we’re encouraged not to design up-front. We’re told to let design ’emerge’ through bottom-up development methodologies. This can be misleading. Proponents of agile development often… Read More »

Running Visual Studio for Windows on a Mac

As a Mac user who does a lot of Microsoft development, I sometimes need to use the Windows version of Visual Studio. Yes, I have Visual Studio for Mac installed but it’s not as feature rich as the Windows version. Also, after spending many years working with the Windows version, Visual Studio for Mac can seem a bit… Read More »

Going Serverless with Microsoft Azure

Last night I gave a talk at the Warwickshire Microsoft Azure Meetup. Thanks to everyone that came along! Serverless computing means we can build apps fast without worrying about infrastructure or scaling. I believe it’s going to play a big part over the next couple of years, especially when companies start realising how much money they can save!… Read More »

7 Reasons to Go Serverless

Developers are building production-ready applications faster than ever. Businesses are getting products and services to market at record speed and cost. And they’re doing it by going serverless. To begin with, let’s clear one thing up. Serverless architectures still require servers. It’s just that developers don’t have to think about those servers or the process of scaling them. All… Read More »

Mind the Agile Gap

In case you hadn’t noticed, agile is everywhere now. Companies of all shapes and sizes are embracing the agile way. Iterative development, emergent design, time-boxed delivery and self-organised teams are no longer just the buzzwords of software houses and the startup world. Large enterprises also want a slice of the agile pie. Who wouldn’t want faster delivery, higher… Read More »

Why Size Matters to Software Developers

In software development, small is a big deal. The idea of ‘keeping things small’ crops up in every area of software development. Small means simple and simple usually means less bugs. Small projects are easier to manage than large ones. Nobody should start to undertake a large project. You start with a small trivial project, and you should… Read More »

Why Developers Should Be Investors

Learning a new skill is a great investment, especially when you work as a developer. When you learn a new technology you create an asset that can be sold to employers or clients. But this doesn’t mean you should learn as many technologies as you can. Technology skills vary in their value depending on market supply and demand.… Read More »

What’s the Point of Full Stack Developers?

Front and back-end developers are a valuable and essential part of an established development team. But going ‘all in’ on the front or back-end isn’t for everyone. Being a Full Stack Developer is a specialism in itself and not just in terms of having a specialist tech stack. To understand why consider a couple of examples. As a… Read More »