Skip to main content

13 posts tagged with "practices"

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.

Bridging Humans and AI through Precision Communication

· 12 min read
Pere Pages
Software Engineer
Architect

This article explores the growing significance of linguistic precision and thorough understanding of foundational knowledge in the context of AI and software development, highlighting the historical importance of clear communication in the field and the relevance of Agile methodologies in the AI era. It also outlines the skills needed to effectively work with AI and navigate the evolving landscape of web development and other tech-related fields.

Slack by Tom DeMarco

· 7 min read
Pere Pages
Software Engineer
slack book

Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency by Tom DeMarco is a well-regarded book in the field of management and organizational behavior first published in 2001.

DeMarco challenges the conventional wisdom that companies must maximize efficiency at all costs. He argues that an obsession with efficiency can lead to a work environment that lacks the slack necessary for innovation, flexibility, and the maintenance of employee well-being.

slack

The book advocates for creating slack within organizations to allow for recovery, learning, and innovation. DeMarco suggests that by allowing some degree of slack, organizations can improve their adaptability, employee satisfaction, and ultimately, their long-term performance.

"Slack" is not just a critique of the relentless pursuit of efficiency but also a practical guide to creating a more humane and effective workplace. It's a must-read for managers and leaders who want to foster an environment where innovation and creativity can thrive, without sacrificing the well-being of their employees.

Tree shaking, an example with barrels

· 5 min read
Pere Pages
Software Engineer
Tree shake
Tree shaking

Tree shaking is a term used in the context of web development, particularly with JavaScript and modern front-end build tools, to describe the process of removing unused code from your final bundle. It's like shaking a tree to let the dead leaves (unused code) fall off, so you end up with a lighter, more efficient bundle that only includes the code that's actually used in your application.

This concept became particularly relevant with the rise of module bundlers like Webpack, Rollup, and tools like Parcel, which analyze your import and export statements to determine which parts of a module are used by your application. If a function, class, or variable from a module is never used, the bundler can exclude it from the output bundle, reducing the size of your application and improving load times for your users.