Changing platforms

I've sunsetted the free Azure site this blog used to live on and moved to dedicated hardware. In the process I've decided to move from to Ghost.

This may seem arbitrary but it reflects a lot where my journey as a software developer is leading. I'm done with debugging startup times at work, I don't want to do it on my personal site too. Containerised workloads built around open source products are becoming an established norm rather than a trendy outlier, and as a result my day job is becoming more Node than .net.

(As someone who lived through the era of FUD it's amazing to see the amount of effort Microsoft are putting in to catch up. It's a shame laggardly enterprise update efforts will limit the number of Docker-friendly Windows Server 2016 installs we see in the wild, although porting the core CLR to Linux is a reasonable compromise until it's more common.)

This may all sound like I've swallowed some Shoreditch Kool-Aid... but it's not. I've actually moved away from startups. The problems big enterprises have are larger, more focused on people and technology than just basic business sense, and while many of the day-to-day obstacles are maddening I feel like I can make more of a difference overall to the teams and the software. That's not to say I didn't have great fun doing startup stuff, but I've got to the point where I want to really test my skills at Agile transformation and architecture.

So if it's not Kool-Aid, what is it? It's really about abstracting away details and tight integrations to keep things conceptually simple: software that fits in your head. It's the end game of all these themes about keeping things simple, using well-understood technology, releasing at MVP and avoiding the temptation to over-engineer. You end up with a piece of software that can be explained to any technically competent person in the time it takes to make a cup of tea. Which when you're trying to share services across a thousand people rather than fifteen is an important attribute.