william byatt

Software development is a distributed, social enterprise. This is where I get to think about that.
Books against a backdrop of code

Deconstructing the Instruction-Data Dichotomy

Deconstructing the Instruction-Data Dichotomy In the software engineering discourse, a pervasive myth has long shaped our understanding of code and its relationship to data. This myth posits a clear, binary separation: code consists of instructions that operate on extrinsic data. It’s a comforting notion, one that neatly compartmentalizes the complexities of programming into active agents (code) and passive recipients (data). This dichotomy has become so ingrained in our collective consciousness that it often goes unquestioned, forming the bedrock of how we conceptualize, teach, and practice software development....

September 17, 2024
A banner image abstractly representing the intersectin of tech and finance

The Art of Technical Debt

The Art of Technical Debt: When to Embrace It, When to Refactor A specter is haunting software, the specter of technical debt. Read any discussion space where software engineers are present–Stack Overflow, the-website-formerly-known-as-Twitter, Mastodon–and you’ll see “technical debt” discussed in terms ranging from frustration to contempt. The more level-headed commentators will acknowledge that technical debt is an inevitability, but generally with a sense that it’s a manifestation of living in an imperfect world....

September 16, 2024
An observability-based hero image

Observability from the beginning

Observability From the Beginning Eventually, every piece of software we build and deploy in production generates some user experience that requires us to examine the state of our application as it’s running in production. Maybe when we first launch some system, we can wrap it up in a VM or a container and fling it into the world, but eventually we find that we need more detailed information about our application’s actual running conditions....

September 13, 2024
Pencils near a computer, drawing attention to the relationship between text and code

Code Review as Literary Criticism

Code review as literary criticism It’s 9:30 AM on a Tuesday and I’ve just sat at my desk with a cup of coffee. I open up Slack, and ping goes the notification bubble in my taskbar. I have a DM asking for a PR review. I open the PR, and as I settle in and open my mind to the text as it scrolls lazily past me, I am teleported. But for once, not to a land of bytes and abstract syntax trees....

September 10, 2024
A little boat in a digital sea. It's a Raft pun, get it?

The Raft Consensus

The Power of Simplicity: Why Raft Conquered Consensus The distributed systems world has witnessed a fascinating phenomenon: the rise of the Raft consensus algorithm. More than just gaining a foothold, Raft has become the de facto standard for new distributed applications that require consensus across stateful actions. From etcd, the backbone of Kubernetes, to Redpanda Data taking on the established Kafka, this simple algorithm is powering segment-defining systems. But what makes Raft so special?...

June 17, 2024
A person in an abstract landscape that represents the fast-paced change of modern AI

The Big Picture of AI

The Big Picture of AI: Why You Don’t Need to Know Every Detail In the whirlwind of current AI advancements, trying to keep up with every new change can be dizzying. But unless you’re an active researcher in the field, you really don’t need to. You just need to keep abreast of the aggregate, because that’s where the real story is for the rest of us. Large Language Models (LLMs) have created a paradigm shift in computing....

June 15, 2024