Seeking Opportunities
Contact Me

Architecture Articles

System design is inherently about boundaries (what's in, what's out, what spans, what moves between), and about tradeoffs. It reshapes what's outside, just as it shapes what's inside.

Good Boundaries Make Good Systems

In this article we will focus on the implications of taking autonomy as our North Star in module design. What are the practical implications? As always, what goes in and what goes out?

Read More

Parnas was right, and I was wrong. I am now convinced that information hiding, today often embodied in object-oriented programming, is the only way of raising the level of software design.

What We Talk About When We Talk About Modularity

This is the second of three articles discussing modularity patterns in Ruby. In this article we will look at how modularity helps us manage complexity.

Read More

when every node in your system can talk to any other Metcalfe's Law becomes Metcalfe's Curse regardless of code quality

Complexity is the Thing

This is the first of three articles discussing modularity patterns in Ruby. In this article we will start by defining the problem modularity is trying to solve.

Read More