Writing on software development, good practices, and the software industry.

All of my long-form thoughts on programming, leadership and more, collected in chronological order

The leader that AI agents need

Agentic systems don't fail because of the model — they fail because nobody designed the coordination. Good leadership principles apply to AI agents too.

Why traditional companies fail at AI adoption

Traditional companies keep operating with obsolete work models. They evaluate employees by what they know instead of what they can produce with the tools they master.

Integrity over demos: building trust in tech

A fake demo isn't just technical debt — it's trust debt. You can show vision without deceiving, and honesty is what will speak for you in the long run.

State machines and ReactJS

How to use state machines in React JS applications with XState. It covers the steps to define a state machine using XState, create a state machine instance with the useMachine hook from the @xstate/react package, and render the state machine. The article also discusses the advantages of using state machines with XState, including their declarative, composable, testable, and scalable nature.

The path to high quality software

Maybe the value of creating software lies in providing solutions to complex problems, maybe in providing value. No matter the answer, it is better if we do it in a simple, team-based and scalable way.