Writings and ramblings

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.

For the past two decades, the software industry has been marching in two directions at the same time. Hardware gravitated toward parallelism. We hit the limits of Moore’s law and CPUs stopped getting dramatically faster per core and, to compensate for this, started adding more cores instead. Four cores became eight. Eight became sixteen. Software, naturally,

Planning is the deliberate act of deciding what matters, what comes first, and what can wait. Most failed software projects do not fail because the team lacked talent. They fail because they lacked a plan.

Flowcharts matter now more than ever before.

Microservices are often presented as an inevitable evolution of software architecture. The rationale goes something like this: once your codebase reaches a certain age or size, gravity itself pulls you toward service boundaries, containers, and a mesh of APIs because that’s the only way for to survive. Monoliths, they say, are the past. Microservices are

Artificial intelligence, particularly large language models (LLMs), is routinely described as cutting edge technology. The term is used so often that it has almost lost its meaning. Any product, workflow, or company that includes an LLM is assumed to be modern by definition, regardless of what it actually produces, or whether it produces anything at all.

There was a time when software respected the machine it ran on. Developers measured memory in kilobytes, not because they were nostalgic minimalists, but because they had no choice. Code was written with intent, because waste meant failure. Now, that discipline is gone, replaced by the assumption that users will simply have more RAM. Open

For aspiring developers and juniors entering the field, this moment in time is pivotal. You’re being told you can build apps faster than ever, launch startups in a weekend, learn “just enough” programming to glue AI tools together. But if you skip learning how software actually works, you’re not speeding up your career. You’re quietly