Skip to main content

6 posts tagged with "architecture"

View All Tags

When Code Gets Cheap, Coherence Gets Expensive

· 17 min read
Pere Pages
Software Engineer
An architect's desk seen from above, lit by a single lamp. Dozens of small, perfectly cut building blocks are stacked in neat piles along the edges, while in the centre a single hand-drawn plan of the whole structure is only half finished, pencil still resting on it.

The plugin built, packaged and published on the first try. I could not have explained the packaging step to anyone, and I shipped it anyway. After several months of building games, static sites, libraries and plugins with an artificial intelligence (AI) assistant doing most of the typing, that sentence is the whole story: producing code stopped being the hard part, and something else moved into its place.

Skimming AI-Written Code Is a Bet: Review the Structure, Not the Diff

· 17 min read
Pere Pages
Software Engineer
A small figure inspects a single glowing brick through a large magnifying glass while the whole brick tower above leans badly out of true; an architectural blueprint lies unrolled and ignored under their feet

When a coding agent writes most of the code, reading every diff stops being realistic, and "reading diagonally" — skimming — becomes the default. It is a real bet, not a safe one: architecture doesn't break in any single diff, it erodes across all of them, and skimming checks exactly the part that was never the problem.

Fundamentals of Modular Architecture

· 5 min read
Pere Pages
Software Engineer
Architect

In software development, managing dependencies and state is crucial for ensuring deterministic behavior: for any given input, we aim for a consistent output (This is a key reason behind the growing hype for functional programming, as it emphasizes immutability and stateless functions, simplifying the management of dependencies and state). However, as the number of inputs and modules increases, so does the complexity of handling them, potentially leading to a higher risk of bugs—unintended outcomes. To mitigate this, it's essential to minimize and manage dependencies effectively, acknowledging that they can introduce similar challenges by increasing system interconnectedness and potential failure points.