Hi there. I’m Abdullah, a software engineer working in London. This is my blog.

Why “Castles in Sand” you ask?

When I was a kid I loved making sandcastles. Hours and hours spent in the sand, carefully crafting towers, walls, flowing moats and secret labyrinths. It was delicate work; a slip of the hand could collapse a spire, or worse, crumble a supporting beam and bring the whole structure down.

The sun would eventually set, and I would have to wave goodbye to my beloved creation. I knew it wouldn’t last. I hoped the next kid who visited the sandpit would admire my handiwork, perhaps play with it. Inevitably it would be flattened and reused, sand amongst sand, the only remnant a blurry photograph on my parents’ camera.

It’s hard to make castles in sand - even harder to keep them alive. Software is much the same. Code, free flowing like sand, is easy to string together. But it’s fragile too. The bigger and more elaborate the systems, the more catastrophic potential failure can be.

And all too often, the work we do as software developers feels ephemeral1. In today’s fast-moving world, businesses are spun out of thin air only for a wave, crashing suddenly, to wipe them out.

To succeed, it takes a special kind of grit. It takes experience; and a bottomless, ever-shifting pile of knowledge.

This blog is an exploration. How do I build castles in the sand?

  1. Michael Lee’s write up on ephemeral software puts it well.