Writings and ramblings

Senior software developers face pressure to rely on AI for coding, risking the erosion of vital programming skills. While AI can generate code, understanding its implications remains crucial. Developers must continue coding to maintain their knowledge and intuition, ensuring they can address complex issues that AI alone cannot resolve.

The AI industry’s scaling strategy has two hidden assumptions: that useful human information is effectively infinite, and that producing information faster is equivalent to producing more value. Neither assumption is true.

The article discusses the placebo effect of AI adoption, highlighting behavioral changes rather than genuine productivity improvements in organizations.

Most users will never fully learn your system, read your documentation, or internalize your intended workflow. They will instead discover whatever path minimizes friction, uncertainty and cognitive effort. These unofficial workflows – the software equivalent of desire paths across a lawn – are not evidence of user failure but direct feedback about how the system…

There is something deeply satisfying about a system that simply answers immediately. You click a button, something happens.You ask for data, it gives data. Cause and effect. Modern software architecture increasingly treats this as naive. Instead, systems are often built around queues from the beginning. Every action becomes an event, every event enters a broker,…

Software systems continuously evolve and absorb new requirements, which can lead to chaotic behavior (entropy). To maintain coherence, intentional design, containment strategies, and ongoing management are essential for healthy growth.

There is a quiet shift happening in programming. It’s the subtle thinning of craftsmanship. Tools are more powerful than ever, the barriers to entry lower than ever, and yet, paradoxically, the depth of understanding behind much of today’s software is disappearing. It feels less like progress and more like the early stages of a decline:…

Spreadsheets are among the most productive tools ever created. You can take a vague idea, and within minutes have something that resembles a working model. Same goes for LLMs. And both tools become problematic when people quietly start treating the prototype as the final system.