Michael Carducci spent years learning to see things as they actually are; first as a magician, then as a software architect, now as both simultaneously. And somehow that’s not even the whole story.
He’s the author of Mastering Software Architecture (Apress, 2025) and is currently writing The Semantic Layer (Packt, 2026). He has spent over 25 years following interesting problems; through roles from individual contributor to CTO and back again, across industries and continents.
As a speaker, he applies the same toolkit he uses in close-up magic: attention, misdirection, timing, storytelling, and the instinct to take the long way around when that’s where the truth lives. Audiences at hundreds of conferences across four continents have described his talks as the kind that change how you think about a problem rather than just what you know about it.
He also makes YouTube videos about technology and curiosity with his wife Kate, because some ideas are too important (or too interesting!) to leave only in conference rooms.
Agile has become an overused and overloaded buzzword, let's go back to first principles. Agile is the 12 principles. Agile is founded on fast feedback and embraces change. Agile is about making the right decisions at the right time while constantly learning and growing. Architecture, on the other hand, seems to be the opposite. Once famously described by Grady Booch as "the stuff that's hard to change" there is overwhelming pressure to get architecture "right" early on as the ultimate necessary rework will be costly at best, and fatal at worst. But too much complexity, too early, can be just as costly or fatal. A truly practical approach to agile architecture is long overdue.
Integration, once a luxury, is now a necessity. Doing this well, however, continues to be elusive. Early attempts to build better distributed systems such as DCOM, CORBA, and SOAP were widely regarded as failures. Today the focus is on REST, RPC, and graphql style APIs. Which is best? The goto answer for architects is, of course, "it depends."
Since ChatGPT rocketed the potential of generative AI into the collective consciousness there has been a race to add AI to _everything_. Every product owner has been salivating at the possibility of new AIPowered features. Every marketing department is chomping at the bit to add a "powered by AI" sticker to the website. For the average layperson playing with ChatGPT's conversational interface, it seems easy however integrating these tools securely, reliably, and in a costeffective manner requires much more than simply adding a chat interface. Moreover, getting consistent results from a chat interface is more than an art than a science. Ultimately, the chat interface is a nice gimmick to show off capabilities, but serious integration of these tools into most applications requires a more thoughtful approach.
Since ChatGPT rocketed the potential of generative AI into the collective consciousness there has been a race to add AI to _everything_. Every product owner has been salivating at the possibility of new AIPowered features. Every marketing department is chomping at the bit to add a "powered by AI" sticker to the website. For the average layperson playing with ChatGPT's conversational interface, it seems easy however integrating these tools securely, reliably, and in a costeffective manner requires much more than simply adding a chat interface. Moreover, getting consistent results from a chat interface is more than an art than a science. Ultimately, the chat interface is a nice gimmick to show off capabilities, but serious integration of these tools into most applications requires a more thoughtful approach.
Architecture is often described as "the stuff that's hard to change" or "the important stuff (whatever that is)." At its core, architecture defines the very essence of software, transcending mere features and functions to encompass vital capabilities such as scalability, evolvability, elasticity, and reliability. But here's the real question: where do these critical capabilities truly originate? In this keynote, we'll embark on a journey to uncover the secrets behind successful architectures. While popular architecture patterns may offer a starting point, it's time to unveil the startling truth – both monolith and microservicesbased projects continue to stumble and falter at alarming rates. The key to unparalleled success lies in the art of finetuning and tailormaking architectures to precisely fit the unique needs of your organization, environment, and the teams delivering the software.
In 2017, an organization known as The Semantic Arts published their "[datacentric manifesto](http://www.datacentricmanifesto.org/)" leading with this paragraph. > "We have uncovered a root cause of the messy state of Information Architecture in large institutions and on the web today. It is the prevailing applicationcentric mindset that gives applications priority over data. The remedy is to flip this on its head. **Data is the center of the universe; applications are ephemeral.**" While the vision and ideas of this manifesto are compelling, implementation details are scarce leaving the potential out of reach of many busy developers and architects.
In the rapidly evolving field of software architecture, the difference between theory and practice has never been more pronounced. Despite a wealth of knowledge, architects and systems designers face an alarming rate of project failures, underscoring the need for a more nuanced approach to architecture and system design. We invite you to embark on a transformative threeday journey with this upcoming “Holistic Software Architecture masterclass,” designed for those ready to significantly enhance their effectiveness in the realm of software architecture, leadership, and system design. This workshop transcends traditional patterns and fragmented methodologies, focusing instead on a holistic strategy that addresses the specific needs of complex software problems. We delve into the core of software architecture, moving beyond the surfacelevel patterns and technologies to explore the hidden and external factors that influence project success. The piecemeal, statusquo of software architecture methodologies are unified into a new, holistic approach with the TailorMade software architecture model.
“Humans became behaviourally modern the moment they committed to **storing abstract information outside their brains.**” —Lyn Wadley As architects, we often bridge the gaps that exist between all of the teams and stakeholders involved in the success or failure of a system. Because of this, information is hitting us from every direction. How we capture, organize, distill, and express this information is critical to our own success or failure.
_"What you must learn is that these rules are no different than the rules of a computer system. Some of them can be bent. Others can be broken. " _ _-Morpheus_ The world of technology seems logical, objective, and to operate by consistent rules. Reality can be illogical, subjective, and even random at times. Yet we accept subjective reality as-is; our single perspective is all we can really know. In the end, reality constrains engineers and magicians reshape reality. Perhaps reality is not what it seems.