Software Engineering

88 articles · all categories

21 articles from 2024 · show all

December 2024

Atoms, molecules, organisms

Here it is: 20+ years of programming experience distilled into 378 words. From the book I'm writing.

Smart core, thin interfaces

Here's an approach to writing code that I've been using for years and couldn't quite put into words until now. One of those _"This feels wrong but I can't explain why"_. Now I can!

Empirical evidence for code modularity

Few of your engineering decisions matter long-term. Software is soft. You can change your mind. But how you structure your components is here to stay.

November 2024

Why even care about code structure

As long as it works, right?

The anatomy of a React Island

A coworker asked how React Islands work and I realized it's a technique I've been using to modernize monolithic web codebases for years, but never wrote down how it works.

Finding modules in a big ball of mud

Pulling modules out of a big ball of mud is like grabbing a slice of cheesy pizza. It's kinda separate but also not really.

Why you need observability more than tests

Here's a short and sweet story about a Friday deploy. I love Friday deploys.

Big Ball of Mud – the world's most popular software architecture

Forget Gang of Four, here are the 7 architectural patterns real programmers use:

Why software only moves forward

At scale there are no rollbacks and no cut-overs. Your software only moves forward.

October 2024

Make mistakes easy to fix

You can't prevent bugs. You'll burn out. Instead focus on making them quick to fix.

September 2024

The Laws of Software Evolution

Manny Lehman was one of the first to notice that software is never done. It just continues to evolve forever.

Better is good

A small improvement that lands is better than a large improvement stuck in review

How big up-front design fails

A long design phase without shipping kills many software projects. Here's a story from production I haven't shared before.

August 2024

Let small fires burn

You can't fix everything. Focus on the next big thing and let the small fires burn.

Small change in big scary codebase?

Making small changes in large unfamiliar codebases is the job. That's what engineers do all day.

Why SQL is Forever followup

Yes SQL is super flexible. That is its strenght and its weakness

July 2024

Why SQL is Forever

Never underestimate the power of good marketing for bad products. NoSQL was fun but SQL is here to stay.

90% of performance is data access patterns

Removing a single line of code slashed database CPU usage by 66% 🤘

April 2024

43 years of the actor model

The actor model is now part of everyday tooling and ensures concurrency safety. Understanding the principles behind it helps you write less buggy code.

From trivial to complex – 4 software quadrants

You can classify software projects into 4 quadrants from trivial to complex

March 2024

Architecture is like a path in the woods

You're doing too much. Sit back, relax, see how people *want* to use the code. THEN build the abstraction.