Software design
Commercial software development is not about blindly executing specifications. True innovation comes from building systems that evolve - software designed to adapt as markets, technologies, and business models change.
No architecture survives unchanged for years - but evolutionary design lets your system bend without breaking. The challenge is not stability, it’s resilience under continuous transformation. Innovators embrace this uncertainty; they design for it.
Team leadership
I prefer leadership over management. Teams that think for themselves, take ownership, and become self-managing are unstoppable - but they need guidance from someone who can inspire and challenge them.
Leadership is not just authority - it’s a combination of skills, decisiveness, and principles that makes people want to follow you into uncharted territory.
Organizational structure
Ask yourself: what is your company truly optimized for? Middle management and bureaucracy may feel safe, but they slow down innovation.
Identify the constraints that limit creativity and speed. Align your organization to maximize value creation, and you’ll see happier employees, faster product delivery, and satisfied customers - all while staying ahead of competitors.
Software development strategy
There’s a huge difference between a quick minimum viable product (MVP) and software that you intend to maintain, scale, and sell for years. Short-term experimentation is one thing; long-term innovation is another.
Launching software for 10 users is not the same as scaling for 10,000. Finding product-market fit is different from maintaining a mature system. Innovators understand these distinctions and design their development stages to accommodate both rapid iteration and sustainable growth.