Welcome to Sufficiently-Advanced Technology!

An old-school blog where I write with uneven frequency on whatever seems interesting or important to me at any given time. Typically these subjects tend to center around:

But anything is really fair game here. If you wish to subscribe to updates, I publish an atom feed for use in your favourite reader app or you can follow me on mastodon. I speak at a number of conferences, my speaking schedule is maintained over here. I also host live Software Architecture Workshops and do occassional private training, speaking, and consulting gigs.

Thanks for stopping by my little corner of the web.

Recent Posts

Musings on Tech Debt

An antique credit card machine producing a credit slip for

My friend, mentor, and former boss, Robert Harris, recently posted about a novel approach he takes to making tech debt more tangible; he makes people fill out a credit slip whenever they take on tech debt. It’s worth reading his post (and giving him a follow).

As always, I have some thoughts on this topic…

Continue reading...

A Practical Path to AI Agentic Systems (Part II)

An AI Generated image vaguely depicting a central AI orchestrating multiple systems and people

In Part I we explored the idea of AI agentic systems, current paths being explored, and the roadblocks present in those paths. If the API-driven approach is “too hard” and the browser-driven approach is “too soft” does there exist an approach that is “just right?”

Continue reading...

A Practical Path to AI Agentic Systems (Part I)

An AI Generated image vaguely depicting a central AI orchestrating multiple systems and people

I’ve been designing and building data-driven & machine learning-enabled applications, on and off, for roughly 15 years. Although I was fortunate to have access to GPT3 about a year ahead of the mainstream, I was wholly unprepared for the wide-reaching impact of this technology. The introduction of ChatGPT in late 2022 brought into sharp focus just how impressive the current generation of large language models have become. The sheer breadth of zero-shot capabilities demonstrated by a single model has everyone’s minds racing. There is obviously immense power here, but how do we harness it to realize its true value and potential? That is the trillion-dollar question.

One of the most compelling visions for humanity’s next steps with AI is creating autonomous agents; AI systems that can do more than summarize text and provide plausible, information-shaped responses to our prompts. These are AI systems that can interact with other systems or the physical world. Although a great deal of R&D is underway as I write this, I’m shocked that one of the most promising solutions to the conundrum of how to achieve such agentic systems continues to fly under the radar…

Continue reading...

Book Announcement

A portion of the cover art of Michael's upcoming book, Mastering Software Architecture

Welp, the final draft of my book, Mastering Software Architecture has been turned into the publisher. It is the culmination of nearly two years of active writing (~800 hours), countless hours of research, 156 citations, and 25+ years in industry.

Rather than write yet-another distillation of the current state of practice, I have tried to dramatically improve it. The model introduced in this work unifies our fragmented models in a way that solves real problems once thought by many to be intractable.

I’m proud of the result.

Continue reading...

You are more than a label

GoPro capture of Michael and friends jumping out of a helicopter

You can be more than a label, or category. In fact, the breadth of your knowledge and experience is your superpower in whatever field you work.

Being a magician made me a better technologist, and my experience in the tech world made me a better magician.

Continue reading...

Six Secrets to Success with Microservices

A timeline of the history of architecture design by constraint

Microservices architecture has become a buzzword in the tech industry, promising unparalleled agility, scalability, and resilience. Yet, according to Gartner, more than 90% of organizations attempting to adopt microservices will fail. How can you ensure you’re part of the successful 10%?

Continue reading...

Mastering Software Architecture

A timeline of the history of architecture design by constraint

I haven’t posted much this year as I have spent the majority of my writing time working on my upcoming book, Mastering Software Architecture. I want to share an excerpt in the form of the preface to the book which describes its goals and approach. If this resonates, you can pre-order using the link above or sign-up here for updates and more.

Continue reading...

Magic & Flight Delays

An airport departures board showing the overwhelming majority of flights in a delayed status. Photo credit LT Chan https://www.pexels.com/photo/flight-schedule-screen-turned-on-2833379/

We can’t always control what happens to us, but we get to choose how we respond.

Last night I was flying home from a show and my flight was MASSIVELY delayed (and eventually cancelled). It was frustrating. I had been on the road 12 days out of the last 15, I missed my wife, and I desperately wanted to sleep in my own bed.

I could have vented my anger at a gate-agent who has no more control over the situation than I did. I could have wandered to a bar to drown my sorrows… But instead, I decided to stage an impromptu show for my fellow stranded passengers.

Continue reading...

The Rise and Fall of Software Architecture

A parody image of microservices architecture depicting a large mess, a distributed big ball of mud, and an illustration of the perils of over engineering

I’m currently in Budapest, HU speaking at and attending a conference. Although the attendees are smart and passionate, the speakers have many valuable things to say, I see the continuation of an alarming trend in the tech industry: The sessions that promise simple answers are wildly popular while the sessions that offer insights on how to improve our thinking and mental models are are relatively sparsely attended. This culture of “don’t make me think, just give me the answers” is crippling our industry.

Continue reading...

Hurdles of Innovation

A non-artistic of a person holding an idea and a plan while facing high hurdles.

If you’re reading this there is a better than average chance that you either are an innovator or will be soon. People who regularly attend conferences, read widely, and follow obscure and longwinded blogs tend to skew venturesome; active information-seekers with diverse social groups and information sources, possess breadth of knowledge, are more willing to explore and adopt new ideas, and are able to cope with higher levels of uncertainty. If you are an innovator then, according to current research, you are part of a vanishingly small demographic that makes up just 2.5% of the total population. The unique cognitive and social diversity of this group offers perspective and insight into ideas, opportunities, possibilities, and solutions ahead of the mainstream.

Perhaps you see the solution to a problem right now. Congratulations, you have an idea–an innovation–that just might make a material difference in the lives of a lot of people. How do you get the other 97.5% of the population to adopt your solution? Will your innovation take off by itself on the merits of its benefits? Unlikely. If the best ideas always won, I wouldn’t be writing this. Even when the idea or innovation has clear and obvious advantages, skeptics must be won over. Old, entrenched habits must be abandoned. Innovations must be evaluated, explored and increasingly accepted until they reach critical mass (only then will they take off). This process can take years or may never succeed at all. Your efficacy as an innovator depends on your ability to optimize and streamline this process, influence your peers, and ultimately effect change in the real world. There is an art–and a science–to the diffusion of innovations.

Continue reading...