Interview with Barry O'Reilly


Interview with Barry O'Reilly

Welcome to the first edition of our new interview series at Dear Architects, where we explore the minds of leading architects to uncover their experiences, philosophies, and visions for the future of software architecture.

To kick things off, we had the privilege of speaking with Barry O'Reilly. With a career spanning Chief Architect roles at Microsoft, serving as a startup CTO, and leading global architecture communities, Barry brings a wealth of knowledge and practical insight to the table. His work in complexity science and software design has influenced countless professionals, and his books "Residues: Time, Change, and Uncertainty in Software Architecture" and "The Architect's Paradox" are must-reads for those navigating the evolving landscape of modern architecture.

Where to find him:


What inspired you to become an architect?

Right from my first programming jobs I noticed a tendency to try and think a few steps ahead - is this going to hold? Is it going to be able to change? I had some really good mentors who encouraged this and I just found it natural to think along these lines. My first degree was in Pure Mathematics so I had no CS preconceptions, I taught myself how to build systems and saw code as a tool, for a good few years I had no idea that my approach roughly aligned to what we call architecture.


Was there a defining moment or project early in your career that shaped your approach?

Very early in my career I got the chance to be a part of something really big, a huge, greenfield, multi-agency integration project. The team was small and when one architect became ill I got the chance to play with much bigger toys than I should have been allowed to. I learned distributed systems really well because of this, building them in raw code from first principles. This set the stage and made everything easier after that.


How would you describe your architectural philosophy in a sentence?

I've written whole book on this going back to the pre-Socratics so one sentence is a challenge!

I'll use a quote from Logan Roy in the show Succession

Nothing is a line. Everything, everywhere, is always moving, forever. Get used to it


Can you walk us through how you approach a new design project, from concept to completion?

What I teach is that no project is ever the same twice. The first things an architect needs to do is to get a grip on the market, the culture, the competitors, the budget, and the possibilities and beliefs of those involved. I push to arrive at a basic naive architecture as soon as possible - something that I can start to mould.
From there I constantly try to get my model of the world around the project to collapse, trying to figure out what possibilities exist in the context and how the architecture would survive in them. This process generally gives a very resilient and stable architecture, but it requires a lot of practice to get this right. Most developers rely on patterns and don't develop the muscle to stress an architecture from the business context - this is a central part of my approach. The architecture emerges in response to model stress and this produces resilient structures. Once the architecture shows signs of being able to withstand unspecified conditions with only minor changes I know I am on the right path. This approach has its roots in the fusing of software engineering and complexity science.

It took about ten years but I can now express the process scientifically and measure it as it progresses - this was the subject of my first book "Residues - Time, Change, and Uncertainty in Software Architecture".


What’s the biggest challenge you’ve faced in a project, and how did you overcome it?

A huge part of my career has been spent rescuing crashing projects. The biggest challenges are always political, the technical stuff is always pretty straight forward. Trying to convince large, dysfunctional teams to change direction when something obviously isn't working is incredibly difficult, because they have to admit responsibility for the original choices before they can change direction.

After many attempts to get this right I discovered that taking the teams offsite, forgetting about the actual project, and teaching them how to architect from the ground up allowed them to return to the project and see the problems for themselves, which made the solution their idea and was much easier to get moving. This has become my go-to approach for troubled projects now.

How do you balance creativity with practicality in large-scale projects?

My approach puts creativity at the very centre of architecture - using your imagination to define model stress. The empirical approach of residuality makes sure that I am constantly measuring and adjusting towards the practical solution. Architecture can be fun!


What inspires you most in your work as an architect?

I'm mostly driven by ideas. I love working with conceptual structures and getting at the underlying philosophy, understanding how and why architects really think. I think I'm really lazy and most of my career has been about expressing my work in the simplest possible way and stripping away unnecessary ceremony.

On the other hand, I've had the opportunity to work on some big products, but I get the most buzz out of bending software to solve actual problems in the real world companies.


Who or what has had the biggest influence on your thinking and approach to architecture?

There's so many. The work of the complexity scientist Stuart Kauffman, the philosophers Gilles Deleuze and Henri Bergson who helped me to understand how to work in a world of flux. Alan Kay's mixing of computer science with philosophy, people like Gregor Hophe and Thomas Erl who led the way in service orientation and integration.


What trends do you think will define the next decade in architecture?

I don't think anyone knows! My feeling is that there will be a number of huge things that impact us. The first will be the bursting of the AI bubble. The second will be a growing general public disdain for tech, driven by over promising and current political trends. The third will be the evolution of cloud and the realization of the fairly shoddy state of most software today. This will create a renewed focus on quality and architecture will rise in status, but we still won't have a clue how to teach it or make architects. Thus I'm hopeful that all this flux will make the next decade the one where we finally figure out who we are.


How AI is shaping modern architectural design?

I have a talk on this called "Unstable Diffusion" where I claim that the impact of AI on design won't be asking an LLM what to do, but instead the changes that AI will bring to how we think as designers! Learning AI properly exposes an architect to ideas like randomness, simulation, noising/denoising, training and testing sets, examples of which you'll find in my work. Instead of using AI tools to do architecture, we'll use AI ideas to change how we think about and solve problems.


What advice would you give to young architects just starting their careers?

The most important thing you can do is learn to think for yourself. Avoid becoming a parrot who simply repeats industry cliches, work from first principles. Don't accept industry silver bullets, learn distributed systems, basic computer science, and complexity science from the foundations. Always reflect on the work you do and how it fits into the theoretical understanding you've built up. You will never be finished learning. It's meant to be chaos - enjoy it!


If you could go back and give your younger self one piece of advice, what would it be?

In the long run, when you look back over the decades, you'll always be glad you chose integrity over convenience - it will be your proudest achievement.


What do you think about Dear Architects?

I love that it exists! I think the profession lacks a coherent voice right now and this movement is really great.



Barry is a veteran Architect who has held Chief Architect positions at Microsoft among others. He has also been a startup CTO, the Worldwide Lead for the Solutions Architecture Community at Microsoft, and founder of the Swedish Azure User Group. He is also a PhD candidate in software design and complexity science. He is the author of "Residues: Time, Change, and Uncertainty in Software Architecture" and "The Architect's Paradox"