My Blog

All of my thoughts, experiments, and learnings on programming, system design, strategy, leadership, product design, and more.

Working with AI

How to get real value out of LLMs without fooling yourself.

Most Software Products are Over-Engineered

The consequences of over-engineering in software development, including unnecessary use cases, premature maintenance planning, misalignment with user requirements, and strategies to prevent it.